这两天位公司添加了产品的基础编译的二进制包,记录过程如下:
说实话,suse新版本的obs改动还是蛮多的,很多地方都不一样了。
在添加新的repositories的时候,要注意x86_64平台i386与x86_64平台的同样的包,包名不能一致,添加后还要在project config中添加prefer选项,用来做编译的优先支持。
添加后出现了无法删除的问题,后来发现是由于删除需要一个delete的中间project。并且这个project需要给每个obs用户以权限,这样才可以支持undel的操作。
下面说一下具体的操作步骤:
1 osc meta prj -e your-project-name
2 sudo mkdir your-project-name (in /srv/obs/build/)
3 sudo mkdir /srv/obs/build/your-project-name/standard/{i686,x86_64}/:full -p
4 sudo chown -R obsrun:obsrun ./your-project-name
5 osc meta -e prj dest-project(for the dest project use)
6 注意添加有要对添加的库进行rescan操作:
sudo /usr/lib/obs/server/bs_admin --rescan-repository <your-project> <repository> <arch>
备注:
再来写一个,rpm相关的几个工具:
1、rpmrebuild支持在已安装的环境中重新打包所需要的rpm包
改名操作rpmrebuild --change-spec-preamble='sed -e "s/^Name:.*/Name: your-package/"' your package
2、对binary rpm的临时解开操作
rpm2cpio file.rpm | cpio -id 解压到当前文件夹内
rpm2cpio file.rpm | cpio --extract --make-directories -