CVS znowu.

Tomasz Kłoczko kloczek w rudy.mif.pg.gda.pl
Śro, 20 Sty 1999, 18:05:36 CET


On Wed, 20 Jan 1999, Grzegorz Stanislawski wrote:

> Witam.
>  Tomku czy moglbys mi wyjasnic jak dodac nowy katalog do CVS'a?
>  Ani add ani import nie dzialaja.

Każde repozytorium CVS ma pewien moduł który nie musi być nigdzie
rejestrowany. Nazywa się on CVSROOT. Każdy moze sobie go ściągnąć przez
"cvs get CVSROOT". Jest to moduł służący do administrowania repozytorium.
Jest on automatycznie tworzony w momencie inicjacji rrepozytorium 
("cvs init"). W tej chwili jest tak, że poprzez zmianę właściciela tego
katalogu zostawiłem sobie prawo do modyfikacji tych zasobów. W Module
CVSROOT jest między innymi plik modules, w którym znajduje się rejestracja
modułów i aliasów modułow. W tej chwili w CVSROOT są najtępujące pliki:

checkoutlist
commit_prep2
commitinfo
config
cvswrappers
editinfo
loginfo
modules
newlog.pl
notify
rcsinfo
taginfo
verifymsg

pliki newlog.pl i commit_prep2 to są skrypty do commit notify na wybrany
adres. Reszta plików to są pliki opisujące samo repozytorium. Te dwa
skrypty kiedyś zassałem z CVSROOT z GNOME. De facto w w /cvsroot/CVSROOT
na cenzorze znajduje się jeszcze kilka innych plików:

adresy
checkoutlist
commit_prep2
commitinfo
config
cvswrappers
editinfo
history
loginfo
modules
newlog.pl
notify
passwd
rcsinfo
readers
taginfo
verifymsg
writers

Jak ktoś sobie porówna te dwie listy to zauważy, że różnią się one
plikami: passwd, readers, writers, adresy i te pliki nie są
zarejestrowane w repozytorium. Plik adresy to jest plikiem w którym
trzymam informacje o adresach kontaktowych (będzie można w razie czego
wykorzystać to do automatycznego powiadamiania autora zmiany o tym czy
automatyczne budowanie pakietu po dodaniu zmiany przeszło poprawnie lub po
to żeby wysłać raport o błędzie). passwd zawiera hasła dostępowe
użytkowników (wszystkich w tym i nobody, anonymous i cvs) w postaci
linijek "login:<crypted_password>". Plik readers zawiera w kolejnych
linijkach loginy tych osób, które mają dostęp RO (w tej chwili są tam:
anonymous, cvs, nobody). Plik writers zawiera listę tych osób które
posiadają dostęp RW do zasobów.

Żeby postronne osoby nie mogły wyciągnąć danych o użytkownikach i ich
haseł to pliki: writers, passwd nie są zarejestrowane w CVS czyli są tam
poprostu ręcznie wstawione.

>  Chcialem wstawic te initscriptsy. W koncu do mnie dotarlo ze w stablu
> wogole ich nie ma. Chce to zrobic tak, zeby wstawic ostatnia wresje
> RedHatowa, zrobic rename na initscripts_PLD, zaczac numerowanie od
> poczatku i powstawiac wszystko co odalo sie nam wyplodzic w tym temacie od
> poczatku.

W tej chwili w devel pakiet zawierający skrypty startowe nazywa się
rc-scripts. Proponowałem kiedyś nazwę rc.scripts ale skoro już jest taki
pakiet w devel to może zostać i rc-scripts. Zaraz dodam moduł rc-scripts i
będzie można wrzucać do niego co bedzie potrzebne.

>   Znowu wracam do tematu zrodel w cvs'e. IMHO trzymanie samych patch'ow,
> jak jest teraz, jest (bez obrazy) idiotyczne. Patche sa sprawa wtorna w
> stosunku do pracy nad zrodlami i miedzy innymi wlasnie cvs sluzy do ich
> produkowania. Jak juz nie chcesz robic tych katalogow z grupami jak
> sugreowalem ostatnio to przynajmniej zrob katalog BUILD i w nim niech beda
> zrodla (w takim stanie jak po rpm -bp).

Nie sugeruj się tym, że to są patche. Traktuj to tak samo jak inne zasoby.
Patche też z wersji na wersję źródeł będą mogły ulegać zmianom i te zmiany
miałyby być rejestrowane w CVS.

W tej chwili struktóra modułów jest dlatego taka, a nie inna żeby były one
odzwierciedleniem drzewka roboczego w którym robi się zwykle pakiety. Stąd
moduł rpm (można może to jakoś inaczej nazwać, bo może to sugerować, że
zawiera on np. źródła samego rpm-a, co nie jest prawdą), a w nim dwa
podkatalogi, które powstają ze złożenia dwuch innych modułów o nazwie
SPECS, SOURCE, które to są aliasami na PLD-specs, PLD-sources, Możnaby
może w module rpm (czy jak ona tam się w razie czego będzie nazywać)
zrobić dodatkowe moduły, któtre będą puste (i nie będzie w nich praw
zapisu) o nazwach BUILD, RPMS, SRPMS po to żeby zaciągająć moduł rpm czy
ALL mieć gotowe drzewko robocze do rozpoczęci prac z pakietami.

W komplecie nazrzędzi powinien być jeszcze chyba skrypt/nakładka na rpm-a
do zaciągania brakujących archiwów z jakiegoś URLa będącego bąć tym co
będzie na ftp PLD bąć na jakimś najbliższym mirorze, którey po
sprawdzeniu czy w SOURCES jest komplet źródeł w razie czego zaciągałby
potrzebne tar.{gz|bz2} i patche z CVS, a następnie wykonywał
"rpm -b<literka> ...".

Tak jak to widzę. Jeżeli masz alternatywny pomysł ..

kloczek
PS. Dzisiaj wysałem formulaż o rejestrację domeny pld.org.pl.
Prawdopodobnie na dniach będziemy to już mieli. Będzie można nareszcie
zgrupować w jedną domenę te wszystkie zasoby które mamy rozproszone po
różnych zakątkach.
-- 
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*



Więcej informacji o liście dyskusyjnej pld-devel-pl