rpm包制作实例

文件目录结构

└── 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 zxg
passwd zxg
su 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.1
Release:    1
Summary:    for vmware port bindint

Group:      TESTGROUP
License:    GPL 
Source0:    %{name}-%{version}.tar.gz


%define _unpackaged_files_terminate_build 0

%description
This 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/system
mkdir -p ${RPM_BUILD_ROOT}/usr/bin
mkdir -p ${RPM_BUILD_ROOT}/usr/lib/python2.7/site-packages/neutron/agent
mkdir -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.service

cp %{_builddir}/%{name}-%{version}/usr/lib/systemd/system/neutron-vmware-ovs-agent.service ${RPM_BUILD_ROOT}/usr/lib/systemd/system/neutron-vmware-ovs-agent.service
cp %{_builddir}/%{name}-%{version}/usr/bin/neutron-vmware-ovs-agent ${RPM_BUILD_ROOT}/usr/bin/neutron-vmware-ovs-agent
cp %{_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.py

chmod a+x ${RPM_BUILD_ROOT}/usr/bin/neutron-vmware-ovs-agent

%clean
rm -rf %{buildroot}

%post
systemctl 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

%preun
systemctl stop neutron-vmware-ovs-agent.service

%postun
systemctl 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值