Am Sam, 2002-04-27 um 10.01 schrieb Thorsten Kukuk:
On Sat, Apr 27, Ralf Corsepius wrote:
Am Sam, 2002-04-27 um 08.07 schrieb Thorsten Kukuk:
On Sat, Apr 27, Ralf Corsepius wrote:
D.h. wenn Du zum Paketmanagement nur rpm selbst verwendest, dürfte ein Wechsel zu RPM-4 (Ich würde dann 4.0.3 verwenden), relativ unkritisch sein.
Abgesehen davon, das RPM-4 noch all die Bugs enthält, die wir in der 3er Version gefixt haben Klar, vanilla rpm <= 3.0.6 war praktisch unbrauchbar, doch fehlerfrei ist weder SuSE's rpm-3.0.6, noch haben die RH-Leute geschlafen.
Im Augenblick sind es jedenfalls die Inkompatibilitäten zwischen SuSE's rpm-3.0.6 und rpm-4, die das Schreiben von distributionsunabhängigen rpms/rpm.specs nicht unerheblich erschweren, bzw. einen auf RPM-3 festlegen, will man SuSE in RPMS-spec unterstützten -
Wo bist Du denn da festgelegt? Was geht mit RPM-3 nicht, was RPM-4 als "ich brauche das unbedingt" Feature bietet? Das ist nicht das Problem.
Das Problem ist, dass die breite Masse der auf rpm-basierten Systemen arbeitenden Entwickler in der Zwischenzeit mit RPM-4 arbeitet. Bekommt man nun rpm.specs in die Hand, sind diese oftmals unter SuSE nicht verwendbar, da diese Leute ein in rpm-3, oder genauer in SuSE-rpm3 nicht vorhandenes, oder anders gesetzes, oder aber in der ein oder anderen Version fehlerhaftes %{_irgendwas}-macro verwenden. Oder aber umgekehrt, es werden auf SuSE-rpm zugeschnittene specs verteilt, die SuSE-proprietäre rpm-Macros (z.B. %{suse_check}) verwenden.
Das RPM Format ist das selbe und beim SPEC File kenne ich im Moment auch keine Incompatiblen Features. Da ich selbst unter SuSE arbeite, kann ich Dir diese Frage nur schwer beantworten. So weit mir bekannt, gibt es Unterschiede in den "Advanced Features", den Commandline-Optionen von rpm sowie in Details der rpm-macros.
Ein Beispiel für ein derartige Detailproblem/Bug in SuSE-rpm/SuSE-7.3, der in 4.0.3 behoben ist und nun für Inkompatibilitäten sorgt: %configure: - add --target/--host to %configure [Aus den 4.0.3 Release-Notes] Wirkt sich beim cross-building von rpms aus (Was bei übrigens bei SuSE-7.3 noch andersweitig fehlerhaft ist).
Ich zumindest kenne keine andere Distri ausser SuSE, die noch rpm-3 verwendet.
Dann scheinst Du wohl kaum eine Distri zu kennen. Na denn Klartext: Welche Distri ausser SuSE verwendet rpm-3?
Debian: Deb RH: RPM-4.0.3 MDK: RPM-4.0.4 Slack: *.tgz und RPM-4.0.2 Turbo: RPM-4.0.2 Hab ich eine Distri mit in D nennenswerter Verbreitung vergessen?
und das nach der Umstellung auf RPM-4 kein Update mehr möglich ist ... Inwiefern?
Meines Wissen kommt RPM-4 mit rpm-3-rpms zurecht, rpm-4 kann rpm-3-kompatible rpms erzeugen (wenn sie es jetzt nicht ohnehin sind, eine zeitlang waren sie es mal nicht und RH hat mehrfach daran "herumgeschraubt".). RH hat meines Wissens sogar ihre älteren Distris (IIRC, zurück bis 5.x), nachträglich auf rpm-4.0.3 umgestellt.
Bei einem Update hast Du aber nur rpm-3 zur Verfügung, was keine rpm-4 Datenbank schreiben kann.
Aus einer Mail von J.Johnson: Subject: how do I get from 3.0.6 to 4.0.2 ? [..] Update db3 then update rpm. its quite simple. [..] Da das offensichtlich immer noch zu kompliziert war, aus den 4.0.4 Release-Notes https://listman.redhat.com/mailman/private/rpm-list/2002-March/014661.html [..] rpm-4.0.4 has an internal copy of Berkeley db-4.0.14, so you no longer need to install/upgrade db3 packages. OTOH, support for db-1.85 databases has been removed, only db3 format is supported. In order to upgrade from db1 format you should 1) Immediately do a "rpm --rebuilddb". 2) Install the *-6x rpm packages. Don't forget popt. 3) Do another "rpm --rebuilddb" to convert from db1 -> db3 format. [..] Ralf