Що таке остання частина поля випуску пакета rpm?


3

Приклад 1:

використання yum info vim-enhanced Я розумію це:

Name        : vim-enhanced
Arch        : x86_64
Epoch       : 2
Version     : 7.4.629
Release     : 5.el6_8.1
Size        : 2.2 M
Repo        : installed

Приклад 2:

yum info kernel

Installed Packages
Name        : kernel
Arch        : x86_64
Version     : 3.10.0
Release     : 514.el7
Size        : 148 M
Repo        : installed
From repo   : anaconda
Summary     : The Linux kernel
URL         : http://www.kernel.org/
License     : GPLv2
Description : The kernel package contains the Linux kernel (vmlinuz), the core of any
            : Linux operating system.  The kernel handles the basic functions
            : of the operating system: memory allocation, process allocation, device
            : input and output, etc.

Name        : kernel
Arch        : x86_64
Version     : 3.10.0
Release     : 514.26.2.el7
Size        : 148 M
Repo        : installed
From repo   : updates
Summary     : The Linux kernel
URL         : http://www.kernel.org/
License     : GPLv2
Description : The kernel package contains the Linux kernel (vmlinuz), the core of any
            : Linux operating system.  The kernel handles the basic functions
            : of the operating system: memory allocation, process allocation, device
            : input and output, etc.

те, що мені дуже цікаво, це Випуск поле: 5.el6_8.1 , 514.el7, 514.26.2.el7.

Згідно з деякими відповідями, немає офіційного правила, що регулює конвенцію про найменування Випуск поля. це правда? чи вони мають специфічну угоду імен для кожного виду програмного пакета?


1
Це може бути що завгодно. Запитайте у супроводжуючого або ознайомтеся з документацією про репо / розподіл та їх політику.
Seth

Відповіді:


2

Подивитися https://fedoraproject.org/wiki/Packaging:DistTag для вичерпної документації.

Цей макрос використовується для розрізнення двох ідентичних пакетів, які насправді не ідентичні.

Наприклад пакет python-alembic. Ви можете мати файли python-alembic-0.9.1-1.el6.rpm і python-alembic-0.9.1-1.fc26.rpm. Вони мають однаковий зміст, той самий код. Але вони зберігаються в іншому шляху. EL6 використання /usr/lib/python2.6/site-packages/alembic але FC26 /usr/lib/python2.7/site-packages/alembic (різниця у версії python). Таким чином пакет .el6 не працюватиме у Fedora 26 і навпаки.

Без тегів відстані ви будете мати тільки python-alembic-0.9.1-1 і вам буде важко зрозуміти, чи підходить вона для вашої операційної системи.

І ви зазвичай не визначаєте вміст тега dist. Він визначається одним з системних пакетів автоматично.


що ви маєте на увазі під "визначеним одним з системних пакетів"? це ім'я пакета не включає в себе тег відстані, визначений "утримувачем потоку" вручну?
Sajuuk

Немає. Рядок у файлі spec виглядає так: Release: 1%{?dist} які розширюються тільки до '1', якщо віддалений макрос не визначено. Зазвичай макрос визначається у файлі /usr/lib/rpm/macros.d/macros.dist, який у Fedora доставляється користувачем fedora-release пакет.
msuchy

і що є 1 у вашому прикладі? як і ті 5, 514 у моєму прикладі.
Sajuuk

Так. У вашому прикладі лінія повинна бути Release : 5%{?dist} і в прикладі2 це має бути Release : 514%{?dist}
msuchy

Я маю на увазі, що робити 1 / 5 / 514 представляють?
Sajuuk
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.