[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Eigenes deb-repository managen



Am Freitag, den 12.05.2006, 15:10 +0200 schrieb Andreas Pakulat:
> On 12.05.06 14:16:40, Daniel Leidert wrote:
> > Am Freitag, den 12.05.2006, 13:59 +0200 schrieb Andreas Pakulat:

[..]
> > http://wiki.debian.org/HowToSetupADebianRepository
> 
> Sieht danach aus als ob das ein debarchiver Nutzer geschrieben hat ;-)

Nein, nicht wirklich :) Selbst der Hinweis auf mein Howto stammt nicht
von mir selbst - über den bin ich aber auf die Seite gekommen :)

[..]
> > >   so dass ich neue Pakete nur
> > >   in das Verzeichnis legen muss und nach einiger Zeit sind die
> > >   Paketlisten aktualisiert
> > > - Entfernen von Paketen einfach moeglich
> > 
> > reprepro oder dak
> > Für debarchiver mach ich das händisch.
> 
> Soll heissen debarchiver laesst alte Versionen im Repository wenn neuere
> reinkommen?

Nein, soll es nicht und macht debarchiver auch nicht. Du sprachst von
"Entfernen". Also wenn du ein Paket _komplett_ entfernen willst,
benötigst du Zugriff auf das Dateisystem. Im gegensatz zu reprepro kennt
debarchiver keine Kommandos, um ein Paket aus dem Repository und
override(.src) zu löschen. Bei Updates eines Pakets im Repository werden
die alten dateien mit Ausnahme der .orig.tar.gz gelöscht.

> Nee, das will ich definitiv nicht. Was ich meinte war dass
> ich Pakete ganz aus dem Repos entfernen kann wenn ich sie nicht mehr
> brauche.

Darauf bezog ich mich.

> Mit debpool geht das momentan nicht, wenn ich da die debs
> loesche meckert er bei jedem Aufruf.

Bei debarchiver lässt man das Programm danach einfach noch einmal mit
der Option --scanall laufen und die ganzen Index-Dateien werden neu
erstellt. Hatte debpool das nicht? Würde mich wundern.

> Man kann sich aber recht leicht die
> GNU dbm's mit nem Python-Skript vornehmen und die Eintraege daraus
> entfernen. Genau diese 2 Schritte soll mir das Tool abnehmen, also
> entweder automatisch merken dass die Pakete weg sind und entsprechend
> aus der Datenbasis+Paketliste entfernen, oder aber dass ich ihm mit ner
> speziellen Option sage: Entferne Paket X.

Ersteres handhabe ich eben über genannte Option (ich habe ja Zugriff auf
den Server) und ein Cron-Skript. Letzteres kenne ich von reprepro, kann
aber nur lokal eingesetzt werden.

> > > - Unterstuetzung fuer sid+experimental
> > 
> > Was soll daran problematisch sein?
> 
> Hmm, also reprepro sah mir irgendwie nicht danach aus als ob es das auf
> die Reihe bekommen wuerde, aber ich habs zugegebenermassen nicht
> ausgetestet...

Glaube ich nicht, dass reprepro damit Probleme hätte. Und falls doch,
Bernhard Link ist sehr aktiv (IIRC das aktivste oder 2.-aktivste Projekt
auf Alioth) und man kann ihn eigentlich immer erreichen (mein
persönlicher Eindruck).

> > > - ausfuehrliche Fehlermeldungen wenn Pakete nicht "passen" (z.B. ein deb
> > >   vergessen) und Pakete werden nicht "geloescht" sondern nur in ein
> > >   rejected Verzeichnis bewegt
> > 
> > Oh Gott. Ich glaube, da hat nur dak viele Meldungen.
> 
> Naja, debpool sagt mir halt wenn es ein Paket nicht einpflegen kann was
> ihm da gefehlt hat. Sowas meinte ich, nicht einfach nur das Paket
> verwerfen...

