【问题标题】:Creating RPM spec file from compiled binary files从编译的二进制文件创建 RPM 规范文件
【发布时间】:2017-08-04 01:30:12
【问题描述】:

环境是 AIX 7.0 RPM 版本 3.0.5 。我是 Unix 世界的新手,请耐心等待我的无知。

我们有 3 种不同类型的文件要打包为 RPM。

• 源/二进制/*.bainary 文件(大约 160 个)

• Source/ui/*.mm(文件数 2)

• 源/脚本/*.sh(10 到 20)

这些文件是为目标服务器编译的,它们是二进制形式的,我们不想将这些文件压缩成 tar。

当使用 rpmbuild 在 Generated RPM 上进行安装时,.binaryfiles 、.ui 和 .sh 文件必须转到目标服务器上的不同目录

由于已经构建,因此不必进行构建。

谁能提供我.spec 文件示例和步骤。 我们可以在没有 root 访问权限的情况下运行 rpmbuild 吗? 我们可以在没有 root 权限的情况下运行 rpm 的安装吗?

【问题讨论】:

  • 使用rpm没有意义; tar 是正确的工具。请注意,它不会压缩任何东西。示例焦油:cd /some/where; tar -cf Source.tar Source;解压示例:cd /path/to; tar -xf Source.tar
  • 该组织想出了一个新策略,将所有可安装的组件构建为 RPM。
  • 您可以以普通用户身份运行rpmbuild。但是,您需要 root 才能安装该软件包,因为 rpmdb 数据库只能由授权用户写入。如果这是可以接受的,我会用你可以使用的规范模板写一个答案。

标签: shell rpm aix rpmbuild rpm-spec


【解决方案1】:

这是一个没有任何构建部分的示例。

Name: special-package
Version: 0.0
Release: 0.1
Summary: This is a special package

Group: Devlopment/Tools
License: Special Proprietary
BuildArch: noarch

%description
This package contains some special stuff

%install
# e.g., on the target server path_to_all_binary_files=/usr/share/special/bin
%{mkdir_p} %{buildroot}%{_path_to_all_binary_files}

# In case of a copy, file permissions will be copied as it is.
# You can also try 'install -m 755 $RPM_SOURCE_DIR/....'
# 'man install' for more information
%{__cp} $RPM_SOURCE_DIR/binary/*.binaryfiles %{buildroot}%{_path_to_all_binary_files}
# Similarly do this for other sets of files 

%files
%{_path_to_binary_files}/*.binaryfiles
%{_path_to_sh_files}/*.sh

%changelog
* Tue Mar 14 2017 Name Surname<name.surname@email.com>
 - First build of the special package

这个是 Fedora 的,但我认为很多准则都适用 https://fedoraproject.org/wiki/How_to_create_an_RPM_package

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-16
    • 2020-05-03
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 2017-05-28
    相关资源
    最近更新 更多