#package #rpm #debian-packaging
Вопрос:
Я недавно создал пакет исполняемых файлов для Debian (на самом деле Ubuntu 18 и 20). Часть основного контента смогла работать на Fedora 34. Поэтому теперь меня попросили также создать RPM для этого.
Имя файла Debian выглядит примерно так:
mystuff-sfwrname-edu_21.05-0715.1234-u20_amd64.deb
Это соответствует синтаксису имени _ version _ arch.deb имен файлов пакетов Debian. Подчеркивания являются основными разделителями; знаки минус на самом деле не имеют значения. ( u20
указывает версию Ubuntu 20.04; из-за libc
проблемы также существует u18
версия для Ubuntu 18.04.)
В мире RPM я нахожу синтаксис: имя—версия—выпуск.arch.rpm, где значимы знаки минус и конечный период. И все же, похоже, есть имена пакетов, например openssh-clients-7.4p1-16.el7.x86_64
, со знаками минус в названии и периодами до архитектуры.
Могу ли я затем назвать свой пакет как:
mystuff-sfwrname-edu-21.05-0715.1234.el7.x86-64.rpm
где:
name
=mystuff-sfwrname-edu
(с несколькими знаками минус)version
=21.05
release
=0715.1234.el7
arch
=x86_64
И если я предполагаю, что один и тот же RPM работает на Fedora 34, а также на CentOS 7, я бы просто убрал el7
или есть какое-то другое правило/практика, о которых я не знаю?
Комментарии:
1. Выглядит нормально. …… Пакет «el7» обычно работает с более поздними версиями Fedora. . ( CentOS 7 основан на Fedora 19 , CentOS 8 основан на Fedora 28.) …… Пакет el7 может быть установлен с
# dnf install ./package.rpm
2. @KnudLarsen Спасибо за вашу проницательность.
Ответ №1:
Короче говоря — да, вы можете.
Дополнительная информация о рекомендациях по версиям https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
Это хэштег .el7
is. Обычно в спецификации записывается как:
Дата выпуска: 0715.1234%{?отклонение}
Сам RPM вообще не заботится об этом. Он рассматривает его как простую строку. просто .el7
< .el8
. Таким образом, технически вы можете устанавливать пакеты из .el7
в RHEL8. Но, конечно, иногда это работает не так, как ожидалось, из-за разных путей на разных платформах. Вы должны проверить это сами.