码迷,mamicode.com
首页 > 其他好文 > 详细

简单 RPM 包制作

时间:2015-02-12 14:03:19      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:

本文链接:http://blog.csdn.net/kongxx/article/details/43761295

今天为了测试搭建自己的yum仓库并安装升级软件包,因此需要一个rpm包来做测试,所以就想到了自己来做一个最简单rpm,因为仅仅就是做一个测试所以没有添加需要编译的文件,而是只使用了一个shell文件来输出可爱的Hello World。


1. 首先需要下载安装rpm包制作工具
$ sudo yum install -y rpm-build rpmdevtools

2. 运行 rpmdev-setuptree 来生成一个 rpm 包的骨架目录
$ rpmdev-setuptree
rpmdev-setuptree命令默认将再当前用户的根目录下创建一个RPM构建根目录结构 ~/rpmbuild/  

3. 生成源代码包
mkdir -p ~/rpmbuild/SOURCES/helloworld-1.0.0
touch ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
chmod 755 ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
echo "#!/bin/sh" >> ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
echo "echo Hello World!" >> ~/rpmbuild/SOURCES/helloworld-1.0.0/helloworld
cd ~/rpmbuild/SOURCES; tar zcvf helloworld-1.0.0.tar.gz helloworld-1.0.0

4. 在 ~/rpmbuild/SPECS 目录下用 rpmdev-newspec 来生成一个 spec 骨架文件
$ rpmdev-newspec  helloworld.spec

编辑 helloworld.spec 文件,内容如下
Name:           helloworld
Version:        1.0.0
Release:        1%{?dist}
Summary:        helloworld


Group:          Development/Tools
License:        GPL
#URL:            
Source0:        %{name}-%{version}.tar.gz


#BuildRequires:  
#Requires:       


%description




%prep
%setup -q


%build
mkdir -p $RPM_BUILD_ROOT/usr/bin
cp $RPM_BUILD_DIR/%{name}-%{version}/helloworld $RPM_BUILD_ROOT/usr/bin/


%install




%clean
rm -rf $RPM_BUILD_ROOT




%files
%defattr(-,root,root,-)
%doc
/usr/bin/helloworld


%changelog

5. 打包
rpmbuild -ba SPECS/helloworld.spec

6. 测试
6.1 安装测试
sudo yum install ~/rpmbuild/RPMS/x86_64/helloworld-1.0.0-1.el6.x86_64.rpm

6.2 升级测试
修改 helloworld.spec 文件,将其中 Release 修改为
Release:        2%{?dist}
然后运行 "rpmbuild -ba SPECS/helloworld.spec" 打包

最后运行使用下面的命令来升级 rpm 包
sudo yum update ~/rpmbuild/RPMS/x86_64/helloworld-1.0.0-2.el6.x86_64.rpm



简单 RPM 包制作

标签:

原文地址:http://blog.csdn.net/kongxx/article/details/43761295

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!