Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.






 Admin łajza
 Admin łajza
	







Przy pracach nad Hagiem potrzebuję zrobić kilka pakietów w bardziej profesjonalny sposób. Mam jednak przy tym kilka wątpliwości, których Podręcznik dla nowych opiekunów pakietów nie rozwiał. Jest na DUG-u kilku opiekunów, a może nawet jakiś deweloper, może ktoś mi pomoże. :)
Na początek takie pytanie: czy format daty w changelogu jest ściśle określony? Czy musi to być koniecznie np.:
Sun, 04 Nov 2007 00:12:56 +0100
czy może być standardowy format date'a, np.:
Fri Jun 20 11:05:34 CEST 2008
?
Offline

 Członek DUG
 Członek DUG
	

Nie jestem opiekunem ani deweloperem ;p ale z tego co wiem format daty w changelogu jest ściśle określony, tylko nie pamiętam jaki.
Offline



 Członek DUG
 Członek DUG
	To ja się podłączę z prostszym pytaniem. 
Mam aplikację do obsługi kamerki internetowej, wymaga ona dirac. Spakietowałem sobie dirac, ale chciałbym z niego zrobić trzy oddzielne pakiety: dirac-bin libdirac0 i libdirac-dev, dirac-doc
dirac-bin :
/usr/bin/dirac_instrumentation /usr/bin/dirac_encoder /usr/bin/UYVYtoYUV422 /usr/bin/create_dirac_testfile.pl /usr/bin/UYVYtoRGB /usr/bin/YUV420toYUV422 /usr/bin/RGBtoYUV422 /usr/bin/RGBtoBMP /usr/bin/YUV444toRGB /usr/bin/RGBtoYUV444 /usr/bin/YUV411toRGB /usr/bin/dirac_decoder /usr/bin/BMPtoRGB /usr/bin/YUV422toYUV420 /usr/bin/RGBtoUYVY /usr/bin/YUV422toRGB /usr/bin/YUV422toUYVY /usr/bin/RGBtoYUV420 /usr/bin/YUV420toRGB /usr/bin/RGBtoYUV411
libdirac0
/usr/lib/libdirac_encoder.so.0 /usr/lib/libdirac_encoder.so.0.0.0 /usr/lib/libdirac_decoder.so.0 /usr/lib/libdirac_decoder.so.0.0.0
libdirac-dev
/usr/include/dirac/libdirac_encoder /usr/include/dirac/libdirac_encoder/dirac_encoder.h /usr/include/dirac/libdirac_decoder /usr/include/dirac/libdirac_decoder/decoder_types.h /usr/include/dirac/libdirac_decoder/dirac_parser.h /usr/include/dirac/libdirac_common /usr/include/dirac/libdirac_common/common_types.h /usr/include/dirac/libdirac_common/dirac-stdint.h /usr/include/dirac/libdirac_common/dirac_inttypes.h /usr/include/dirac/libdirac_common/dirac_types.h /usr/lib/libdirac_decoder.a /usr/lib/pkgconfig /usr/lib/pkgconfig/dirac.pc /usr/lib/libdirac_decoder.la /usr/lib/libdirac_encoder.la /usr/lib/libdirac_encoder.a /usr/lib/libdirac_decoder.la
dirac-doc wsio w dokumentacji
I problem: 
Nie potrafię rozdzielić dirac na te pakiety. Modyfikacja libdirac0.install nie działa. Powstają tylko puste pliki .deb libdirac0 ma tylko katalog /usr/share/.
Offline






 Admin łajza
 Admin łajza
	







harry666t: dzięki. Format jest taki, jak w pierwszym przykładzie. To będę musiał sobie podrasować date w skrypcie...
AgayKhan: pokaż plik rules. (Niecne podłączanie się do mojego wątku przemilczę :P)
Ostatnio edytowany przez azhag (2008-06-20 11:59:38)
Offline




 Moderator Mamut
 Moderator Mamut
	opiekunem nie jestem, ale przypomne ze jest narzedzie do zarzadzania changelogiem - debchange ... moze sie przyda ...
Ostatnio edytowany przez bercik (2008-06-20 12:09:12)
Offline






 Admin łajza
 Admin łajza
	







