【问题标题】:auto generation of %files section in redhat package management spec file using a unix command使用 unix 命令在 redhat 包管理规范文件中自动生成 %files 部分
【发布时间】:2020-06-14 21:10:54
【问题描述】:

我的自定义软件和脚本包有一个 rpm 生成过程,我试图通过通用自动化尽可能减少重复工作。我几乎完成了,除了一个小怪癖,它不是手动指定需要在 rpm 包中的大型文件列表,我希望该列表在运行时自动生成并以某种方式捕获。这可能吗 ?

例如:- 我正在尝试在 rpm 规范文件中执行以下操作。在 %files 部分中,它爆炸了。 文件部分很长,因此我想减少手动获取该列表 通过 UNIX 命令并将其粘贴到规范文件中。

# Author : Anand Kulkarni - 29/02/2020.
# Description : squirrel-client rpm specfile.
# Version : squirrel-client-1.0 

Summary:squirrel linux client with mssql, sybase, oracle and mysql drivers for connectivity.
Name:squirrel-client
Version:1.0
Release:1
License:GPL
BuildArch:noarch
Group:Application/misc
Source:%{name}-%{version}.tar.gz
URL:www.github.com/anandkulkarnisg
Distribution:Fedora Linux 31
Vendor:Anand Kulkarni
Packager:Anand Kulkarni

%description
This rpm provides simply installable rpm package for squirrel linux client. It includes mssql, sybase and oracle drivers for connection installed.

%prep
rm -rf $RPM_BUILD_DIR/%{name}-%{version}
tar -xzvf $RPM_BUILD_DIR/%{name}-%{version}.tar.gz

%setup
buildRpmMakeFile /opt/squirrel-client-1.0 installers/Makefile

%build

%install
cd installers
make buildroot
make install

%post
chown -R anand:anand /home/anand/.squirrel-sql/

%files
listFiles /opt/squirrel-client-1.0 f

【问题讨论】:

    标签: rpm rpmbuild rpm-spec


    【解决方案1】:

    您希望%files-f 选项:

    -f 选项用于指示 RPM 从指定文件中读取 %files 列表。与规范文件中的 %files 列表一样,使用 -f 选项命名的文件每行应该包含一个文件名,并且还包括本节中指定的任何指令。

    来自较旧但仍然有效的Maximum RPM

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-24
      • 2020-02-29
      • 1970-01-01
      • 2014-01-20
      • 2021-10-30
      • 1970-01-01
      • 2011-07-20
      相关资源
      最近更新 更多