Propozycja przeorganizownia pld.
Grzegorz Stanislawski
stangrze w open.net.pl
Wto, 11 Maj 1999, 13:51:28 CEST
Witam.
Poniewaz jak moglem sie ostatnio przekonac ftp.pld.org.pl w dalszym ciagu
nie ma nic wspolnego z tym co dzieje sie w pld (CVS'ie) oraz majac na
uwadze problemy w samym cvs'ie pozwolilem sobie na wymyslenie nowej
struktury zasobow PLD i panowania nad nimi.
Usilnie prosze o konstruktywna krytyke, uwagi, glosy poparcia etc.
Oto ona:
1. Struktura katalogow, wraz z krotkim opisem:
/ - root (od czegos trzeba zaczac ;-)
/src - zrodla
/src/orig - oryginalne pakiety programow utworzone przez
ich autorow
/src/diff - dify pomiedzy powyzszymi i tym co bedzie w pld
/src/specs - spece
/src/misc - inne potrzebne do zrobienia pakietu (np ikony)
/dist - katalog "wynikowy" z dystrybucja.
/dist/SOURCE - linki do wszystkiego w /src/orig /src/diff
i /src/misc
tak zeby bylo kompatubilnie z rpm'em
/dist/SPECS - link do /src/specs
/dist/SRPMS - tu beda zlatywaly *.src.rpm po przebudowaniu
pakietu
/dist/RPMS - a tu binarki
/work - katalog w ktorym beda znajdowac sie aktualnie
obrabiane pakiety. zawatrosc tego katalogu
bedzie sie dynamiczna. to powinien byc CVSROOT.
/work/program-0.0.0 - na przyklad jakis program.
2. glowne zalozenia:
- prace powinny byc prowadzone na pakietach oryginalnych dostarczanych
przez autorow (tar.gz), nie na pakietach z np. RH (oczywiscie mozna od
nich sciagac)
-praca nad kazdym pakietem powinna miec swoj jasno okreslony poczatek
(pojawienie sie pakietu lub nowej jego wersji) i koniec (doprowadzenie do
konca adaptacji dla pld). Kazde z tych zdarzen powinno automatycznie
(poprzez jakies skrypty) dokonywac zmian w zasobach (jakich to ponizej).
3. dostep.
Po kolei:
ro wszyscy do wszystkiego
rw:
/src/orig - robot(1) i/lub maitainer dystrybucji
/src/diff,
/src/specs - robot odpalany z cvs'a (2)
/dist - robot(3) "przepakowywacze" pakietow. Jakas mala grupka
ludzi ktorzy lubia takie rzeczy robic ;-)
/work - robot(1) lub maitainer dystrybucji
/work/program - zainteresowane osoby.
/src i /dist powininny byc mirrorowane przez mirrory ;-)
4. Procedura na przykladzie pakietu.
a. Po odkryciu programu ktory nadawal by sie do dystrybucji jego
odkrywca/maintiner odpala robota(1) ktory sciaga to z sieci robi
cvs import -m "Import $PROGRAM v. $VERSION" /work/$PROGRAM $VENDOR $VENDOR_$VERSION
i informuje na liscie.
Jesli program jest juz "przetwarzany" przez pld-team tzreba robic
osobny branch -b $VERSION)
b. Zainteresowane pakietem osoby robia sobie cvs co /work/pakiet i
obrabiaja go przez jakis czas. Jesli program byl w trakcie trzeba sie to
zdecydowac czy i kiedy laczyc to z branchem vendora.
c. Kiedy uda sie doprowadzic do prace nad pakietem do jakiegos konca jego
maitainer powinien postawic tag'a a robot(2) (odpalany z przez cvs'a
zgodnie z wpisem do CVSROOT/taginfo) wygeneruje diffa i przekopiuje jego
oraz speca do odpowiednich katalogow w /src i uruchomi robota(3)
ewentualnie powiadomi "przepakowywaczy" i testerow.
d. Jesli robot(3) pojdzie bez problemow to w tym momencie beda gotowe
pliki z programem, spec, src.rpm i %{arch}.rpm.
Jesli nie lub jesli testerzy wskaza bledy, trzeba sie wrocic to punktu b.
5. Roboty.
Roboty 2 i 3, powinny byc dosc proste.
robot 2: kilka razy cp, ln -s, cvs log|grep >>pakiet.spec (uzupelnienie
changeloga) i ewentualnie mail na liste.
robot 3: to tylko rpm -ba pakiet.spec
Robot 1 chyba najtrudnejszy IMHO najlepiej biaracy dane z formularza na
www. robi wget, pare cp, cvs import i mail na liste.
Wady jakie zauwazylem: Nie jestem pewien czy nie jest to zbyt
sformalizowane i bezduszne. Bedzie to tez zajmowac troche wiecej dysku i
procesora na serwerze.
Grzegorz Stanislawski
Open-Net / PKFL
Więcej informacji o liście dyskusyjnej pld-devel-pl