Niestety nie tym razem, chcę dopiero changelog utworzyć (a z pewnych względów nie chcę tego robić za pomocą dh_make).
Ale dzięki, przyda się na przyszłość.
PS. Zanim ktoś następny napisze "wprawdzie nie jestem opiekunem/dewelopere", powiedzmy że miałem na myśli kogoś, kto się zna na budowaniu "profesjonalnych" pakietów. ;)
Offline



 Członek DUG
 Członek DUG
	Dobra, już mniej więcej wiem, gdzie był błąd.
dh_make robiło takie coś w rules
binary-arch: build install
    dh_testdir
    dh_testroot
    dh_installchangelogs ChangeLog
    dh_installdocs
    dh_installexamples
#    dh_install
#    dh_installmenu
#    dh_installdebconf    
#    dh_installlogrotate
#    dh_installemacsen
#    dh_installpam
#    dh_installmime
#    dh_installinit
#    dh_installcron
#    dh_installinfo
    dh_installman
    dh_link
    dh_strip
    dh_compress
    dh_fixperms
#    dh_perl
#    dh_python
#    dh_makeshlibs
    dh_installdeb
    dh_shlibdeps
    dh_gencontrol
    dh_md5sums
    dh_builddebPo zmianie na 
binary-arch: build install
    dh_testdir
    dh_testroot
    dh_installchangelogs ChangeLog
    dh_installdocs
    dh_installexamples
    dh_install
#    dh_installmenu
#    dh_installdebconf    
#    dh_installlogrotate
#    dh_installemacsen
#    dh_installpam
#    dh_installmime
#    dh_installinit
#    dh_installcron
#    dh_installinfo
    dh_installman
    dh_link
    dh_strip
    dh_compress
    dh_fixperms
#    dh_perl
#    dh_python
    dh_makeshlibs
    dh_installdeb
    dh_shlibdeps
    dh_gencontrol
    dh_md5sums
    dh_builddebdziała.
Opcja instalacji była wywalona z rules, dlatego nie instalowało. 
Dzięki azhag, jesteś wielki.
Przepakietowałem sobie ffmpeg z obsługo dirac i wykrywa jako zależnośc libdirac0. Super.
Ostatnio edytowany przez AgayKhan (2008-06-20 13:05:07)
Offline

 Członek DUG
 Członek DUG
	

azhag napisał(-a):
PS. Zanim ktoś następny napisze "wprawdzie nie jestem opiekunem/deweloperem"(...)
Czytujesz slashdota? (: tam połowa postów w dziale "your rights online" zaczyna się od "IANAL, but..." :P
Offline






 Ojciec Założyciel
 Ojciec Założyciel
	Patryk -> Prezu jest opiekunem
Offline



 Członek DUG
 Członek DUG
	





 Admin łajza
 Admin łajza
	







Następne pytanie tyczy się pola Replaces w pliku control. Wg wymienionego w pierwszym poście podręcznika pliki z pakietu "zastępującego" nadpiszą pliki "zastępowanego". Jasna sprawa.
Co jednak, jeśli odwrócimy kolejność instalacji? Pakiet "zastępujący" jest już zaisntalowany, do niego chcemy doinstalować "zastępowany". Czy w takim wypadku konfliktujący plik z "zastępowanego" pozostanie nie zainstalowany? Logicznie rzecz ujmując tak będzie, ale wolę się upewnić, zanim się natyram na darmo.
PS. Jeszcze takie głupie pytanie — czy można zakomentować linię w control lub innych (poza rules ;]) debianowych plikach?
 — 
kurcze, nic nie było jak zaczynałem pisać, a teraz nagle 3 posty :)
harry666t napisał(-a):
azhag napisał(-a):
PS. Zanim ktoś następny napisze "wprawdzie nie jestem opiekunem/deweloperem"(...)
Czytujesz slashdota? (: tam połowa postów w dziale "your rights online" zaczyna się od "IANAL, but..." :P
nie czytuję :)
co znaczy AL?
Bodzio napisał(-a):
Patryk -> Prezu jest opiekunem
wiem, ale nie chciałem zgłaszać nikogo na ochotnika ;)
AgayKhan napisał(-a):
qnapi i kadu ?
nie tylko :) (nie ma to jak prywatność :P)
Ostatnio edytowany przez azhag (2008-06-20 21:20:53)
Offline
 Użytkownik
 Użytkownik
	

Offline



 Członek DUG
 Członek DUG
	A ja sie pochwalę, iż w debian-multimedia pojawił sie dirac, prawie identycznie spakowany jak mój. Tylko zamiast dirac-bin jest dirac.
Offline

 Moderator
 Moderator
	


Wcześniej nie widziałem tego wątku, dlatego nie pisałem nic.
Azhag, w changelog'u data ma być w formacie zdefiniowanym w RFC822 -- czyli takim, jaki zwraca:
$ date -R
Jeśli używasz Sida, to zainstaluj paczkę debian-policy. Jeśli testing, lub stable, to wejdź na http://debian.org/devel i tam masz Debian Policy (Zasady Polityki Debiana jak to przetłumaczono :). O formatach wszystkich plików esencjonalnych dla paczki źródłowej tam wszystko znajdziesz. Np. o formacie daty jest mowa w punkcie "4.4 Debian changelog: debian/changelog".
Co do komentarzy w debian/control, to nie wolno. Ale w debian/rules jak najbardziej -- ten plik to zwykły plik z regułami dla make'a, więc obowiązują dokładnie te same zasady co dla Makefile'i.
W pozostałych plikach, jak na przykład debian/pakiet.install, debian/pakiet.postrm itd, to zależy. Np. ten drugi (postrm/prerm/postinst itd) to zwykłe skrypty powłoki. Ale .install to już plik dla jednego z narzędzi debhelpera (w tym przypadku dh_install -- korzystanie z narzędzi debhelpera jest oczywiście opcjonalne -- można robić sobie na piechotę to co za nas robią dh_*, ale widzę w powyższych przykładach, że lubicie dh_*, ja z resztą też :). Co do formatu plików dla debhelpera, to trzeba poczytać manuale dla poszczególnych dh_whatever -- ja też nie znam ich wszystkich na pamięć i zaglądam do mana od czasu do czasu. Zwróć uwagę, że pliki .install jest plikiem dla dh_install, który jest opcjonalnym narzędziem. Nie jest to plik esencjonalny dla paczki źródłowej, dlatego jego dokumentacji szukasz nie w Debian Policy, tylko dokumentacji debhelpera (tu konkretnie dh_install(1)).
Jak by się zdarzyło pytanie do mnie, a bym nie odpowiadał (może mi umknąć post), to szturchnięcie na PMa proszę. :)
Offline






 Admin łajza
 Admin łajza
	







Prezu napisał(-a):
Azhag, w changelog'u data ma być w formacie zdefiniowanym w RFC822 — czyli takim, jaki zwraca:
Kod:
$ date -R
lol, a ja wyskrobałem jakiegoś potwora:
LC_ALL=en_EN date +"%a, %d %b %Y %T %z"
:D
Dzięki wielkie, cenne informacje. O zajrzeniu do Debian Policy nawet nie pomyślałem. :)
Jakbym miał jakieś pytania jeszcze, nie omieszkam Cię zmolestować przez PM. :)
Offline

 Moderator
 Moderator
	


Spoko. :)
Jeszcze apropos changelog'a — zainstaluj sobie pakiet devscripts. Jest tam m. in. tulik dch. Służy on do zarządzania chagnelog'iem właśnie. W katalogu ze źródłami paczki, gdy dodajesz wpis dla nowej wersji upstreamowej:
$ dch -v nowa_wersja
Lub jeśli puszczasz nową rewizję tej samej wersji:
$ dch -i
Jak widzisz, sam tworzy nowe wpisy. :) Jeśli chcesz np. tylko uaktualnić datę do ostatniego wpisu (bo ostatnią modyfikację zrobiłeś np. kilka dni temu) to
$ dch -e
To służy do edycji ostatniego wpisu, ale przy okazji "odświeża" datę.
Zmienną środowiskową EDITOR wybierasz edytor. Jeśli EDITOR nie jest ustawiony, to użyty zostanie skrypt /usr/bin/sensible-editor do wyboru edytora.
EDIT: Aha, ustaw sobie jeszcze mienną DEBEMAIL (najlepiej w .bashrc, czy co tam używasz), bo inaczej dch nie będzie wiedział jakie imię, nazwisko, email wpisać. Szczegóły w dch(1).
Ostatnio edytowany przez Prezu (2008-07-09 10:15:02)
Offline






 Admin łajza
 Admin łajza
	







