Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Nowy pakiet - SQLite http://forum.freesco.pl/viewtopic.php?f=24&t=13414 |
Strona 1 z 1 |
Autor: | DeyV [ sobota, 2 września 2006, 01:45 ] |
Tytuł: | Nowy pakiet - SQLite |
Natchniony rozmowami o bazach danych, oraz zdecydowany w końcu przekonać się, o co chodzi w tym tworzeniu pakietów, przygotowałem pierwszą paczkę, z prostym w instalacji (chyba ![]() Cytuj: a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine
strona www: http://sqlite.org/ paczki są do pobrania tutaj: http://mstudio.nq.pl/php_pl/index.php?udir=%2Fnnd%2Fnew czyli url: http://mstudio.nq.pl/php_pl/nnd/new/sql ... pkg.tar.gz dev: http://mstudio.nq.pl/php_pl/nnd/new/sql ... pkg.tar.gz Tak jak napisałem - to pierwsza paczka, którą udało mi się stworzyć, mam jednak nadzieje, że zrobiłem wszystko zgodnie z instrukcją. Będę jednak wdzięczny za wszelkie informacje o błędach, niedociągnięciach lub powinnościach, których niedopełniłem. |
Autor: | Mis' [ sobota, 2 września 2006, 08:38 ] |
Tytuł: | Re: Nowy pakiet - SQLite |
deyv pisze: przygotowałem pierwszą paczkę,
Pokaż PKGBUILD i resztę plików., które przygotowałeś. |
Autor: | DeyV [ sobota, 2 września 2006, 12:22 ] |
Tytuł: | |
Potrzebne było tylko PKGBUILD (mówiłem, ze to wyglądało na bardzo prostą paczuszkę ![]() PKGBUILD pisze: pkgname=sqlite
pkgver=3.3.7 pkgrel=1 pkgdesc="SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine" url="http://www.sqlite.org/" license="public domain" depends=() makedepends=() conflicts=() replaces=() backup=() install= source=(http://www.sqlite.org/sqlite-3.3.7.tar.gz) md5sums=('a48deb5e6b0cee59c889f87eee886741') build() { cd $startdir/src/$pkgname-$pkgver ./configure --prefix=/usr make || return 1 make prefix=$startdir/pkg/usr install } No właśnie - i apropo tego. PKGBUILD nie chciał mi zaaprobować ścieżki do plików lokalnych. Musialem mu podać url do tar.gz przez http. Dlaczego? |
Autor: | Mis' [ sobota, 2 września 2006, 12:55 ] |
Tytuł: | |
deyv pisze: pkgrel=1 zmienna $pkgrel powinna zawierać, poza numerem wydania, literki "nnd" - ma to odróżniać pakiety nnd od pakietów Archa i wskazywać w jakim środowisku program był kompilowany. deyv pisze: pkgdesc="SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine" dlaczego nie przetłumaczone? Polonizacja pakietów jest obecnie jednym z priorytetów. deyv pisze: license="public domain" Przyznam, że teraz nie pamietam, ale powinieneś sprawdzić w dokumentacji pacmana jakie wartości zmiennej license są dopuszczalne. Kiedyś było to tylko GPL, BSD i chyba artistic... w każdym razie nie przypominam sobie żebym widział jakikolwiek pakiet gdzie zmienna $license składałaby się z dwóch słów. Sądzę, ze lepiej by było tę zmienną pozostawić pustą... spacje w zmiennych mogą być źródłem kłopotów. deyv pisze: depends=() makedepends=() aż mi się wierzyć nie chce, że ten program nie ma żadnych zalezności, ani tych buildtime ani runtime... czyżby kompilowany był statycznie? Jeśli nie, to poleceniem ldd należy sprawdzić jakich bibliotek wymaga, a następnie za pomoca pacman -Qo zobaczyć do jakiego pakietu dany plik należy. Wynik podaje się w zmiennej depends. Podobnie w zmiennej makedepends podajesz pakiety, które sa niezbędne na etapie kompilacji... deyv pisze: conflicts=() replaces=() to by oznaczało, że sqllite i, na przykład, mysql mogą działać na tym samym komputerze równocześnie... jeśli tak jest to OK, jesli jednal SQLite "gryzie się" z jakąś bazą danych, to należy podać nazwę pakietu w zmiennej conflicts. Zmiennej replaces raczej nie używaj, ona ma raczej znaczenie dla całego zestawu/grupy pakietów. deyv pisze: backup=() jesli SQLite ma jakiś plik konfiguracyjny to tutej podajesz ścieżkę do niego (bez pierwszego slasha) deyv pisze: source=(http://www.sqlite.org/sqlite-3.3.7.tar.gz)
No właśnie - i apropo tego. PKGBUILD nie chciał mi zaaprobować ścieżki do plików lokalnych. Musialem mu podać url do tar.gz przez http. Dlaczego? ano dlatego, że domyślnie script budujący pakiet pobiera źródła z internetu. Taka idea... Jesli chcesz, aby pobierał źródła lokalnie to umieść je w tym samym katalogu co PKGBUILD i w zmiennej source nie podawaj żadnej ścieżki tylko samą nazwę pliku. Pomimo, że w zmiennej source masz podany URL do pliku to script budujący pakiet najpierw sprawdza czy danego pliku nie ma w /var/chache/pacman/src i jeśli jest to korzysta z niego. |
Autor: | DeyV [ sobota, 2 września 2006, 13:48 ] |
Tytuł: | |
No i właśnie to było mi potrzebne. Nie znalazłem bowiem nigdzie informacji o tym, że można / trzeba skorzystać z ldd i pacman -Qo Warto by tą informację dodać do arta na temat tworzenia pakietów. W efekcie powstało coś takiego: Cytuj: pkgname=sqlite
pkgver=3.3.7 pkgrel=1nnd pkgdesc="SQLite jest małą bliblioteką napisną w C, zawierajacą samodzielną, wydajną i nie wymagającą konfiguracji relacyjna bazę danych SQL" url="http://www.sqlite.org/" license="public-domain" depends=('readline' 'glibc' 'ncurses' ) makedepends=() conflicts=() replaces=() backup=() install= source=(http://www.sqlite.org/sqlite-3.3.7.tar.gz) md5sums=('a48deb5e6b0cee59c889f87eee886741') build() { cd $startdir/src/$pkgname-$pkgver ./configure --prefix=/usr make || return 1 make prefix=$startdir/pkg/usr install } Co do konfliktów - naprawdę nie ma takiego problemu, ponieważ SQLite nie jest samodzielnym serwerem, lecz biblioteką, którą wykorzystują inne programy. (napisane np. w C, perlu, pythonie lub PHP ) Akurat walczyłem z instalacja takowego (zresztą jeszcze o tym napiszę), więc doszedłem do wniosku, że to może być dobry początek, by się czegoś nauczyć. Jak sam komentarz wskazuje również, nie ma plików konfiguracyjnych. ps. dzięki za uwagi i proszę o jeszcze ![]() |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |