ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux – 如何创建spec文件(RPM)

2019-08-25 22:52:25  阅读:307  来源: 互联网

标签:linux shell rpm


我有2个文件,包括要执行的shell命令,我有一个iptables-save,包括需要安装的链

如何将spec文件写入:

>将我的2个shell文件复制到/ etc /
> execute iptables-restore< /家庭/ iptables-save命令

P.S: I went through this how-to. Unfortunately I’m newbie in this, I
couldn’t find the solution.


解决方法:

不得不在昨天这样做.

在家中创建您的构建目录,因为普通用户不使用root,只需这样聪明.

mkdir -p ~/rpmbuild/BUILD
mkdir -p ~/rpmbuild/BUILDROOT
mkdir -p ~/rpmbuild/RPMS
mkdir -p ~/rpmbuild/SOURCES
mkdir -p ~/rpmbuild/SPECS
mkdir -p ~/rpmbuild/SRPMCS
mkdir -p ~/rpmbuild/tmp

接下来创建rpmmacros,以便rpmbuild知道构建的位置,〜/ .rpmmacros的内容应该
包含以下内容

%packager Chris Hinshaw
%_topdir /home/chinshaw/rpmbuild
%_tmppath /home/chinshaw/rpmbuild/tmp

接下来创建〜/ rpmbuild / SPECS /中的rpm规范.这个示例spec文件将处理一个名为demo脚本的脚本,它的配置文件等等,以及第三个cron脚本,它将安排脚本每小时运行一次.

〜/的rpmbuild / SPECS / demoproject.spec

Name:   demoproject     
Version:    0.1 
Release:    1%{?dist}
Summary:    Demo script for doing something cool

Group:  DemoGroup
License:    GPL
Source0:    demoproject-0.1.tar.gz
BuildRoot:  %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)


%description
Demo project that does something interesting

%prep
%setup -q


%build


%install
install --directory $RPM_BUILD_ROOT/usr/sbin
install --directory $RPM_BUILD_ROOT/etc
install --directory $RPM_BUILD_ROOT/etc/cron.d/

install -m 0755 demoscript $RPM_BUILD_ROOT/usr/sbin
install -m 0744 demoscript.conf $RPM_BUILD_ROOT/etc
install -m 0744 cron/democronscript $RPM_BUILD_ROOT/etc/cron.d/

%clean
rm -rf $RPM_BUILD_ROOT


%files
/usr/sbin/demoscript
/etc/demoscript.conf
/etc/cron.d/democronscript


%changelog

我发现的唯一的怪癖是我真的需要在tarball中压缩我的3个源文件,无论如何这似乎是一个好主意.

内容或rpmbuild / SOURCES目录应如下所示.

$cd ~/rpmbuild/SOURCES
$ls 
demoproject-0.1.tar.gz
$tar -tvzf demoproject-0.1.tar.gz
demoproject-0.1/
demoproject-0.1/demoscript.conf
demoproject-0.1/demoscript
demoproject-0.1/cron/
demoproject-0.1/cron/democronscript

那么你所要做的就是建立它
rpmbuild -ba~ / rpmbuild / SPECS / demoproject.spec

这将创建arch rpms和srpms并将它们放在〜/ rpmbuild / RPMS和〜/ rpmbuild / SRPMS目录中.

标签:linux,shell,rpm
来源: https://codeday.me/bug/20190825/1723510.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有