一、修改软件包
1.下载package.src.RPM源码包,并且执行以下命令解压:
rpm -Uvh package.src.rpm
2.执行
rpmbuild -bp pkg-name.spec
源码存放到~/rpmbuild/BUILD目录下
3.对源码进行修改,使用git打上补丁
4.修改SPEC 文件,写上changelog
二、本地编译
1.执行以下命令,安装该软件包依赖
yum-builddep pkg-name.spec
注意:当是在mock环境进行编译时,执行
yum-builddep --installroot=/var/lib/mock/<tag-name>/root/ root/rpmbuild/SPECS/pkg-name.spec
2.执行以下命令编译该软件包
rpmbuild -ba pkg-name.spec
3.检查编译后的软件包(kb号、changelog等)
三、加入Git仓库
1.在gitlab主仓库fork该软件的仓库
2.执行以下命令克隆该仓库
kpkg clone -b <branch-name> <srpm-name>
3.软件包导入仓库,执行
kpkg import srpm-pkg-name
4.提交Merge合并请求,等待审核通过
kpkg push
四、Koji编译
1.在koji客户端将包添加到tag中
koji add-pkg --owner xxx <tag-name> <pkg-name>
2.获取Git仓库哈希值
3.利用koji build命令提交koji编译,例如
koji build <tag-name> git+ssh://git@192.168.120.51/git/rpms/xmlstarlet.git?#2461e877a3a6417bfc8968e1cbd6864db088f9c9
五、使用mock时注意
1.不要使用root用户,会报错,对普通用户要加入mock组
useradd mockbuild
usermod -a -G mock mockbuild
su - mockbuild(重要)
2.初始化mock环境
mock -r xx_config_file_name --init
网友评论