Was ist der letzte Teil des RPM-Paketfreigabefelds?

658
Sajuuk

Beispiel 1:

mit yum info vim-enhancedbekomme ich das:

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

Beispiel 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. 

was ich interessiert wirklich in ist Mitteilung Feld: 5.el6_8.1, 514.el7, 514.26.2.el7.

Laut einigen Antworten gibt es keine offizielle Regel für die Namenskonvention des Feldes " Release" . Ist das wahr? oder haben sie eine bestimmte Namenskonvention für jede Art von Softwarepaket?

2
Es könnte alles sein. Fragen Sie den Betreuer oder werfen Sie einen Blick auf die Dokumentation der Repo / Distribution und deren Richtlinien. Seth vor 7 Jahren 1

1 Antwort auf die Frage

1
msuchy

Eine umfassende Dokumentation finden Sie unter https://fedoraproject.org/wiki/Packaging:DistTag .

Dieses Makro wird verwendet, um zwei identische Pakete zu unterscheiden, die tatsächlich nicht identisch sind.

Zum Beispiel Paket python-alembic. Sie können Dateien haben python-alembic-0.9.1-1.el6.rpmund python-alembic-0.9.1-1.fc26.rpm. Sie haben den gleichen Inhalt, den gleichen Code. Sie sind jedoch auf einem anderen Pfad gespeichert. EL6 verwenden /usr/lib/python2.6/site-packages/alembicaber FC26 haben /usr/lib/python2.7/site-packages/alembic(der Unterschied liegt in der Python-Version). Das .el6-Paket funktioniert also nicht in Fedora 26 und umgekehrt.

Ohne den dist-Tag haben Sie nur noch die Möglichkeit python-alembic-0.9.1-1, herauszufinden, ob er für Ihr Betriebssystem geeignet ist.

Normalerweise definieren Sie den Inhalt des dist-Tags nicht. Sie wird automatisch durch eines der Systempakete definiert.

Was meinen Sie mit "definiert durch eines der Systempakete"? Ist dieser Paketname nicht das Dist-Tag, das von einem "Upstream-Betreuer" manuell definiert wurde? Sajuuk vor 7 Jahren 0
Nein. Die Zeile in der Spezifikationsdatei sieht wie folgt aus: `Release: 1% {? Dist}`. Wird nur auf '1' erweitert, wenn das dist-Makro nicht definiert ist. Das Makro wird normalerweise in der Datei /usr/lib/rpm/macros.d/macros.dist definiert, die in Fedora mit dem Paket "fedora-release" ausgeliefert wird. msuchy vor 7 Jahren 0
und was ist "1" in Ihrem Beispiel? wie die "5", "514" in meinem Beispiel. Sajuuk vor 7 Jahren 0
Ja. In Ihrem Beispiel sollte die Zeile `Release: 5% {? Dist}` und in Beispiel2 `Release: 514% {? Dist}` lauten msuchy vor 7 Jahren 0
Ich meine, was bedeuten diese "1" / "5" / "514"? Sajuuk vor 7 Jahren 0
Siehe https://superuser.com/a/1237302/413143 msuchy vor 7 Jahren 0