Moin,
ich arbeite gerade an der Paketierung von Zimbra für UCS. Die ursprüngliche monolithischen Pakete werde in der nächsten Version 8.7 in kleinere Pakete aufgeteilt und von einem eigenen Build-System für die unterstützten Betriebssysteme gebaut. So weit so gut.
Das Build-System vergibt für jede unterstützte OS-Versionskombination ein sog. Platform Tag. Z. B. UBUNTU14, UBUNTU12, RHEL7, etc. UCS wird jetzt als UCS4 erkannt. Hier stellt sich mir aber die Frage: Wie genau sieht die Versionierung von UCS aus, d. h. würde es evtl. mehr Sinn machen die Platform UCS41 (und UCS42, …) separat zu erkennen?
Zum Hintergrund wozu dieses Platform Tag u. A. verwendet wird:
[ul]
[li] Zum Generieren der Paketversionen damit sie im Pool eindeutig sind; ähnlich wie bei Ubuntu’s PPAs gibt es dann z. B. für Ubuntu 14.04 ein Paket zimbra-openjdk mit der Version 8u77b03.14.04; für UCS gäbe es die Version 8u77b03.ucs4 oder 8u77b03.14.04.ucs4.1[/li]
[li] Zum Generieren der richtigen Paketabhängigkeiten. Das beste Beispiel ist hier libperl für welches es kein Meta-Paket gibt und daher in Ubuntu 14.04 eine Abhängigkeit nach libperl5.18 benötigt wird während Ubuntu 16.04 mit libperl5.22 kommt. Und UCS 4.1 hat noch libperl5.14.[/li][/ul]
Kann ich also garantieren, dass ein Paket welches für UCS 4.x gebaut wird auf jeder Minor-Version installiert werden kann oder könnte es sein, dass das Paket libperl5.14 unter UCS 4.2 nicht mehr verfügbar ist? Wie ist hier das Kompatibilitätsversprechen?
In dem Zusammenhang auch die Frage: Das Build-System erkennt die Version bei Debian-Derivaten anhand der Ausgabe von lsb_release -s -c. Das ist bei UCS 4.1 der Wert Vahr. Kann ich mich darauf verlassen oder könnte 4.2 z. B. plötzlich Findorff heißen? Und andersrum: Wird ein potentielles UCS 5 definitiv nicht Vahr heißen?
Und zu guter letzt: Von welchem Debian ist UCS 4 eigentlich abgeleitet? Ich ging eigentlich von jessie aus aber libperl5.14 sieht mir eher nach wheezy aus.
Danke,
Malte Stretz