Ich debiancing ein Python-Paket, das ein bisschen seltsame Abhängigkeiten hat. Es entweder:
python2.7
python2.6
und python-ordereddict
(mein selbst erstelltes Paket für ordereddict
auf PyPI) Zum Beispiel habe ich in meinem setup.py
:
Ich habe in dieser Debian-Verpackungsdokumentation nichts gefunden. Aus heiterem Himmel habe ich versucht zu schreiben
%Vor%Aber, keine Überraschung, es ist eine falsche Syntax, die nicht funktioniert hat:
%Vor% Ich verwende dh_python2 und ${python:Depends}
bietet eine ziemlich unangemessene Liste wie
Bei einer solchen Abhängigkeitsliste wird python-ordereddict
für python2.7
benötigt, das nicht existiert. Und natürlich kann ich python2.7-minimal
nicht packen, um Provides: python-ordereddict
zu sagen (wie es mit python-argparse
gemacht wurde).
Irgendwelche Vorschläge, wie man eine solche Bibliothek richtig verpackt, bitte?
Eine Möglichkeit wäre, python-ordereddict
von python2.6
abhängig zu machen, und dann Ihr Hauptpaket von python2.7 | python-ordereddict
abhängig zu machen. Ich gehe davon aus, dass es nicht sinnvoll ist, python-ordereddict
mit 2.7 zu installieren, da OrderedDict
in dieser Version verfügbar ist.
Das ist natürlich hässlich, weil es die Abhängigkeit des Hauptpakets in die Bibliothek verschiebt. Die Alternative besteht darin, zu erkennen, dass Abhängigkeiten propositionale Formeln in konjunktiven Normalform (CNF) sein müssen. Durch Anwendung des Verteilungsgesetzes der Aussagenlogik können Sie
konvertieren %Vor%zum äquivalenten CNF
%Vor%(was, ich gebe zu, ist auch nicht besonders hübsch).
Tags und Links python packaging debian python-2.x dpkg