RPM规范文件将tar.gz解压缩到多个位置



在本手册的帮助下,我试图生成我的第一个RPM。我的目标是生成一个rpm,将我的文件project.tar.gz解包到多个目标目录中。

假设我在tar.gz中有以下结构:

/part-one
/file-one.py
/file-two.py
/part-two  
/file-one.py
/file-two.py
/subdirectory
/file-one.py
/file-two.py

我希望第一部分安装到/opt/project-one/libs/第二部分为/opt/project-two/libs/specific-dir/

我需要把tar.gz中的所有文件都放在%files正文项中吗?

%files
/part-one/file-one.py
/part-one/file-two.py
/part-two/file-one.py
/part-two/file-two.py
/part-two/subdirectory/file-one.py
/part-two/subdirectory/file-two.py

我该如何指定这些文件的目标?

当我使用时,我明白了

%prep
%setup -q

tar.gz的内容是自动解包的,我不需要添加解包命令。

%setup之后,您需要一个%install部分,然后是%file部分。

%install部分将解压缩的源代码(tarball(安装/复制到适当的目标目录(/opt/....(中。以下是的示例

%setup -q
%build
# empty
%install
# create target dirs
install -p -d -m 0755 /opt/project-one/libs
install -p -d -m 0755 /opt/project-two/libs/subdirectory
# copy files
install -m 0644 part-one/*.py /opt/project-one/libs/
install -m 0644 part-two/*.py /opt/project-two/lib/subdirectory
%files
# This should take care of all files inside these dirs.
/opt/project-one/
/opt/project-two

最新更新