Bociek PLD - Pisarz
I. Informacje podstawowe
II. Instalacja
III. Podręcznik użytkownika
IV. Podręcznik administratora
V. Tworzenie PLD - Praktyczny poradnik
W krainie CVS - czyli wielki kocioł
Wstęp
VI. O podręczniku
O tej książce
Spis treści
Inne wersje tego dokumentu
HTML (jeden plik)
Odnośniki
Tworzymy dokumentację PLD
Strona PLD
Listy dyskusyjne PLD

Wstęp

<- ->
 

Umiemy już w miarę klecić nowe spece, naprawiać stare - chcemy dołączyć do drużyny PLD... Musimy mieć więc możliwość pogrania na boisku, a nie tylko zasiadać na trybunach jako widz. Naszym boiskiem będzie CVS a możliwość czytania i pisania do niego (Read-Write) naszym sposobem na grę :)

Jak to życiu, aby coś dostać musimy najpierw się postarać i wykonać parę czynności.

Żeby otrzymać własne konto CVS należy uzyskać poparcie już aktywnych deweloperów. Zwykle osoby wykazujące się aktywnością na listach dyskusyjnych (podsyłające patche, itp.) prędzej czy później są wręcz proszone o zgłoszenie się po konto. W typowym przypadku wystarczy, że trzech deweloperów wyrazi poparcie kandydata na dewelopera (trzeci z nich powinien wskazać mu dokąd powinien się zgłosić po konto). Osoba popierająca kandydata jednocześnie staje się jego opiekunem i nadzoruje jego działania w początkowej fazie. W przypadku gdyby, mimo poparcia przez niektórych, osoba kandydata wywoływała kontrowersje, decyzja o jego przyjęciu (lub nie) będzie podjęta zgodnie z obowiązującą procedurą rozwiązywania konfliktów.

Kiedy już zostaniemy przyjęci, musimy wymyśleć sobie ksywkę i hasło. Potem z linii poleceń wykonujemy jednolinijkowe polecenie - wstawiając za login i haslo odpowiednie dane:

perl -e 'print "login:" . crypt("haslo", join "", (".", "/", 0..9, "A".."Z", "a".."z")[rand 64, rand 64]) . "\n"'

w wyniku którego otrzymamy ciąg znaków podobny do:

login:/APGG.cfeqPpk

Ciąg ten kopiujemy do listu e-mail z prośbą o możliwość RW na CVS PLD i wysyłamy na adres cvsadmin@pld-linux.org

To na razie wszystko co możemy zrobić - trzeba czekać na odpowiedź od władzy CVS. Po kilku, kilkunastu lub kilkudziesięciu dniach przyjdzie mail z odpowiedzią. U mnie była to wiadomość podobna do:

Quoting Marek Ciesielski <marekc@adres.email>: 

> Prosze o dostep RW do CVS PLD.
> dane do <login>:/APGG.cfeqPpk // oczywiście tej linii 
    // w mailu nie ma - dodałem ją dla przykładu :)

Witam, 

twoje konto zostało założone, proszę dopisz się do CVSROOT/users

-- 
Admin CVS <imię i nazwisko> :)

Czyli pierwsze formalności mamy za sobą. Możemy już działać na CVS. Jednak proponuję znowu trochę teorii - tym razem zdecydowana większość dokumentacji jest w języku angielskim. Mamy więc bardzo dobry, oficjalny podręcznik CVS (uwaga ponad 800KB), książkę kucharską CVS (uwaga ponad 600KB) - jest także opis po polsku - stworzony przez developerów PLD, a także książka z cyklu leksykon kieszonkowy "CVS" Gregor N. Purdy (koszt ok. 10PLN) - tak więc jest w czym wybierać.

