Scroll to navigation

dpkg-buildpackage(1) programy pomocnicze dpkg dpkg-buildpackage(1)

NAZWA

dpkg-buildpackage - buduje pakiety źródłowe lub binarne ze źródeł

SKŁADNIA

dpkg-buildpackage [opcja...]

OPIS

dpkg-buildpackage jest programem automatyzującym proces budowania pakietu Debiana. Proces ten składa się z następujących kroków:
1.
Przygotowuje środowisko budowania poprzez ustawienie różnych zmiennych środowiska (patrz ŚRODOWISKO) i wywołuje dpkg-source --before-build (chyba że użyto -T lub --target).
2.
Sprawdza czy zależności i konflikty czasu budowania są spełnione (o ile nie jest podane -d).
3.
Jeśli określony cel został wskazany z użyciem opcji -T lub --target, wywołuje ten cel i na tym kończy. W przeciwnym wypadku wywołuje fakeroot debian/rules clean, aby wyczyścić drzewo budowania pakietu (chyba że użyje się opcji -nc).
4.
Wywołuje dpkg-source -b aby wygenerować pakiet źródłowy (chyba że żądano tylko zbudowania pakietu binarnego, podając opcję -b, -B lub -A).
5.
Wywołuje debian/rules build-target, a następnie fakeroot debian/rules binary-target (chyba że żądano tylko zbudowania pakietu źródłowego, podając opcję -S). Proszę zauważyć, że build-target i binary-target mają wartość albo build i binary (domyślnie, lub gdy podano -b) albo build-arch i binary-arch (jeśli podano -B) albo build-indep i binary-indep (jeśli podano -A).
6.
Wywołuje gpg aby podpisać plik .dsc (jeśli jest, chyba że podano opcję -us).
7.
Wywołuje dpkg-genchanges aby wygenerować plik .changes. Do dpkg-genchanges przekazywanych jest wiele opcji dpkg-buildpackage.
8.
Wywołuje gpg aby podpisać plik .changes (chyba że podano opcję -uc).
9.
Jeśli podana jest opcja -tc, wywołuje ponownie fakeroot debian/rules clean. Na końcu wywołuje dpkg-source --after-build.

OPCJE

-b
Określa budowanie tylko pakietów binarnych, żadne pliki źródłowe nie będą budowane ani dystrybuowane. Przekazywane do dpkg-genchanges.
-B
Określa budowanie tylko pakietów binarnych, ograniczone do pakietów zależnych od architektury. Przekazywane do dpkg-genchanges.
-A
Określa budowanie tylko pakietów binarnych, ograniczone do pakietów niezależnych od architektury. Przekazywane do dpkg-genchanges.
-S
Określa budowanie tylko pakietów źródłowych, bez budowania pakietów binarnych. Przekazywane do dpkg-genchanges.
-F
Określa normalne, pełne budowanie - zostaną zbudowane pakiety binarne i źródłowe. Jest to ten sam i domyślny przypadek, gdy nie podano opcji budowania.
--target=cel
 
--target cel
 
-Tcel
Wywołuje debian/rules cel po przygotowaniu środowiska budowania i na tym kończy proces budowania pakietu. Jeśli podana została również opcja --as-root, wtedy polecenie to jest wykonywane z prawami administratora. Proszę zauważyć, że cele oficjalnie określone w Polityce Debiana jako wymagające uruchamiania z prawami administratora nie wymagają tej opcji.
--as-root
Znacząca jedynie w połączeniu z opcją --target. Wymusza uruchomienie celu z prawami administratora.
-si
 
-sa
 
-sd
 
-vwersja
 
-Copis-zmian
 
-madres-opiekuna
 
