Wie lassen sich Pakete für verschiedene Ubuntu-Versionen bereitstellen?

Wie lassen sich Pakete für verschiedene Ubuntu-Versionen bereitstellen?

Ich bin der Autor einiger Software, die von libxx6 abhängt (in Ubuntu 11.10), aber in 12.04 wird das Paket zu libxx7 (7 ist keine Ubuntu-Versionsnummer), daher wird die Abhängigkeit zum Problem.

Wie kann ich das lösen? Ich verwalte ein PPA und möchte das vor der Veröffentlichung von Ubuntu 12.04 beheben.

Danke !

Antwort1

Wenn es ein generisches, versionsfreies Paket gibt, auf das Sie sich verlassen können (wie im Fall von Java: java-runtimevs. eg java6-runtime), dann verlassen Sie sich darauf. Wenn nicht, müssen Sie spezielle Pakete für die verschiedenen Ubuntu-Versionen erstellen. Sehen Sie sich die controlDatei des Pakets an, auf das Sie sich verlassen, und prüfen Sie, ob es Providesetwas Generischeres gibt, auf das Sie sich verlassen können.

Antwort2

Vorausgesetzt, Ihr Paket lässt sich sowohl mit libxx6als auch kompilieren libxx7, geben Sie einfach „us“ libxx-devin das Build-DependsFeld Ihrer debian/controlDatei ein. Dann geben Sie „us“ in das DependsFeld ein ${shlibs:Depends}. Dies wird automatisch durch die Version der gemeinsam genutzten Bibliothek ersetzt, mit der Ihr Paket erstellt wurde.

Nähere Informationen zu Shared Libraries finden Sie inKapitel 8 des Debian Policy Manual.

Antwort3

Wenn die gleiche Quelle auf allen Versionen erstellt wird, ist es sehr einfach. Sie erstellen (laden) sie separat für jede Ubuntu-Version hoch. Sie müssen leicht unterschiedliche Versionsnummern verwenden, ich schlage vor, sie anzuhängen~releasename1

verwandte Informationen