【问题标题】:What changes needed in .spec file to rename installing software?重命名安装软件需要在 .spec 文件中进行哪些更改?
【发布时间】:2020-12-08 20:45:01
【问题描述】:

我正在尝试在 CentOS 8 上重建 nano rpm 包,因此在安装它之后,我将能够使用命令 newnano 运行 nano
经过一番谷歌搜索后,我得出的结论是,我需要更改 .spec 文件并使用命令 rpmbuild -ba nano.spec 构建包。
这是我已经尝试过的:

  1. 在 .spec 文件的开头更改名称,所以它看起来像这样:
    Summary: A small text editor
    Name: newnano
    ...
    但是当我尝试构建包时出现错误:Bad exit status from '/var/tmp/rpm-tmp.DSP7dc (%prep)
    据我了解,解压缩 tar 存档后尝试到 cd newnano-2.9.8 但没有这样的目录。
  2. 在 %install 部分添加别名:
    %install
    cd build
    %make install
    rm -f %{buildroot}%{_infodir}/dir
    alias newnano="nano"
    ...
    构建和安装成功,但没有创建别名。
  3. 使用 %package。我在 %description%prep 之前插入原始 .spec 这个:
    %package -n newnano
    Summary: test
    %description -n newnano
    test
    我还将-n newnano 添加到%files 部分。构建安装成功,但未添加新命令。

那么我必须如何更改 .spec 文件才能实现我的目标?

【问题讨论】:

    标签: rpm-spec centos8 nano


    【解决方案1】:

    通过rpmrebuild.rpm nano 包有一个非常简单的方法。

    1. rpmrebuild -enp nano.rpm
    2. .spec 文件中(它将在上一个命令之后打开)你应该这样做:
      • Name: nano 替换为Name: newnano (可选,但推荐)
      • 在第一行 exit 0 之前添加 mv /usr/bin/nano /usr/bin/newnano。这部分你可以在%changelog之前找到
    3. 仔细看,记住关闭vim后会看到的重建.rpm的路径
    4. 通过rpm -i 命令安装重建的.rpm
    5. (可选:您可能需要重新启动)

    【讨论】:

      【解决方案2】:

      你必须做一些事情:

      1. 获取当前的规范文件(看起来你这样做了)
      2. 更改 RPM 的名称(看起来不错)
      3. 更改 GNU 软件包的名称(提示:查看 configure.ac
      4. 在 RPM 中添加另一个修改最终可执行文件的补丁(提示:查看 src/Makefile.am - 您要重命名 nano 并删除 rnano 符号链接)
      5. 重建

      您可以可能重命名规范文件的 %install 节中的内容,而不是弄乱 src/Makefile.am,但我对 nano 的了解还不够,无法告诉您它是否会仍在正确识别自己,等等。

      玩得开心!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-04
        • 2020-01-12
        • 1970-01-01
        • 2013-04-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多