Какие изменения необходимо внести в файл .spec для переименования устанавливаемого программного обеспечения?

Я пытаюсь перестроить пакет nano rpm на CentOS 8, поэтому после его установки я смогу запустить nano с помощью команды newnano.
После некоторого поиска в Google я пришел к выводу, что мне нужно изменить файл .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 для достижения моей цели?


person Dmitrii Stukalov    schedule 25.11.2020    source источник


Ответы (2)


Есть очень простой способ сделать это с помощью пакетов rpmrebuild и .rpm nano.

  1. rpmrebuild -enp nano.rpm
  2. In .spec file (it will open after previous comand) you should do these:
    • replace Name: nano with Name: newnano (optional, but recommended)
    • добавьте mv /usr/bin/nano /usr/bin/newnano перед первой exit 0 строкой. Этот раздел можно найти до %changelog
  3. Внимательно посмотрите и запомните путь восстановленного .rpm, который вы увидите после закрытия vim
  4. Установить перекомпилированный .rpm с помощью команды rpm -i
  5. (Необязательно: возможно, вам потребуется перезагрузка)
person Vlad Sivirin    schedule 08.12.2020

Вам нужно будет сделать несколько вещей:

  1. Получите текущий файл спецификации (похоже, вы это сделали)
  2. Измените название RPM (выглядит хорошо)
  3. Измените имя пакета GNU (подсказка: посмотрите в configure. ac)
  4. Добавьте еще один патч в RPM, который изменяет окончательные исполняемые файлы (подсказка: загляните в src / Makefile.am - вы хотите переименовать nano и удалить rnano символическую ссылку)
  5. Восстановить

Вместо того, чтобы возиться с src/Makefile.am, вы можете вероятно переименовать вещи в разделе %install specfile, но я недостаточно знаю о nano, чтобы сказать вам, будет ли он по-прежнему правильно идентифицировать себя и т. Д.

Повеселись!

person Aaron D. Marasco    schedule 25.11.2020