【发布时间】:2017-05-16 05:17:46
【问题描述】:
我遇到了以下问题:
为了将我的 SPEC 内置到 RPM 中,我必须在我的脚本文件中放置正确的路径:
sed -i -- "s|/opt/my_app_folder|$RPM_BUILD_ROOT/opt/my_app_folder|g" ./bin/startup.sh
如果我不这样做,构建的 %install 部分会失败,因为脚本找不到 /opt/my_app_folder,实际上构建是在 $RPM_BUILD_ROOT/opt/my_app_folder 中完成的。但是,我担心这种“sed”方式是一种糟糕的方式。
此外,在安装构建的 RPM 时,脚本文件中的路径不会被重写,因此我必须手动将 /home/user001/rpmbuild/BUILDROOT/my_app-1.0.0-0.x86_64/opt/my_app_folder 替换为 /选择/my_app_folder。
所以我想知道正确的方式是什么:
我应该在我的文件中只使用相对路径吗?
是否有在 RPM 安装期间重写文件的 SPEC 选项?
我是否应该将这些文件视为 conf 文件并在安装后手动重写它们?
或者我是否应该在安装过程中不使用脚本,因为这不是 RPM 的用途?
【问题讨论】:
标签: sed build path installation rpm