gpt4 book ai didi

rpm - 创建 RPM 文件至少需要做什么?

转载 作者:行者123 更新时间:2023-12-03 04:22:59 27 4
gpt4 key购买 nike

我只想创建一个 RPM 文件来分发我的 Linux 二进制文件“foobar”,只有几个依赖项。它有一个配置文件/etc/foobar.conf 并应安装在/usr/bin/foobar 中。

不幸的是documentation for RPM共有 27 章,我真的没有时间坐下来阅读这篇文章,因为我还忙着为其他平台制作 .deb 和 EXE 安装程序。

创建 RPM 至少需要做什么?假设 foobar 二进制文件和 foobar.conf 位于当前工作目录中。

最佳答案

我经常在 Linux 上为每个打包专有应用程序(也最常见的是 websphere)执行二进制 rpm。所以我的经验对你也很有用,此外,如果可以的话,最好做一个真正的 RPM。但我离题了。

因此,打包(二进制)程序的基本步骤如下 - 我认为其中程序是版本 1.0 的 toybinprog,在/etc/toybinprog/toybinprog.conf 中安装一个conf,并在/usr/bin 中安装一个名为 tobinprog 的 bin:

1。为 RPM <4.6,4.7

创建 rpm 构建环境
mkdir -p ~/rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp}

cat <<EOF >~/.rpmmacros
%_topdir %(echo $HOME)/rpmbuild
%_tmppath %{_topdir}/tmp
EOF

cd ~/rpmbuild

2。创建项目的 tarball

mkdir toybinprog-1.0
mkdir -p toybinprog-1.0/usr/bin
mkdir -p toybinprog-1.0/etc/toybinprog
install -m 755 toybinprog toybinprog-1.0/usr/bin
install -m 644 toybinprog.conf toybinprog-1.0/etc/toybinprog/

tar -zcvf toybinprog-1.0.tar.gz toybinprog-1.0/

3。复制到源目录

cp toybinprog-1.0.tar.gz SOURCES/

cat <<EOF > SPECS/toybinprog.spec
# Don't try fancy stuff like debuginfo, which is useless on binary-only
# packages. Don't strip binary too
# Be sure buildpolicy set to do nothing
%define __spec_install_post %{nil}
%define debug_package %{nil}
%define __os_install_post %{_dbpath}/brp-compress

Summary: A very simple toy bin rpm package
Name: toybinprog
Version: 1.0
Release: 1
License: GPL+
Group: Development/Tools
SOURCE0 : %{name}-%{version}.tar.gz
URL: http://toybinprog.company.com/

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

%description
%{summary}

%prep
%setup -q

%build
# Empty section.

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}

# in builddir
cp -a * %{buildroot}


%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
%{_bindir}/*

%changelog
* Thu Apr 24 2009 Elia Pinto <devzero2000@rpm5.org> 1.0-1
- First Build

EOF

4。构建源代码和二进制 rpm

rpmbuild -ba SPECS/toybinprog.spec

仅此而已。

希望这有帮助

关于rpm - 创建 RPM 文件至少需要做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/880227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com