Gibt es Möglichkeiten, gruppierte bedingte Abhängigkeiten in debian / control zu definieren?

8

Ich debiancing ein Python-Paket, das ein bisschen seltsame Abhängigkeiten hat. Es entweder:

  • Abhängig von python2.7
  • Abhängig von python2.6 und python-ordereddict (mein selbst erstelltes Paket für ordereddict auf PyPI)

Zum Beispiel habe ich in meinem setup.py :

%Vor%

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

%Vor%

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?

    
drdaeman 19.12.2012, 12:21
quelle

1 Antwort

5

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

    
Fred Foo 19.12.2012, 16:03
quelle