[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Budowanie pakietów: MINI-HOWTO [było php-4.x i mysql-3.23.49 problem]



On Sun, Feb 24, 2002 at 08:49:14PM +0100, Marek Wysmulek wrote:
> 
> > http://packages.debian.org/mysql-server
> 
> > Tędy dostaniesz się również do pakietów źródłowych.
> 
> Dziekuje (ale juz tam bylem ;-))))
> 
> Problem polega na tym jak przez apt lub dselect'a dobrac sie do tych
> powiazanych
>  pakietow.

Chyba mylisz pakiety źródłowe z binarnymi.

-------------------------------------------------------
I. Archiwum oryginalne (zwane także "upstream tarball")
-------------------------------------------------------

Autor programu zazwyczaj udostępnia go w postaci archiwum .tar.gz
zawierającego źródła. Jest ono zazwyczaj dostępne gdzieś na stronie
danego pakietu (w tym przypadku mysql.org)

----------------------------
II. Pakiet źródłowy Debiana
----------------------------

Opiekun pakietu Debiana tworzy z tego archiwum tak zwany pakiet
źródłowy, który w rzeczywistości składa się z trzech plików:
 - archiwum .tar.gz ze źródłami - (zazwyczaj nie zmodyfikowanego
   w stosunku do oryginalnego archiwum)
 - pliku .diff.gz, zawierającego modyfikacje archiwum .tar.gz poczynione
   przez opiekuna pakietu Debiana
 - pliku .dsc, zawierającego nazwy dwóch poprzednich plików, ich sumy
   kontrolne, i jeszcze kilka mniej istotnych informacji.

Pakiet źródłowy Debiana można znaleźć przechodząc przez URL:
http://packages.debian.org/nazwa-pakietu (Na samym dole strony 
opisującej konkretną wersję pakietu są odnośniki do wymienionych
trzech plików).

-----------------------------------------
III. Budowanie pakietów binarnych (.deb)
-----------------------------------------

Pakiet źródłowy (czyli te trzy pliki), po pobraniu do jednego katalogu
rozpakowuje się przy pomocy komendy:

dpkg-source -x nazwa_pliku.dsc

Komenda ta powoduje rozpakowanie pliku tar.gz i nałożenie modyfikacji
zawartych w pliku .diff.gz

Po wejściu do katalogu z rozpakowanym pakietem źródłowym można [1] zbudować
pakiety binarne (czyli pliki .deb, gotowe do instalacji) przy pomocy
polecenia:

dpkg-buildpackage -rfakeroot -uc -us

Ad. [1]: Do zbudowania pakietów binarnych trzeba mieć najczęściej
zainstalowane w systemie odpowiednie "rzeczy", (zwane
build-dependancies). Chodzi o takie rzeczy jak kompilator, program make,
biblioteki itp... W tym celu trzeba zainstalować:
 - pakiet build-essentials i jego zależności
 - pakiety wymienione w polu "Build-Depends" w pliku debian/control w
   pakiecie źródłowym, z którego chcemy zbudować binaria.

--------------------------------
IV. Po co to wszystko wiedzieć?
--------------------------------

NIE należy próbować instalować pakieów binarnych skompilowanch dla innej
dystrybucji, niż się ma zainstalowaną. Często w ogóle się to nie uda,
lub będzie wymagało niemałej wprawy i dużej wiedzy.

Jeśli jednak potrzebna jest nowsza wersja pakietu, niż dostępna w
dystrybucji stabilnej, można pokusić się o pobranie pakietu _źródłowego_
(patrz punkt III.) z innej dystrybucji i zbudowanie z niego pakietów
binarnych (.deb) w stabilnej dystrybucji, dzięki czemu będzie można je
względnie bezpiecznie zainstalować.

Oczywiście może się zdażyć, że nawet pakiet _źródłowy_ w wersji
z dystrybucji "woody" (in. testing) czy "sid" (in. unstable) wymaga
pewnych pakietów, które nie są w ogóle dostępne w potato (stable), lub
ich wersje w tej dystrybucji są zbyt stare. W takiej sytuacji pozostaje
chyba tylko rekurencyjne zastosowanie wymienionej wyżej procedury w
stosunku do wymaganych zależności pakietu źródłowego :-)

Marcin
-- 
Marcin Owsiany <porridge@debian.org>             http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216



Reply to: