Jest to znacznie bardziej skomplikowane. Ideą pakietów Debiana jest to, że zawierają one wszystkie informacje potrzebne do zbudowania strony. Zwykle źródło jest modyfikowane tak, aby zawierało katalog debian
, który zawiera plik control
opisujący zależności tego pakietu i innych pakietów, z którymi współdziała (np. Przerwy, zastępuje, zapewnia pakiet wirtualny). Plik rules
wyjaśnia, w jaki sposób zbudować i zainstalować pakiet. Istnieją również opisy dotyczące pakowania, ponieważ pakiet pojedynczego źródła może stać się wieloma pakietami binarnymi (np. foo-utils
, libfoo0
, libfoo-dev
). debuild
faktycznie odczytuje tę informację, wykonuje kompilację i tworzy pakiety binarne. Subtelność: jeśli foo
używa libbar-dev
, może nie wiem/jakiej wersji pakietu binarnego używam libbar
. pbuilder
działa debuild
w czystym środowisku, więc nie ma szansy na kompilację w stosunku do rzeczy, które nie zostały wyraźnie określone.
Aby uzyskać szczegółowe informacje, zapoznaj się z Debian New Maintainers' Guide.
Świetna odpowiedź! Jeszcze jedno pytanie. W przykładzie podanym tutaj mamy oryginalny kod (upstream) i diff po zmianach opiekuna. Kiedy nowa wersja oryginalnego kodu zostanie "zdebianizowana", jak opiekunowie będą śledzić zmiany? Łączą różnice między poprzednią wersją deb a nową wersją kodu źródłowego? Czy używali jakiegoś CVS? –
Po wydaniu nowej wersji zwykle po prostu ponownie zastosują łatki w starym '.diff.gz'. Jeśli coś się zepsuje, zaczną kopać. Niektórzy opiekunowie mogą używać 'git' lub' quilt' lub innych narzędzi, o których nie wiem, ale o ile wiem, naprawdę zależy to od opiekuna pakietu. – andrewdotn
Niektóre z linków w Twojej odpowiedzi są zepsute. –