|
Sam przykład zatwierdzania zmian mogliśmy poznać wcześniej. Jest to najczęściej wykonywana operacja na CVS.
Jednak chciałbym zwrócić uwagę na inny sposób składowania źródeł natywnych. W pewnym momencie okazuje się, że składowanie wszystkich plików w repozytorium CVS jest mało efektywne i powoduje zbyt duże obciążenia serwerów. Dlatego też w PLD zastosowano mechanizm
Distfiles którego krótki opis możemy odszukać
tu. W wielkim skrócie oznacza to że preparując odpowiednio spec (pamiętacie tajemnicze md5?) i korzystając z odpowiednich opcji programu ./builder możemy sterować ściąganiem plików do distfiles. Tak naprawdę najczęściej wykorzystane są dwie opcje ./builder - "5" i "U". Jest to także powód używania programu ./builder (a nie frazy "rpmbuild -ba"), którego kopię najlepiej ściągnąć z CVS. Pamiętajmy także o tym, że w systemie istnieje inny builder, który jest dostarczany z narzędziami rpm ale oczywiście nie ma on możliwości pracy z distfiles. I jeszcze jedna uwaga: Distfiles jest przeznaczony tylko dla źródeł natywnych - wszelkie patche i nasze pliki dodajemy normalnie do CVS (najczęściej do katalogu SOURCES).
Oto przykłady użycia ./builder z odpowiednimi opcjami:
$ ./builder -5 mantis.spec
# $Revision: 6218 $, $Date: 2004-09-26 17:31:14 +0200 (nie, 26 wrz 2004) $
--20:32:59-- http://dl.sourceforge.net/mantisbt/mantis-0.18.0a4.tar.gz
=> `mantis-0.18.0a4.tar.gz'
Translacja dl.sourceforge.net... zrobiono.
Łączenie się z dl.sourceforge.net[193.1.219.87]:80... połączono się.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 485,797 [application/x-tar]
100%[====================================>] 485,797 17.99K/s ETA 00:00
20:33:25 (17.99 KB/s) - zapisano `mantis-0.18.0a4.tar.gz' [485797/485797]
Updating source-0 md5.
$ |
Opcje "5" i "U" są podobne, z tym że "5" próbuje poprawić md5 korzystając z istniejącego sources w lokalnym repozytorium. Natomiast "U" próbuje zawsze ściągnąć źródła z podanego przez spec URL. Taka jest teoria. Ja praktycznie używam opcji "U" kasując wcześniej źródła z lokalnego repozytorium, ponieważ w innym przypadku wyskakują dziwne błędy o konflikcie z parametrem -nd
$ ./builder -U mantis.spec
# $Revision: 6218 $, $Date: 2004-09-26 17:31:14 +0200 (nie, 26 wrz 2004) $
--20:44:39-- http://dl.sourceforge.net/mantisbt/mantis-0.18.0a4.tar.gz
=> `mantis-0.18.0a4.tar.gz'
Translacja dl.sourceforge.net... zrobiono.
Łączenie się z dl.sourceforge.net[193.190.198.97]:80... połączono się.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 485,797 [application/x-gzip]
100%[====================================>] 485,797 18.80K/s ETA 00:00
20:45:04 (18.80 KB/s) - zapisano `mantis-0.18.0a4.tar.gz' [485797/485797]
Updating source-0 md5.
$ |
|
|