构建 RPM 包以在目标系统中安装文件

Build RPM package to install files in target system

我对 rpm 包完全陌生,对 rpm 规范中不同部分的功能感到困惑。

我想使用 rpm 包做的只是将 examples.py 安装到目标系统上的 /usr/lib/folder(我 运行 rpm)。我想使用的规范模板如下所示。我在这里有两个问题:

1.If 在构建 rpm 包之前,我在 BuildRoot 目录中已经有 examples.py 具有相同文件层次结构,我还需要安装部分吗?

2.I 如果目标系统中不存在使用 rpm 包的目录,则想创建一个空目录。在 %files 部分使用 %dir directory 是否足够?我需要在 %install 部分做些什么还是在 BuildRoot 目录中包含一个目录?

我想我不太明白 %files%install 是做什么的,所以我有这些问题。

Name: test
Version: 1.0.0
Release: 1
Copyright: Copyright info
Group: Applications/System
BuildRoot: %{_some_directory}

%description
Brief description of software package.

%install

%files
/usr/lib/folder/example.py
  1. 此处已回答:

  2. 是的。需要 %files 部分中的 %dir directory。但你也必须这样做:

    %安装 mkdir -p %{buildroot}目录