我遇到了以下问题:
为了将我的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。
所以我想知道什么是正确的方式:
我应该只在文件中使用相对路径吗?
是否有SPEC选项可以在RPM安装期间重写文件?
我应该将这些文件视为配置文件并在安装后手动重写吗?
或者我应该在安装过程中不使用脚本,因为它不是RPM的用途?