Ist in debarchiver rudimentär vorhanden und ließe sich auch erweitern
(ist auch angedacht). Es fehlt nur an einer Person, die diesen Part
erweitert. Meine reprepro-Erfahrungen beziehen sich auf längst
vergangene Zeiten, so dass ich darüber nichts sagen kann.

> > Für debarchiver ist das angedacht, aber es fehlt an Schreibern.
> 
> Ich glaub debpool fehlt es auch an Schreibern, das ist immernoch in
> experimental...

Arbeitet Joel überhaupt noch an debpool? Ich dächte, ich habe ihn schon
hin- und wieder mal bei Diskussionen um debarchiver im CC gesehen.
Könnte mich da allerdings auch irren.

> > > Das waers glaub ich fuers erste. Was ich bereits gefunden und wieder
> > > gestrichen habe:
> > > 
> > > debarchiver - nur potato-struktur
> > 
> > Ja, und? Dafür braucht es keine Datenbank
> 
> debpool braucht auch keine Datenbank, ausser du nennst gdbm ne
> Datenbank. Das ist IMHO aber eher ein serialisiertes Dictionary.

Hmm. Ja, sicher kein Monster wie MySQL oder PostgreSQL.

[..]
> > (IMHO nahezu) perfekt. Die Incoming-Mechanismen sind bisher am besten
> > (ich nutze es lokal und remote).
> 
> Kannst du mir mal (gerne per PM) sagen wie das im Unterschied zu debpool
> funktioniert bei debarchiver?

http://debian.wgdd.de/howto/howto-aptrep#aptrep_custom_dput

Also es gibt mehrere Möglichkeiten: Es gibt ein generelles incoming/
Verzeichnis, aus dem nur Pakete mit einer .changes-Datei einsortiert
werden können. Entscheidend ist hier, was im 'Distribution:'-Feld
der .changes-Datei steht. Alternativ können Pakete mit und ohne .changes
Datei in festgelegte (zugeordnete) Verzeichnisse einsortiert werden,
z.B. incoming/sarge, incoming/sid ... Pakete, die in diesen
Verzeichnissen landen, werden dann in den spezifizierten Zweig sortiert.
Das ist aktuell auch ein Workaround, um ein Paket zu "verschieben". Die
Verzeichnisse werden per Cron-Job kontrolliert.

> Bei debpool packe ich die dsc, changes,
> debs, diff.gz und source.tar.gz in ein Verzeichnis und debpool
> uebernimmt das dann.

debpool war da ähnlich, kann aber nicht so granular damit umgehen, wohin
ein Paket sortiert werden soll und es konnte, du hast es IMO genannt,
auch nicht mit einen Binary-only-Paketen umgehen. Im Abschnitt 2.2 des
Howtos, bin ich auch auf die Unterschiede zwischen den verschiedenen
Lösungen eingegangen.

> Was fehlt ist eine Mail mit dem Ergebnis zu
> verschicken.

Macht debarchiver. Da gibt es verschiedene Möglichkeiten, wer die Mail
erhalten soll (@mailtos).

> Wenn das incoming-Verzeichnis von remote-aus zugreifbar
> ist, also per ssh, FTP, HTTP-Put oder sonstwie kann man das Repository
> auch remote ablegen...

Ich mach das remote per sftp und dput.

[..]
> BTW: Ich fand bei den Recherchen grade heraus das debpool sehr wohl
> binary-only uploads unterstuetzt...
> 
> Werde ich also mal schauen was ich mit debpool so anstellen kann. Wenn
> ichs mir genau ueberlege sollte es kein zu grosses Problem sein fuers
> erste die --rebuild-db-Funktion mit Leben zu erfuellen und damit dann
> das Entfernen von Paketen zu erlauben...

Gib Bescheid, wenn du debpool die Schwächen ausgemerzt hast. Vielleicht
wechsle ich dann ;)

MfG Daniel



Reply to: