rpm包制作实例

来源:互联网 发布:送男生什么礼物知乎 编辑:程序博客网 时间:2024/05/20 07:53

文件目录结构

└── neutron-vmware-ovs-agent-1.1    └── usr        ├── bin        │   └── neutron-vmware-ovs-agent        └── lib            ├── python2.7            │   └── site-packages            │       └── neutron            │           └── agent            │               └── vmware_ovs_agent.py            └── systemd                └── system                    └── neutron-vmware-ovs-agent.service

一、安装rpmbuild工具

yum install rpm-build

二、创建普通用户并切换到普通用户

useradd zxgpasswd zxgsu zxg

三、创建rmpbuild工作目录结构

mkdir -p /home/zxg/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

四、将以下agent.spec放置在/home/zxg/rpmbuild/SPECS目录下

Name:   neutron-vmware-ovs-agent    Version:    1.1Release:    1Summary:    for vmware port bindintGroup:      TESTGROUPLicense:    GPL Source0:    %{name}-%{version}.tar.gz%define _unpackaged_files_terminate_build 0%descriptionThis package will make a fake ovs agent which runs on vmware platform to bind ports of vms.%prep%setup -n %{name}-%{version}%install#make install DESTDIR=%{buildroot}mkdir -p ${RPM_BUILD_ROOT}/usr/lib/systemd/systemmkdir -p ${RPM_BUILD_ROOT}/usr/binmkdir -p ${RPM_BUILD_ROOT}/usr/lib/python2.7/site-packages/neutron/agentmkdir -p ${RPM_BUILD_ROOT}/etc/systemd/system/multi-user.target.wants/ln -s /usr/lib/systemd/system/neutron-vmware-ovs-agent.service ${RPM_BUILD_ROOT}/etc/systemd/system/multi-user.target.wants/neutron-vmware-ovs-agent.servicecp %{_builddir}/%{name}-%{version}/usr/lib/systemd/system/neutron-vmware-ovs-agent.service ${RPM_BUILD_ROOT}/usr/lib/systemd/system/neutron-vmware-ovs-agent.servicecp %{_builddir}/%{name}-%{version}/usr/bin/neutron-vmware-ovs-agent ${RPM_BUILD_ROOT}/usr/bin/neutron-vmware-ovs-agentcp %{_builddir}/%{name}-%{version}/usr/lib/python2.7/site-packages/neutron/agent/vmware_ovs_agent.py ${RPM_BUILD_ROOT}/usr/lib/python2.7/site-packages/neutron/agent/vmware_ovs_agent.pychmod a+x ${RPM_BUILD_ROOT}/usr/bin/neutron-vmware-ovs-agent%cleanrm -rf %{buildroot}%postsystemctl start neutron-vmware-ovs-agent.service%files/etc/systemd/system/multi-user.target.wants/neutron-vmware-ovs-agent.service/usr/bin/neutron-vmware-ovs-agent/usr/lib/systemd/system/neutron-vmware-ovs-agent.service/usr/lib/python2.7/site-packages/neutron/agent/vmware_ovs_agent.py%preunsystemctl stop neutron-vmware-ovs-agent.service%postunsystemctl daemon-reload

五、将neutron-vmware-ovs-agent-1.1压缩成tar.gz包并放置到/home/zxg/rpmbuild/SOURCES/目录下

tar -cvzpf neutron-vmware-ovs-agent-1.1.tar.gz neutron-vmware-ovs-agent-1.1/mv neutron-vmware-ovs-agent-1.1 /home/zxg/rpmbuild/SOURCES/

六、进入/home/zxg/rpmbuild/SPECS/目录,编译rpm包

rpmbuild -bb agent.spec
原创粉丝点击