Jeszcze raz zwróćmy uwagę na maila którego otrzymaliśmy. Jest tam coś o dopisaniu "users". Musimy wykonać zalecenie. Aby to zrobić musimy znowu przygotować sobie środowisko CVS - albo modyfikując istniejące, dotychczasowe konto "anonymous" albo tworząc od początku środowsko w nowym katalogu. Ja wybrałem pierwszy sposób (trochę wbrew zaleceniom z dokumentacji - ale za to szybszy), polega on na modyfikacji każdego pliku "Root" w podkatalogach "CVS" - należy tam wpisać frazę:

:pserver:<nasz_login>@cvs.pld-linux.org:/cvsroot

Czyli w naszym przypadku wchodzimy do katalogu ./rpm i wchodzimy do każdego podkatalogu "CVS" i zmieniamy ręcznie plik "Root" - nie ma w tej chwili tych katalogów wiele, więc nie powinno to sprawić kłopotu.

Proponuję także poustawiać sobie zmienne CVS np. CVSEDITOR itp. (szczegóły - oczywiście dokumentacja).

Następnie możemy już spróbować zalogować się do CVS PLD:

$ cvs login
Logging in to :pserver:<nasz_login>@cvs.pld-linux.org:2401/cvsroot
CVS password:
$

Wpisujemy hasło które wymyśleliśmy i jesteśmy zalogowani. Każdy komunikat błędu oznacza że coś wcześniej źle wykonaliśmy, albo że np. nie działa sieć. Login wykonujemy praktycznie raz i dopóki nie wykonamy polecenia "cvs logout" jesteśmy ciągle gotowi do pracy.

Czas już zabrać się za plik "users"

$ cvs get CVSROOT/users
U CVSROOT/users
$

Do naszego lokalnego repozytorium, do katalogu CVSROOT ściągneliśmy plik users, który służy w PLD do wpisania aliasu pocztowego - przy okazji możemy zobaczyć w jakim towarzystwie przyjdzie nam pracować :)

nasz_login:użytkownik_mail@domena_naszego_email:Imię i Nazwisko:user@jabber.domena

Ostatnie pole jest opcjonalne - wypełniamy je tylko jeśli posiadamy swój własny JID (o ile go posiadamy). Jeśli z różnych przyczyn nie korzystamy z Jabbera - omijamy tę część i zatrzymujemy się na imieniu i nazwisku. Dla zainteresowanych - istnieje oficjalny serwer Jabbera projektu PLD Linux - konta na nim zakłada Mariusz Mazur.

Edytujemy odpowiednio więc plik users (pamiętajmy, żeby zachować alfabetyczną kolejność wpisów) - wystarczy tylko drobna znajomość alfabetu i robimy nasz pierwszy commit - czyli potwierdzamy zmiany.

$ cvs ci CVSROOT/users // po tym poleceniu edytujemy log
Checking in CVSROOT/users;
/cvsroot/CVSROOT/users,v <-- users
new revision: 1.40; previous revision: 1.39
done
cvs server: Rebuilding administrative file database
Mailing the commit message
$

Po wydaniu polecenia cvs ci CVSROOT/users otworzy się nasz ulubiony edytor i pojawi się coś podobnego do:

- added nasz_login // tu wpisujemy komentarz z kreseczką i po angielsku!!!
CVS: ---------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:` are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Updated Files:
CVS: CVSROOT/users
CVS: ---------------------------------------------------------------------

Właśnie dokonaliśmy pierwszej zmiany w repozytorium PLD. Od tej chwili każdy mail adresowany na <nasz_login>@pld-linux.org trafi na naszą skrzynkę pocztową.

Dalsza część naszych rozważań będzie już w formie konkretnych przykładów, ponieważ to co chcemy zrobić w repozytorium CVS PLD zależy od konkretnych potrzeb. Od tej chwili nikt już nas za rączkę nie będzie prowadził, a czekają nas pot, krew, łzy i pierwsze "recenzje" naszych poczynań - np. na grupie PLD-devel czy kanale #PLD - a jedynymi nagrodami będzie brak tych recenzji, zdobyta wiedza, satysfakcja i działające paczki, których przez chwilę nikt na świecie nie będzie miał :)

 
&lt;- ->