Content-type: text/html
Manpage of EBUILD
EBUILD
Section: Portage (1)
Updated: Dec 2005
Index
Return to Main Contents
NAZWA
ebuild - strona man programu ebuild - niskopoziomowego interfejsu
maszyny Portage.
SKŁADNIA
ebuild
plik opcja [opcje]...
OPIS
Program ebuild jest bezpośrednim interfejsem maszyny Portage. Pozwala
on na wykonywanie określonych czynności związanych w ebuildem przy
pomocy komend lub ich grup, w celu wywołania specyficznych dla ebuildu
kontekstów i funkcji. Przyjmując jako argumenty nazwę pliku ebuild i
jedną lub więcej opcji, program przetwarza skrypt ebuild i wywołuje
określone polecenia. Funkcje zawarte w plikach ebuild obejmują
pobieranie źródeł programów, rozpakowywanie ich, kompilowanie,
instalowanie plików obiektowych w tymczasowym katalogu "image",
instalowanie obrazu z tego katalogu w systemie, tworzenie
tarballa bzip z obrazu i inne czynności.
PLIK
Plik musi być poprawnym skryptem ebuild. Więcej informacji na ten
temat można uzyskać czytając stronę man ebuild(5).
OPCJE
- help
-
Pokazuje skróconą formę strony man oraz dodatkowe informacje
specyficzne dla pakietu podanego jako pierwszy argument.
- setup
-
Wywołuje wszystkie właściwe pakietowi czynności instalacyjne i
egzotyczne testy systemu.
- clean
-
Sprząta tymczasowy katalog, który został stworzony przez Portage dla
wskazanego pliku ebuild. Katalog ten zazwyczaj zawiera rozpakowany kod
źródłowy oraz "obraz instalacyjny" programu (wszystkie pliki, jakie
zostaną zainstalowane w systemie lub umieszczone w
pakiecie). Lokalizacja katalogu, w którym ma miejsce budowanie
programu, określona jest przez zmienną BUILD_PREFIX. Więcej informacji
o tej zmiennej można uzystać wykonując polecenie emerge [-v]
info. Opis nadpisywania jej wartości znajduje się na stronie man
make.conf(5).
Uwaga: Portage sprząta niemal wszystko po poprawnym zainstalowaniu
pakietu, chyba że zmienna FEATURES zawiera 'noclean'. Dodanie noclean
do FEATURES spowoduje pozostawianie ogromnej ilości plików i w krótkim
czasie doprowadzi do zajęcia dużego obszaru pamięci. Nie zaleca się
dodawania opcji noclean, chyba że chcemy wykorzystać tymczasowe pliki
do instalacji w przyszłości. Opcjonalnie można ręcznie wyczyścić
katalog rm -rf /var/tmp/portage, co będzie jednoznaczne z
usunięciem wszystkich plików tymczasowych.
- fetch
-
Sprawdza, czy wszystkie źródła zawarte w zmiennej SRC_URI znajdują się
w katalogu określonym zmienną DISTDIR (więcej informacji na stronie
man make.conf(5)) i posiadają poprawne sumy md5. Jeśli źródła
nie zostaną odnalezione, program spróbuje je pobrać, wykorzystując
adresy serwerów zgromadzone w zmiennej SRC_URI. Jeśli dla jednego
pliku istnieje kilka źródeł, z których może on zostać pobrany, Portage
pinguje każdą lokalizację, aby sprawdzić która z nich oferuje
najszybszy transfer. Serwery lustrzane określone w zmiennej
GENTOO_MIRRORS zawsze są przeszukiwane jako pierwsze. Jeśli znalezione
na dysku lub pobrane źródła posiadają sumy md5 niezgodne z tymi, które
zostały zapisane w files/digest-[pakiet]-[wersja-rewizja],
wyświetlone zostanie ostrzeżenie i program ebuild zakończy działanie z
kodem błędu 1.
- digest
-
Tworzy plik wyciągu dla pakietu w katalogu
/usr/portage/[kategoria]/[pakiet]/files/. Plik ten zawiera sumy md5
dla wszystkich plików określonych w zmiennej SRC_URI. Jeśli pobrane
źródła pakietu są uskodzone lub zawierają błędy, zostanie to wykryte
na podstawie sum md5.
- manifest
-
Aktualizuje plik manifestu dla pakietu, tworząc sumy md5 dla plików w
katalogu files oraz dla ebuildu.
- unpack
-
Wypakowuje pliki do podkatalogu w katalogu budowania programu
(BUILD_PREFIX) poprzez wywołanie funkcji src_unpack() w skrypcie
ebuild podanym jako argument. Jeśli funkcja src_unpack() nie została
zdefiniowana, program korzysta z domyśnej funkcji w celu rozpakowania
plików określonych w zmiennej SRC_URI. Źródła są zazwyczaj
rozpakowywane do katalogu
${BUILD_PREFIX}/[pakiet]-[wersja-rewizja]/work. Może to zostać
zmienione poprzez zmienną ${WORKDIR}.
Jeśli piszemy ebuilda, chcemy mieć pewność, że zmienna S (określająca
katalog z rozpakowanymi źródłami) wskazuje na odpowiednie
miejsce. Domyślnie katalog ten określony jest jako ${WORKDIR}/${P},
więc często definiowanie zmiennej S nie jest konieczne. Funkcja
src_unpack() jest również odpowiedzialna za zastosowanie właściwych
patchy na źródłach tak, aby były one gotowe do kompilacji.
- compile
-
Kompiluje rozpakowane źródła poprzez wywołanie funkcji
src_compile() zdefiniowanej w pliku ebuild podanym jako
argument. Gdy funkcja src_compile() rozpoczyna działanie, katalogiem
roboczym staje się ten, na który wskazuje zmienna ${S}. Po zakończeniu
działania funkcji src_compile(), źródła powinny być w pełni skompilowane.
- test
-
Wykonuje specyficzne dla pakietu testy, aby zweryfikować, czy program
został zbudowany poprawnie.
- preinst
-
Wykonuje właściwe dla pakietu czynności, które są konieczne przed jego
zainstalowaniem w systemie.
- install
-
Instaluje pakiet w tymczasowym katalogu instalacyjnym poprzez
wywołanie funkcji src_install(). Po zakończeniu instalacji
katalog instalacyjny
(${BUILD_PREFIX}/[pakiet]-[wersja-rewizja]/image) będzie zawierał
wszystkie pliki, które powinny zostać zainstalowane w systemie lub
włączone do binarnego pakietu.
- postinst
-
Wykonuje czynności konieczne po zainstalowaniu pakietu w
systemie. Zazwyczaj powoduje wyświetlenie pomocnych informacji.
- qmerge
-
Instaluje wszystkie pliki w katalogu instalacyjnym w działającym
systemie plików. Proces ten przebiega następująco: po pierwsze zostaje
wywołana funkcja pkg_preinst() (jeśli została
zdefiniowana). Następnie pliki zostają zainstalowane w działającym
systemie plików, a sumy md5 tych plików zostają zapisane w
/var/db/pkg/${KATEGORIA}/${PN}-${PVR}/ZAWARTOŚĆ. Po
przeniesieniu wszystkich plików do systemu, wywoływana jest funkcja
pkg_postinst() (jeśli ją zdefiniowano).
- merge
-
Aby zainstalować pakiet należy wywołać program
ebuild kolejno z następującymi opcjami: fetch, unpack,
compile, install i qmerge. Jeśli po prostu chcemy
zainstalować pakiet nie zwracając uwagi na poszczególne etapy, możemy
skorzystać z opcji merge, która wykona wszystkie wymienione kroki,
zatrzymując instalację, jeśli coś pójdzie nie tak.
- unmerge
-
Ta opcja wywołuje w pierwszej kolejności funkcję pkg_prerm
(jeśli została zdefiniowana). Następnie powoduje usunięcie z systemu
plików wszystkich plików, które posiadają poprawne sumy md5 i wartości
mtime w pliku określającym zawartość pakietu. Wszystkie puste katalogi
zostają rekurencyjnie usunięte. Ostatecznie zostaje wywołana funkcja
pkg_postrm (jeśli ją zdefiniowano). Zainstalowanie nowej wersji
pakietu a następnie usunięcie starszej jest bezpieczne - jest to
zalecany sposób aktualizacji.
- prerm
-
Powoduje wykonanie czynności koniecznych przed usunięciem pakietu z
systemu. Ma związek z unmerge.
- postrm
-
Wykonuje czynności potrzebne po usunięciu pakietu z systemu. Ma
związek z unmerge.
- config
-
Wykonuje specyficzne dla pakietu czynności konieczne po zakończeniu
procesu instalacji. Zazwyczaj obejmuje to ustawienie plików
konfiguracyjnych lub inne podobne działania, które użytkownik być może
będzie chciał wykonać.
- package
-
Ta opcja jest bardzo podobna do opcji merge, jednak po pobraniu
źródeł, rozpakowaniu ich, skompilowaniu i zainstalowaniu, tworzony
jest tarball .tbz2. Zostaje on umieszczony w katalogu ${PKGDIR}/All
(zmienna ${PKGDIR} domyślnie wskazuje na /usr/portage/packages). W
katalogu ${PKGDIR}/${CATEGORY} tworzone jest dowiązanie symboliczne,
które wskazuje na pakiet w ${PKGDIR}/All.
- rpm
-
Buduje pakiet RPM z plików w tymczasowym katalogu instalacyjnym.
Obcenie informacje o zależnościach ebuildów nie są dołączane do
pakietów RPM.
ZGŁASZANIE BŁĘDÓW
Wszystkie błędy prosimy zgłaszać za pomocą serwisu
http://bugs.gentoo.org/
AUTORZY
Achim Gottinger <achim@gentoo.org>
Daniel Robbins <drobbins@gentoo.org>
Nicholas Jones <carpaski@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
PLIKI
- /etc/make.conf
-
Zawiera zmienne, związane z procesem budowania programów, które
nadpisują definicje z pliku make.globals.
ZOBACZ TAKŻE
emerge(1),
ebuild(5),
make.conf(5)
- Skrypt /usr/sbin/ebuild.sh
-
- Aplikacje pomocnicze w katalogu /usr/lib/portage/bin.
-
TŁUMACZENIE
Waldemar Korłub <stawrul@gmail.com>
Polski projekt tłumaczenia manuali Gentoo
http://gentoo.org/~rane/tlumaczenie-manuali.html
Index
- NAZWA
-
- SKŁADNIA
-
- OPIS
-
- PLIK
-
- OPCJE
-
- ZGŁASZANIE BŁĘDÓW
-
- AUTORZY
-
- PLIKI
-
- ZOBACZ TAKŻE
-
- TŁUMACZENIE
-
This document was created by
man2html,
using the manual pages.
Time: 21:01:43 GMT, January 18, 2008