【问题标题】:How to get RPM build to set installation path correctly如何获得 RPM 构建以正确设置安装路径
【发布时间】:2012-08-31 08:24:52
【问题描述】:

这是我第一次尝试构建 RPM,我发现它有点令人困惑,还没有真正得到不同的变量,所以如果有任何关于以下的建议,我将不胜感激..

我有以下规格文件:

BuildRoot       : /home/dm40477/rpmbuild/BUILD

%description
Package to deploy PROD Support scripts


%prep

zcat ~/rpmbuild/SOURCES/ITRS.tar.gz | tar -xvf -

%install
RPM_INSTALL_PREFIX=/var/opt

%files
%defattr(0622,muser,muser)
/ITRS/bin/SXS
/ITRS/bin/SXSRT
/ITRS/etc/SXS
/ITRS/etc/SXSRT

%changelog

它会创建 rpm 文件,但是当我在目标服务器上安装它时,它会安装在 /bin 和 /etc

源文件是在下面的 dir 结构中的 gzip tar 文件,我想保留它,除了将它安装在文件夹 /var/opt 中

/ITRS/bin/SXS
/ITRS/bin/SXSRT
/ITRS/etc/SXS
/ITRS/etc/SXSRT
  1. 如何在 spec 文件中设置安装路径?
  2. 我需要创建目录来保留结构,还是会自动保留该结构?

不胜感激。

谢谢

D

【问题讨论】:

    标签: rpm rpmbuild rpm-spec


    【解决方案1】:
    RPM_INSTALL_PREFIX=/var/opt
    

    将变量 RPM_INSTALL_PREFIX 设置为 /var/opt

    /ITRS/bin/SXS
    /ITRS/bin/SXSRT
    /ITRS/etc/SXS
    /ITRS/etc/SXSRT
    

    不引用该变量。

    【讨论】:

    • 它不应该引用 RPM_INSTALL_PREFIX,我认为它的意思是引用构建文件夹中的文件 - 本节只是显示应该包含在构建中的文件列表
    【解决方案2】:

    BuildRoot : /home/dm40477/rpmbuild/BUILD 现在被忽略。

    试试这个...

    在您的主目录中创建一个名为 .rpmmacros 的文件,其内容如下...

    %_topdir /home/builder/rpmbuild
    

    确保使用 fakeroot 进行构建。

    cd 到 /home/builder/rpmbuild 并运行你的 rpmbuild 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-05
      • 2015-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多