openSUSE:Paketbau Richtlinien für mehrere Versionen
Paketbau Richtlinien - Richtlinien zur Bezeichnung von Paketen - Richtlinien für Spezifikationsdateien - Richtlinien für Patches - Sicherheitsrichtlinien - Richtlinien für Paketgruppen - Paketbau Prüfungen - Kategorien für Desktopmenüs - RPM Makros - Init-Skripte - kleine Skript-Schnipsel - Paketbau Perl - Paketbau-Richtlinie für mehrfach benutzte Bibliotheken - Paketabhängigkeiten - Paketbau von Python-Software - Paketbau Richtlinien für mehrere Versionen
Auch wenn es das Standardverhalten von RPM ist, ein einfaches Paket auf die höchste Version zu aktualisieren, ist es für verschiedene Programme möglich, die gleichen oder ähnliche Funktionen auszuführen, um auf einem einzelnen System zur gleichen Zeit installiert zu werden.
Zum Beispiel haben viele Systeme mehrere Texteditoren gleichzeitig installiert. Das bietet eine Auswahlmöglichkeit für die Benutzer eines Systems, wenn gewünscht. Aber es macht es schwierig für ein Programm, eine gute Auswahl zu treffen, einen Editor aufzurufen, wenn der Benutzer seine Vorzüge nicht spezifiziert hat. Darum sollten einige Standards definiert werden, so dass Programme auf den gleichen Standard zurückfallen können.
Wartung von Standardkommandos und Bibliotheken
Update-Alternatives
Das Aktualisierungs-alternative Paket erzeugt, löscht, wartet und zeigt eine Information über den symbolischen Link, die Alternativen im System beinhalten. Ein Paketbauer kann dieses Paket verwenden, um Standardanwendungen in einem laufenden System zu definieren, ohne mit anderen Paketen in Konflikt zu geraten.
Name: vim [...] BuildRequires: update-alternatives PreReq: update-alternatives [...] %install # erzeugt ein Dummy-Ziel für /etc/alternatives/vim mkdir -p %{buildroot}%{_sysconfdir}/alternatives ln -s -f %{_sysconfdir}/alternatives/vim %{buildroot}/bin/vim [...] %post %{_sbindir}/update-alternatives --install \ /bin/vim vim /bin/vim-normal 15 [...] %post enhanced %{_sbindir}/update-alternatives --install \ /bin/vim vim %{_bindir}/vim-enhanced 20 [...] %preun if [ "$1" = 0 ] ; then %{_sbindir}/update-alternatives --remove vim /bin/vim-normal fi [...] %preun enhanced if [ "$1" = 0 ] ; then %{_sbindir}/update-alternatives --remove vim %{_bindir}/vim-enhanced fi [...] %files %defattr(-,root,root,-) %{_bindir}/vim %ghost %{_sysconfdir}/alternatives/vim [...] %files enhanced %defattr(-,root,root,-) %{_bindir}/vim-enhanced