View previous topic :: View next topic |
Author |
Message |
RA6 n00b
Joined: 13 Mar 2007 Posts: 53 Location: Polonia - Vladislavia
|
Posted: Sun Apr 06, 2014 5:36 pm Post subject: Jak działa ebuild? |
|
|
Wiem jak korzystać z deklaracji od nagłówka po zależności. Nie rozumiem funkcji w ebuilidach i jak działają. Wstyd się przyznać, że nie znam bash'a więc i mam problemy z ogarnięciem podstaw działania każdego etapu. Słaba znajomość angielskiego powodują, że Gentoo Development Guide mi za dużo nie pomaga a Ebuild Howto opisuje tylko ogólne elementy. Proszę o przykładowy kod trzech operacji:
1. przejście do katalogu /nazwaprogramu/src
2. wykonanie tam polecenia make bez wykonania wcześniej ./configure
3. wykonanie instalacji pakietu
może być nawet gotowy przykład z portage bym mógł go postudiować. _________________ Desktop: [COMPAQ EVO W6000] [2xP4 Xeon 2GHz][GF6200LE 128DDR2] [2.6.29-gentoo-sources]
Desktop: [Fujitsu Siemens CELSIUS R630] [2xP4 Xeon 3,2GHz][Quadro FX 380] [2.9.0-gentoo-sources] |
|
Back to top |
|
|
sebas86 Guru
Joined: 01 May 2005 Posts: 568 Location: Szczecinek / Szczecin
|
Posted: Sun Apr 06, 2014 6:29 pm Post subject: |
|
|
Bez znajomości angielskiego to trochę bez sensu. Chociażby z tego względu, że narzędzie ebuild jest cały czas rozwijane, kiedyś sam robiłem ebuildy, a teraz musiałbym na nowo usiąść do dokumentacji żeby cokolwiek sensownego zrobić bo się trochę rzeczy pozmieniało. Poza tym jak bez języka chcesz reagować na problemy, które prawie na pewno będą się pojawiać podczas budowania ze źródeł?
1, 2, 3 da się to zrobić na kilka różnych sposobów. Jeśli paczka jest w miarę ustandaryzowana (zdaje się, że wystarczy, że w głównym katalogu będą pliki automake) to praktycznie nic nie trzeba pisać, dodajesz ścieżki do źródeł, zależności i już, powinno po prostu działać. _________________ Nieważne jaka dystrybucja, ważne, że Linux! |
|
Back to top |
|
|
RA6 n00b
Joined: 13 Mar 2007 Posts: 53 Location: Polonia - Vladislavia
|
Posted: Mon Apr 07, 2014 3:44 am Post subject: |
|
|
Często stosuję niszowe biblioteki i rozszerzenia, które dopiero ktoś za kilka miesięcy przeportuje. Rozumiem to co czytam na tyle, że potrafię napisać potrzebne ebuilidy, to też rozwiążę, ale mi to zajmie więcej czasu niż mam. Obecnie posiłkuję się wirtualną maszyną z debianem.
Paczka w głównym katalogu nie trzyma plików automake tylko w /src. Nie ma potrzeby by coś zmieniać bo z palca wszystko się kompiluje. Lubię mieć porządek, więc piszę pod siebie i zmieniam istniejące ebuilidy. Przesadziłem z nie rozumieniem angielskiego i bash, podstawy jakieś mam tylko źle mi się myśli jak coś rozumiem tylko w małym procencie bo nie mam czasu go poświęcić na naukę i ćwiczenia. Jak tą część opracuję zostanie mi powiązanie bibliotek.
Żebym wiedział czego szukam to bym po ebulidach z portage to zrobił, ale nie wiem która funkcja omija fazę ./configure i pracuje w katalogu /src wykonując make na plikach tego katalogu. Do tej pory sypie się na ścieżce dostępu czyli:
- zadeklarowałem katalog roboczy:
S="${WORKDIR}/${MY_PN}"
- następnie skorzystałem z funkcji src_compile() która mi się wydaje logiczna dla tego problemu
src_compile() {
cd "${S}/src" && make || die "make failed" _________________ Desktop: [COMPAQ EVO W6000] [2xP4 Xeon 2GHz][GF6200LE 128DDR2] [2.6.29-gentoo-sources]
Desktop: [Fujitsu Siemens CELSIUS R630] [2xP4 Xeon 3,2GHz][Quadro FX 380] [2.9.0-gentoo-sources] |
|
Back to top |
|
|
lazy_bum l33t
Joined: 16 Feb 2005 Posts: 691
|
|
Back to top |
|
|
dziadu Guru
Joined: 04 May 2006 Posts: 467 Location: Kraków/Darmstadt/Munich
|
Posted: Sun Apr 20, 2014 9:41 am Post subject: |
|
|
Tak jak lazy_bum Ci podał adres strony, znajdziesz tam funkcję src_configure(), która m.in. uruchamia skrypt configure (albo cmake, albo coś innego, zależy które eclass włączysz w ebuild). Możesz ją przedefiniować, ale pamiętaj, że nie można zdefiniować pustej funkcji, czyli, musisz coś tam wrzucić, np.:
Code: |
src_configure() {
einfo "Skipping configure script"
}
|
Możesz wrzucić kod ebuildu, to rzucę okiem co tam masz, może coś podpowiem więcej.
Pzdr.
dziadu |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|