Mr Groch pisze:
OK, to poanalizujmy....
pkgname=grc
pkgver=1.0.6
pkgrel=1nnd
pkgdesc="Generic Colouriser - program kolorujący wyświetlany tekst (np. logi)"
url="http://kassiopeia.juls.savba.sk/~garabik/software/grc.html"
license="GPL"
jak dotąd w porządku...
nie wierzę... sam z siebie tak sobie działa? żadnych bibliotek nie potrzebuje? a może to script? ale chyba nie bo interpretera tez nie potrzebuje... Popraw to, jesli to binarka to polecenie
ldd /sciezka/plik twoim przyjacielem. Jesli to script to gorzej... bo musisz go przeczytac i wylapać wszystkie zewnetrzne polecenia. i oczywiście interpeter dodać.
znów nie chce mi się wierzyć... ale pal diabli - to jest mniejszy błąd. Niemniej warto to też sprawdzić...
a co to jest? w tej zmiennej wpisujemy nazwę pliku zawierającego funkcje pre_install, post_install, pre_upgrade, post_upgrade, pre_remove, post_remove. Jesli pakiet nie wymaga jakichś specjalnych działań przed/po instalacji/upgradzie/usunięciu to tę zmienną pozostawiamy pustą. Acha, taki plik nazywamy nazwa_pakietu.install i umieszczamy w tym samym katalogu co PKGBUILD. Prototyp takiego pliku powinieneś mieć w /var/abs.
source=(grc_1.0.6.tar.gz)
w tej zmiennej podajemy URL pliku, tak że make_nnd_pkg może sobie to pobrać z internetu. Podajemy równiez nazwy plików lokalnych. Jedna uwaga - niewskazane jest lokalnie trzymać binarek, archiwów *tar.gz... możemy przyjąć załozenie, że lokalnie trzymamy tylko pliki tekstowe. oczywiście umieszczamy je w tym samym katalogu co PKGBUILD
build() {
cd $startdir/src/$pkgname-$pkgver
./install.sh $startdir/pkg
}
tu mam pytanie - gdzie konkretnie ten script (install.sh) układa pliki? Przypadkiem nie w /usr/local? Jeśli tak to trzeba to zmienić - nie używamy tego katalogu przy budowie pakietów - niech pozostanie na potrzby lokalnych kompilacji admina... Pakiety budujemy tak, aby wszystkie pliki lądowały w drzewku /usr - oczywiście pomijam takie pakiety, które
muszą coś włożyć do /var, /lib /sbin czy /bin...
Budując pakiet musisz pamiętać, że plik PKGBUILD ma byc uniwersalny i każdy kto go sobie pobierze (i pozostałe pliki ze zmiennych $source i $install) może go zbudować...