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