doktor5000 hat geschrieben:Redest du von Mageia oder im allgemeinen von Paketbau?
Nein, nicht speziell von Mageia, dafür habe ich noch keine Pakete gebaut. Aktuell habe ich Fedora, aber dieses Verhalten kenne ich auch noch von Mandriva.
Ein Beispiel für
python-tornado:
- Code: Alles auswählen
...
Group: Development/Python
License: ASL 2.0
URL: http://www.tornadoweb.org
Source0: http://github.com/downloads/facebook/tornado/%{oname}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python-devel
Requires: python
Requires: python-pycurl
Requires: python-simplejson
...
Und die spec-Datei für das Fedora-Paket:
- Code: Alles auswählen
...
Group: Development/Libraries
License: ASL 2.0
URL: http://www.tornadoweb.org
Source0: http://github.com/downloads/facebook/%{pkgname}/%{pkgname}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
BuildRequires: python-devel
Requires: python-pycurl
Requires: python-simplejson
...
Bei beiden Distributionen müssen Laufzeitabhängigkeiten explizit angegeben werden, weil rpm zwar Compiler-Aufrufe auswertet (bei Python-Paketen, die C-Erweiterungen enthalten und damit nicht
noarch sind), aber nicht die Header von Python-Skripten. Durch die Angabe von "BuildRequires: python-devel" wird die Laufzeitabhängigkeit für Python erzeugt, aber das ist auch schon alles.
Übrigens ist wie schon oben erwähnt die Angabe von "Requires: python" im Mageia-Paket überflüssig, wie diese Ausgabe zeigt:
- Code: Alles auswählen
$ rpm -qpR python-tornado-2.3-2.mga3.noarch.rpm
Warnung: python-tornado-2.3-2.mga3.noarch.rpm: Header V3 RSA/SHA1 Signature, Schlüssel-ID 80420f66: NOKEY
python
python-pycurl
python-simplejson
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
python(abi) = 2.7
rpmlib(PayloadIsXz) <= 5.2-1
"python" an sich ergibt sowieso kaum Sinn, denn rpm verweist hier mit "python(abi) = 2.7" ausdrücklich auf Python 2.