A jak to jest z nazwami pakietów? Który z wymienionych jest nowszy: pakiet_0.1 czy pakiet_0.1-0dev1337?
Czy taki (0.1, bez sufiksu) schemat nazywania finalnych wersji pakietów przejdzie, czy muszę im nadawać wersję 0.1-1?
Edit: głupie pytanie, oczywiscie, że muszę dać 0.1-1...
Ostatnio edytowany przez azhag (2008-07-13 17:02:29)
Offline

 Moderator
 Moderator
	


To co jest po "-" to rewizja debianowa. Ma ona najmniejsze znaczenie w wersji paczki dla apta. Jeśli jej nie ma, to tak jak by była równa 0. Czyli 0.1 to tak na prawdę 0.1-0, a to znaczy, że 0.1 jest starsze niż 0.1-0dev1337. Można nie dać wcale rewizji debianowej, ale zalecane jest jej dodanie zaczynając zawsze od 1. Normalnie to powinny być kolejne liczby naturalne. Ale w niektórych wypadkach jest inaczej, np. NMU (Non Maintainer Upload), czy poprawki bezpieczeństwa dla stable.
Wszystkie pola wersji paczki debianowej i ich wzajemnej relacji jest w policy w punkcie 5.6.12. Warto przyjrzeć się np. znaczeniu tyldy ("~") w wersji. :) Przydaje się release candidate'ach, czy betach. Sam w Kadu wykorzystywałem.
Ostatnio edytowany przez Prezu (2008-07-14 14:39:58)
Offline






 Admin łajza
 Admin łajza
	







O, jak zwykle wielkie dzięki. Muszę się wreszcie wczytać w Policy. :)
PS. Tak trochę a propos wersji, ostatnio jeden z DD pokpiwał z wersji pakietów w Ubuntu:
matt@krypton:~$ dpkg -s flashplugin-nonfree | grep Version Version: 10.0.1.218+10.0.0.525ubuntu1~hardy1+really9.0.124.0ubuntu2
to jest dopiero wersja. ;)
Ostatnio edytowany przez azhag (2008-07-14 15:15:24)
Offline

 Moderator
 Moderator
	


hehehehe pewnie nawet opiekun tego nie ogarnia po kilku tygodniach od ostatniego uploadu... :D
Offline






 Admin łajza
 Admin łajza
	







Jak najłatwiej wymusić nadpisanie chronionego pliku innego pakietu (conffiles)? Pole Replaces z control wydaje się nie mieć "wystarczającej mocy".
Pewnie da się przez stosowny skrypt w postinst, ale może istnieje mniej barbarzyńska metoda.
Offline






 Admin łajza
 Admin łajza
	







na razie udało mi się ustalić, że powinienem się dpkg-divert zainteresować
ale jego obsłuiga jeszcze jest dla mnie tajemnicą :)
Offline

 Moderator
 Moderator
	


Osobiście tego nie przerobiłem. :] Mogę tylko się domyślać. Anyway, jeśli jeszcze nie rozwiązałeś tego problemu to zagadaj do mnie na jabbera.
Offline






 Admin łajza
 Admin łajza
	







Już to przerobiłem — problem leżał w tym miejscu, że ów plik już raz był dywersyfikowany, kolejna próba dywersyfikacji wywalała błąd.
Kombinowałem z napisaniem reguły dla dpkg-divert, która najpierw usuwa starą dywersyfikację i dopiero tworzy nową, ale dałem za wygraną po nastej próbie.
Ostatecznie uznałem, że patchowanie felernego pakietu będzie prostszym rozwiązaniem. :)
Ostatnio edytowany przez azhag (2008-08-19 16:14:34)
Offline






 Admin łajza
 Admin łajza
	







Zna ktoś jakiś dokument dotyczący alternatyw w Debianie? update-alternatives(8) nie w pełni mnie usatysfakcjonował. W Debian Policy, Debian Reference, Debian Developer's Reference i Debian New Maintainers' Guide właściwie nic nie znalazłem.
Najbardziej interesuje mnie zasada nadawania priorytetów. Ich zakres, metodologia nadawania, znaczenie (co np. znaczy ujemny priorytet?). Innymi informacjami też bym nie pogardził :)
Offline