2013-05-06 5 views
5

Ich versuche, meine Python-Software mit stdeb zu verpacken:

python setup.py --command-packages=stdeb.command bdist_deb 

der gut arbeitet.

Leider fügt stdeb die Variable ${python:Depends} zur debian/control Datei hinzu. Dieser Platzhalter wird automatisch von dh_python2 von debhelper verarbeitet und durch eine Zeichenfolge ersetzt, die mehrere Python-Versionen enthält, z. B. "python2.7, python (>= 2.7.1-0ubuntu2), python (<< 2.8)".

Wie kann ich diese automatisch hinzugefügten Python-Versionen loswerden oder wie kann ich ${python:Depends} überschreiben?

Hinweis: Das eigentliche Problem ist die python Abhängigkeit. Das Zielsystem liefert das Paket python2.7 mit der Version 2.7.3, aber python ist immer noch unter 2.6.6.

+0

FYI, es sieht aus wie das ist das gleiche Problem wie https://github.com/astraw/stdeb/issues/49. –

Antwort

1

Was Sie tatsächlich stattdessen tun müssen, ist in debian/control so etwas wie X-Python-Version: >= 2.6-Source-Paket hinzuzufügen und python-all oder python-all-dev-Build-Depends hinzuzufügen. Dies funktioniert, wenn Sie für die richtige Suite bauen, wobei python-all sowohl von python2.6 als auch python2.7 abhängt. Es ist eine gute Idee, pbuilder zu verwenden, um für das Zielsystem zu bauen, besonders wenn es sich von Ihrer Entwicklungsumgebung unterscheidet. Bitte überschreiben Sie nicht ${python:Depends} - es ist falsch und wird nicht gut.

+0

Ich hackte schließlich die Datei 'util.py' direkt im Quellcode von stdeb. Ich habe '$ {misc: Depends}' und '$ {python: Depends}' mit der gewünschten Python-Abhängigkeit ersetzt, die ich brauche. Aber Sie haben Recht: Der beste Weg wäre 'pbuilder' zu verwenden. – w177us

+0

Was Sie tun, ist schockierend. Ersetzen Sie einfach '$ {python: Depends}' in 'debian/control' durch' $ {my: Depends} 'und fügen Sie' debian/rules '' override_dh_gencontrol' wie folgt hinzu: 'dh_gencontrol - -Vmy: Depends =" pkg1 , pkg2 "' – Onlyjob

+0

Können Sie mehr über die Verwendung von pbuilder sagen? –

0

Sie können die stdeb Python-Abhängigkeiten durch XS-Python-Version Option erzwingen. Zum Beispiel durch die Schaffung stdeb.cfg Datei mit:

[DEFAULT] 
XS-Python-Version: 2.6 

Andere Mittel, um diese Optionen einzustellen, können setupg.cfg in [sdist_dsc] Abschnitt oder in der Befehlszeile (sdist_desc --xs-python-version 2.6 bdist_deb), aber es hat nicht wirklich für mich zu arbeiten.

Verwandte Themen