【问题标题】:Rewrite paths in script files during RPM installation?在 RPM 安装期间重写脚本文件中的路径?
【发布时间】: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


    【解决方案1】:

    这个问题在 20 年前就解决了;您的脚本可以使用 GNU 标准 DESTDIR应该在正常操作期间取消设置。 %make_install 宏使用得当。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-12
      • 2015-05-20
      • 2018-09-04
      • 1970-01-01
      • 2019-05-16
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多