[packman] (fwd) Packman - Release enthält buchstaben

Ralf Corsepius corsepiu at faw.uni-ulm.de
Sun Jun 29 06:51:44 CEST 2003


Am Sam, 2003-06-28 um 17.38 schrieb Markus Gaugusch:
> On Jun 22, Ralf Corsepius <corsepiu at faw.uni-ulm.de> wrote:
> > > Punkte stören mich gewaltig, da sonst mein Programm (fou4s) gewaltig
> > > ausser Schritt und Tritt kommt.
> > ... dann hat dein Programm ein Problem.
> Ok, eigentlich war es nur ein Teil davon, und selbst dieser ist jetzt
> gefixed. Ich hoffe es bringt keine schlechten Nebeneffekte, aber was solls
> ... Das problem ist nämlich, aus directory listings "richtig" den namen
> und die version rauszukitzeln. Und da die dateinamen oft verschieden
> kodiert sind (name.rpm, name-version-release.rpm
> name-version-release.arch.rpm) wird es schon recht schwierig...
Yep. 

Hinzu kommt noch, dass rpm selbst den Dateinamen nicht wirklich
verwendet, sondern die innerhalb eines rpms enthaltenen NAME, EPOCH,
VERSION und RELEASE Tags.

An diese kommst Du nur dadurch, indem Du mittels rpm, rpmlib oder
wrappern um diese herum. Das ist der Grund, warum apt4rpm zur
Versionsabfrage rpm verwendet, apt-rpm verwendet bisher rpm, in Zukunft
wahrscheinlich rpmlib, yum verwendet einen python-Wrapper um rpmlib.

Richtig kompliziert wird es, wenn rpms 
* tatsächlich "EPOCH"s verwenden  Diese sind im Allgemeinen nicht aus
dem Dateinamen erkennbar und werden ausserdem von unterschiedlichen
RPM-Versionen unterschiedlich behandelt.

* unterschiedliche Rpms in unterschiedlichen Version für
unterschiedliche ARCHs vorhanden sind. 
Beispiel: Was soll auf einem P4-System installiert werden?
xyz-1.2.i686.rpm oder xyz-1.3.athlon.rpm?

> > In RPM's RELEASE und RPM-VERSION Tag sind sie zulässig und werden von
> > vielen RPM Autoren und selbst von Distributoren verwendet.
> Nicht von SuSE, aber egal.
Genau. Das ist mit ein Grund, warum Packman es tut. 

Es ermöglicht es Packman ein SuSE xyz-1.2.i586.rpm durch ein Packman
xyx-1.2.pm.0.i586.rpm Paket zu ersetzen, was, wenn es von SuSE eine
neuere Version geben sollte (xyz-1.3.i586.rpm) wiederum von dieser
ersetzt werden kann, (Ich weiss, das funktioniert nicht immer, ... ;) )

Doch wie an anderer Stelle in diesem Thread schon angemerkt: Mandrake
und Freshrpms verwenden Buchstaben, Redhat und Ximan zusätzlich noch
Punkte.

RPM selbst lässt beides zu. Weder Maximum-RPM noch der LSB gehen darauf
ein.

>  Es sollte jetzt gehen.

;)

Ralf






More information about the Packman mailing list