在本手册的帮助下,我试图生成我的第一个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