[packman] Benennung von RPM's

Soeren Mindorf soeren at mindorf.org
Fri Mar 7 08:15:02 CET 2003


Hi zusammen,

* Ralf Corsepius schrieb am 07 Mär 2003:

>Am Don, 2003-03-06 um 11.12 schrieb Hendrik Muhs:
> >
>> > Da ich erst seit gestern bei Euch Mitglied bin, habe ich natürlich
>> > auch ein paar Fragen, die ich jetzt gerne stellen möchte. ;)
>> >
>> > 1.) Meine Pakete heißen alle so in der Art:
>> > *-SuSE81-4.i386.rpm
>> 
>> Wir haben dafür Verzeichnisse(suse/8.1), also ist das SuSE81 nicht notwendig. 
>> Ansonsten versuche ich mich weitestgehend an den "SuSE"-Standard zu halten, 
>> soll heissen, wenn das Paket ein Update eines bestehenden SuSE-Paketes ist, 
>> sollten die Pakete auch genauso heissen und sich quasi nur in der 
>> Versionsnummer unterscheiden.
>Das ist so nicht ganz richtig. 
>
>Für ein Update muss der Paketname identisch sein und das
>$Epoch:$Version-$Release Tripple muss  in RPM-Sinne "grösser" sein als
>das von SuSE verwendete.
>

Ok, ich habe die Pakete wieder umbenannt und neu erstellt.
Aber wie soll ich die Patchlevel größer gestalten, als die von SuSE. 
Ich kann ja nicht wissen, welche PAtchlevel sie als nächstes
herausbringen.

>
>Ab hier hier wird es schwierig, da RPM-Versionsvergleiche äusserst
>kompliziert sind.

Nicht das ich jetzt schon verwirrt wäre, nein. ;)

>
>
>Ein Beispiel:
>
>SuSE kommt mit xyz-1.0-123.i586.rpm
>
>1. Nun kommt xyz-2.0 heraus. 
>
>Für einen Update würde ich xyz-2.0-0 (Version: 2.0, Release: 0)
>verwenden, da SuSE-RPMs normalerweise Releasenummern > 0 tragen 
>
>Da 0:2.0-0 immer kleiner als 0:2.0-N (mit N > 0) ist, sollte
>sichergestellt sein, dass ein SuSE-RPM immer "neuer" ist.  
>
>
>2. Du stellst fest, dass dein xyz-2.0-0 fehlerhaft ist und ersetzt
>werden muss.
>
>Hier würde ich nun nicht Neues_Release := (Altes_Release+1) verwenden,
>da sonst ein Konflikt mit einem möglichen zukünftigen SuSE-Paket
>entstehen könnte.
>(SuSE's xyz-2.0-1.i586.rpm vs. Packman xyz-2.0-1.i586.rpm)

Ok, soweit habe ich es verstanden und klingt logisch.

>
>Ein sicherer Weg besteht darin das Release (Genauer: Den Releasestring)
>zu verlängern (beachte Releases sind Strings, keine Ziffern), also
>Neues_Release := "Altes_Release" . "Irgendwas"
>zu verwenden.
>z.B.: xyz-2.0-0_1.i586.rpm, 
>oder wie von RedHat für RawHide rpms teilweise verwendet:
>xyz-2.0-0.1.i586.rpm

Wie wäre es, wenn wir uns hier einigen, wie wir da verfahren wollen.

(Wie gut, das SuSE diese Pakete, die ich veröffenlticht habe nicht
anbietet. ;))

[den PArt mit der Epoche habe ich mal ignoriert ;)]

>[Solange SuSE auf ihrem Steinzeit-RPM-3.0.x verharrt, oder Ihr RPM
>entsprechend modifiert, wird das unter SuSE keine Auswirkungen haben]
>
>>  Das ist auch wichtig für Leute wie ich, die apt 
>> benutzen.
>Das stimmt nur mit Einschränkung: Mittels Pinning lassen sich derartige
>Probleme in der Regel umschiffen.

Was ist Pinning?

>
>> Bei neuen Paketen ist dir die Namensgebung mehr oder weniger selbst 
>> überlassen, sollte sich aber am allgemeinen Standard halten, also 
>> %name-%version....
>Strenggenommen ist der Dateiname irrelevant. Worauf es ankommt, sind die
>innerhalb eines RPMs enthaltenen Einträge.
> 
>> >
>> > Ist das so in Ordung oder muß ich die ganzen Pakete neubauen?
>> >
>> > 2.) Wenn ja, soll ich dann den Zusatz SuSE81 weglassen?
>> 
>> ja, siehe oben
>ACK, ein Release "SuSE81-[0-9]?" ist immer grosser/neuer als ein RPM mit
>Release "[0-9]?". Dein Release: SuSE81-* verhindert somit einen Upgrade
>auf ein offizielles SuSE-RPM.

Ok, schon geschehen und ich habe die Pakete schon veröffentlicht. ;)

>
>> >
>> > 3.) Stimmt das mit i386, oder soll ich da lieber i586 draus machen?
>> > Wenn ja, wo stelle ich das ein?
>> 
>> Benutze bei rpm:
>> 
>> --target=i586
>> 
>> oder halt i686, je nachdem was du machen willst.
>
>Nun, es macht genau das was Du willst, streng genommen ist es aber nicht
>richtig. 
>
><pedantic>
>Eigentlich richtig wären --target=i586-suse-linux,
>--target=i586-suse-linux-gnu oder --target=i586-pc-linux-gnu
>
>Doch weder SuSE's rpm noch die rpm-Versionen anderer Distris können
>damit umgehen.

Ok, dann mache ich es mit --target, damit es keine Schwierigkeiten
gibt.

Vielen Dank für die Antworten.

Ich denke auch, es ist eine gute Idee, eine Developer-FAQ zu
erstellen, damit diese Fragen dann gleich von anfang an geklärt
sind. ;)

Gruß
Sören
 




More information about the Packman mailing list