-eadres-opiekuna
Przekazywana bez zmian do dpkg-genchanges. Więcej informacji na stronie podręcznika tego programu.
-aarchitektura
Określa architekturę Debiana dla której jest budowany pakiet. Architektura maszyny, na której jest budowany pakiet, jest określana automatycznie i stanowi również domyślną architekturę docelową.
-ttyp-systemu-gnu
Określa typ systemu GNU, dla którego budujemy. Może być użyte zamiast -a lub jako uzupełnienie do nadpisania domyślnego typu systemu GNU docelowej architektury Debiana.
-jzadania
Liczba zadań, które mogą zostać równocześnie uruchomione, odpowiednik opcji make(1) o tej samej nazwie. Dodaje się do zmiennej środowiskowej MAKEFLAGS, co powinno spowodować, że wszystkie kolejne wywołania programu make odziedziczą tę opcję. Także dodaje parallel= zadania do zmiennej środowiskowej DEB_BUILD_OPTIONS, co pozwala plikom debian/rules na korzystanie z tej informacji dla ich własnych celów. Wartość parallel= zadania zmiennej środowiska DEB_BUILD_OPTIONS nadpisuje wartość przekazaną w opcji -j, jeśli została ona podana.
-D
Sprawdza zależności i konflikty czasu budowania, przerywa działanie z błędem jeżeli nie będą spełnione. Jest to zachowanie domyślne.
-d
Nie sprawdza zależności czasu budowania ani konfliktów.
-nc
Pomija czyszczenie drzewa źródeł pakietu (implikuje -b, jeśli nic innego nie zostało wybrane spośród -B, -A oraz -S).
-tc
Po zbudowaniu pakietu czyści katalog ze źródłami (używając gain-root-command debian/rules clean).
-rpolecenie-uzyskiwania-praw-administratora
Kiedy dpkg-buildpackage potrzebuje wykonać część procesu budowania jako administrator, poprzedza wykonywane polecenia poleceniem-uzyskiwania-praw-administratora, jeśli takowe zostało podane. Jeśli natomiast nie zostało podane, zostanie domyślnie użyte polecenie fakeroot, o ile jest dostępne. polecenie-uzyskiwania-praw-administratora powinno zaczynać się nazwą programu dostępnego przez zmienną systemową PATH, któremu będą przekazywane argumenty w postaci właściwego programu do wykonania oraz jego parametrów. polecenie-uzyskiwania-praw-administratora może samo zawierać parametry (muszą być one rozdzielone spacjami), ale nie może zawierać metaznaków powłoki. poleceniem-uzyskiwania-praw-administratora mogą typowo być fakeroot, sudo, super lub really. su nie nadaje się do tego celu, ponieważ może tylko wywołać powłokę użytkownika używając -c zamiast przekazywać indywidualnie argumenty dla polecenia do wykonania.
-Rplik_rules
Budowanie pakietu Debiana zwykle wymaga wywołania debian/rules jako polecenia z kilkoma standardowymi parametrami. Używając tej opcji można podać wywołanie innego programu, który posłuży do zbudowania pakietu (może także zawierać dodatkowe parametry rozdzielone spacjami). Może być także użyta do wykonania standardowego pliku reguł z użyciem innego programu make (np. podając /usr/local/bin/make -f debian/rules jako plik_rules).
-ppolecenie-podpisywania
Gdy dpkg-buildpackage będzie potrzebował wywołać GPG lub PGP aby podpisać plik kontrolny źródeł ( .dsc) lub plik .changes, zostanie uruchomione polecenie-podpisywania (w razie konieczności przeszukując PATH) zamiast gpg. Parametry normalnie przekazywane do gpg zostaną przekazane do polecenia-podpisywania. Polecenie-podpisywania nie powinno zawierać spacji, ani żadnych innych metaznaków powłoki.
-kid-klucza
Określa ID klucza używanego do podpisywania pakietów.
-us
Nie próbuje podpisywać pakietów.
-uc
Nie próbuje podpisywać plików .changes.
-i[wyraż_regularne]
 
-I[wzorzec]
 
-s[nsAkurKUR]
 
-z, -Z
 
Przekazywana bez zmian do dpkg-source. Więcej informacji na stronie podręcznika tego programu
--source-option=opc
Przekazuje opcję opc do dpkg-source.
--changes-option=opc
Przekazuje opcję opc do dpkg-genchanges.
--admindir=katalog
 
--admindir katalog
Zmienia położenie bazy danych dpkg. Domyślnie jest to /var/lib/dpkg.
-?, --help
Wyświetla informację o użytkowaniu i kończy działanie.
--version
Wyświetla informację o wersji i pomyślnie kończy działanie.

ŚRODOWISKO

Nawet gdy dpkg-buildpackage eksportuje jakieś zmienne, debian/rules nie powinno polegać na ich obecności i powinno używać odpowiedniego interfejsu do pozyskania potrzebnych wartości.

Zmienne ustawiane przez dpkg-architecture

Wywołuje program dpkg-architecture z przekazaniem parametrów -a oraz -t. Wszystkie zmienne uzyskane na wyjściu dzięki jego opcji -s są dołączane do środowiska budowania.

Flagi kompilatora nie są dłużej eksportowane.

Między wersjami 1.14.17 i 1.16.1, dpkg-buildpackage eksportowało flagi kompilatora ( CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS i LDFLAGS) z wartościami zwracanymi przez dpkg-buildflags. Obecnie tak się nie dzieje.

KOMPATYBILNOŚĆ WSTECZNA

dpkg-buildpackage używa celów build-arch i build-indep od wersji 1.16.2. Są one w związku z tym obowiązkowe. Aby zapobiec psuciu istniejących pakietów i w celu ułatwienia przejścia, jeśli make -f debian/rules -qn build-target zwróci 2 jako kod zakończenia, to zostanie użyty cel build.

BŁĘDY

Powinno być możliwe podanie spacji, metaznaków powłoki oraz argumentów dla gain-root-command oraz sign-command.

ZOBACZ TAKŻE

dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genchanges(1), fakeroot(1), gpg(1).

TŁUMACZE

Piotr Roszatycki <dexter@debian.org>, 1999
 
Bartosz Feński <fenio@debian.org>, 2004-2005
 
Robert Luberda <robert@debian.org>, 2006-2008
 
Wiktor Wandachowicz <siryes@gmail.com>, 2008
 
Michał Kułach <michal.kulach@gmail.com>, 2012
2012-05-04 Projekt Debian