Strona 1 z 1
Budowanie paczki deb z zależnościami
: 08 kwietnia 2010, 22:15
autor: rryk
Czy ktoś umie i mógłby wyjaśnić jak zrobić krok po kroku z źródeł paczkę deb z zależnościami? Konkretnie chodzi mi o zbudowanie paczki programu ekg2 tak aby był skonfigurowany z opcjami:
: 08 kwietnia 2010, 22:28
autor: jasiekmarc
Jeśli chcesz zbudować paczkę dla swojej architektury uprzednio skompilowawszy program, to jest
tutaj. Jeśli chcesz zrobić piękną i porządną kompilowaną paczkę deb-src to jest oficjalny podręcznik:
http://www.debian.org/doc/maint-guide/
: 08 kwietnia 2010, 22:32
autor: rryk
Pierwszy sposób byłby mi pomocny jednak problem jest w tym, że nie wiem jakie konkretnie zależności ma program, a ręczne ich wybieranie z pośród ,,configure'' to mordęga.
: 08 kwietnia 2010, 23:08
autor: jasiekmarc
Jeszcze jednym sposobem może być pobranie paczki źródłowej ekg2 (
http://packages.debian.org/experimental/ekg2 - po prawej plik orig.tar.gz i diff.gz). Następnie w diff.gz w pliku debian/rules dodać odpowiednie argumenty do ./configure (w archiwum jest wynik diffa z którego można zrobić poprawną strukturę katalogów za pomocą polecenia
patch - patrz maint-guide). Potem elegancko zbudować
dpkg-buildpackage, a zależności budowania dociągnąć (
apt-get build-dep).
: 08 kwietnia 2010, 23:09
autor: rryk
To brzmi troche skomplikowanie - mógłbyś jakąś instrukcje szczegółową (taką dla kompletnych idiotów) walnąć?
: 09 kwietnia 2010, 00:15
autor: jasiekmarc
Ok, howto dla idiotów:
1. Pobieramy
http://ftp.de.debian.org/debian/pool/ma ... rig.tar.gz i
http://ftp.de.debian.org/debian/pool/ma ... -1.diff.gz do folderu
blabla
2. Rozpakowujemy orig (jak rozpakować, to już musisz wiedzieć/poszukać sam) i diff. Chcemy w katalogu
blabla mieć:
Kod: Zaznacz cały
$ls blabla
ekg2-20100221+1200/ ekg2_20100221+1200-1.diff ekg2_20100221+1200.orig.tar.gz
ważne, żeby nazwy się dokładnie zgadzały. Na przykład w nazwie folderu ma być myślnik - nie podkreślnik.
3. Będąc w
blabla wykonujemy polecenie
4. Włazimy w
ekg2-20100221+1200/debian.
5. Edytujemy plik
rules. W miejscu, gdzie są opcje dla ./configure (jest ich dużo, łatwo zauważyć) dopisujemy swoje własne.
6. Włazimy w górę do
ekg2-20100221+1200/.
7. (Trzeba mieć w
/etc/apt/sources.list linijkę
deb-src http://ftp.debian.org/debian/ experimental main) Odpalamy
.
8.
9.
Voila
PS: Obejrzenie pliku
rules przekonało mnie, że wymienione przez Ciebie opcje dla ./configure są użyte w budowie paczki z experimentala, więc chyba nie warto opisanej wyżej pracy wykonywać.
: 09 kwietnia 2010, 00:18
autor: darkwater
Jeśli robisz "na własne potrzeby" to może wystarczy użyć programu checkinstall ?
czyli
./configure ze wszystkimi wymaganymi opcjami
make
i zamiast make install używasz checkinstall (jako root, no i oczywiście musi być zainstalowany).
Wadą jest to że nie podaje od jakich innych pakietów jest zależna ta paczka, więc trzeba o to zadbać samodzielnie. Ale moim zdaniem na początek wystarczy.
: 10 kwietnia 2010, 11:01
autor: rryk
Niby mógłbym użyć paczki z wersji eksperymentalnej ale nazwy zależności są trochę inne i zaczynają się schody więc próbowałem sam zrobić nową paczkę ale ta cala instrukcja wywala się na ostatnim kroku i wyświetla błąd:
Kod: Zaznacz cały
...
patching file plugins/gg/commands.c
Hunk #1 FAILED at 117.
Hunk #2 FAILED at 185.
2 out of 2 hunks FAILED -- rejects in file plugins/gg/commands.c
Patch fixes/gg-keep-reason.diff does not apply (enforce with -f)
make: *** [debian/stamp-patched] Błąd 1
dpkg-buildpackage: błąd: debian/rules build zwrócił status błędu 2
Jakieś pomysły jak to naprawić?