- 论坛徽章:
- 0
|
很好的网站:
http://www.rpath.org
在上面注册一个账号,之后就可以创建自己的发行版了,
点击create product,输入一系列信息,然后可以在create package里,上传自己制作的软件包
开始做了一个最简单的helloworld.c,用autoconf和automake生成标准的automake文件,压缩
后上传,使用默认的recipe,总出莫名其妙的错误,比如依赖关系无法解决等等,用rBO的新版
UI还是那样,上传的包在编译后显示红色的X,后来用网站上给的例子,在自己本机的VMWARE里装了
一个rPath Linux,在里面用cvc创建软件包,发现还是不行,而网站上给的例子是goom2k4_0.tar.gz,
仔细对比了cvc cook *.recipe的输出后,发现问题出在make install的时候,我自己做的helloworld
默认将文件复制到/usr/share/bin下,但用cvc cook的时候是普通用户(root不能执行cvc cook),在
这里会发生权限错误,导致无法生产.ccs文件,从log里看到,goom在make install时都把文件安装到
/home/tfj/conary/builds/goom/_ROOT_/usr/bin...之类的目录下面,查看hello,发现也有
一个_ROOT_目录,这个目录是在Makefile.in里定义的DESTDIR,于是将hello里的Makefile.in里所有
创建/安装文件的目录都加上$(DESTDIR)前缀,就是$(DESTDIR)/usr/bin之类的,然后cvc cook就成功了。
在rpath linux里尝试成功后,将这个包传到rBO上,在build appliance时还是提示hello:runtime的依赖关系无法解决,但是在browse repository里能看到,hello是基于hello:runtime和hello:debuginfo两个组件的,而在package list里没有hello:runtime和hello:debuginfo这样的package,奇怪奇怪!
尝试不选hello包,从列表里随便选一个包,比如gvim,然后build appliance,成功!查gvim的recipe, 【未完待续,先发表,小心网断了。。。】
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/87077/showart_1918862.html |
|