Tworzenie paczki deb w Ubuntu

Jak stworzyć ze źródeł paczkę .deb w Ubuntu ? Sprawa jest wręcz banalnie prosta.

Instalowanie czystych źródeł w systemie może narobić nam trochę bałaganu. Aby temu zapobiec, zamiast instalować z czystych źródeł, zrobimy paczkę .deb, którą potem zainstalujemy. Posłużymy się programem checkinstall. Najpierw go zainstalujemy:

sudo apt-get install checkinstall

Następnie wykonujemy standardową procedurę mającą na celu kompilację.

Sprawdzamy, czy środowisko w którym próbujemy zainstalować dany program ma potrzebne biblioteki:

./configure --prefix=/usr

przetwarzamy plik reguł Makefile:

make

A teraz budujemy paczkę ale jej nie instalujemy (zamiast “make install”).

checkinstall -D --install=no

Zamiast parametru “D” możemy się posłużyć “–type=debian. Generalnie na jedno wyjdzie gdyż oba te parametry mówią skryptowi, że chcemy aby została utworzona paczka dla debiana. Jeżeli byśmy chcieli utworzyć inną paczkę, to do wyboru mamy:

-t,–type= Choose packaging system
-S Build a Slackware package
-R Build a RPM package
-D Build a Debian package

Teraz, w katalogu ze źródłami powinna pojawić się paczka .deb. Aby ją zainstalować posłuż się dpkg. Albo po prostu na nią kliknij jeżeli jesteś w środowisku graficznym.

Instalacja
dpkg -i <nazwa paczki .deb>

Usuwanie:
dpkg -r <nazwa paczki .deb>

Inne parametry checkinstall:

*Scripting options*-y, --default                  Accept default answers to all questions--pkgname=<name>               Set name--pkgversion=<version>         Set version

-A, --arch, --pkgarch=<arch>   Set architecture

--pkgrelease=<release>         Set release

--pkglicense=<license>         Set license

--pkggroup=<group>             Set software group

--pkgsource=<source>           Set source location

--pkgaltsource=<altsource>     Set alternate source location

--pakdir=<directory>           The new package will be saved here

--maintainer=<email addr>      The package maintainer (.deb)

--provides=<list>              Features provided by this package (.rpm)

--rpmflags=<flags>             Pass this flags to the rpm installer

--dpkgflags=<flags>            Pass this flags to the dpkg installer

--spec=<path>                  .spec file location

--nodoc                        Do not include documentacion files

*Info display options*

-d<0|1|2>                      Set debug level

-si                            Run an interactive install command

--showinstall=<yes|no>         Toggle interactive install command

-ss                            Run an interactive Slackware installation script

--showslack=<yes|no>           Toggle interactive Slackware installation script

--exclude=<file|dir[,...]>     Exclude files/directtories from the package

*Package tuning options*

--autodoinst=<yes|no>          Toggle the creation of a doinst.sh script

--strip=<yes|no>               Strip any ELF binaries found inside the package

--stripso=<yes|no>             Strip any ELF binary libraries (.so files)

--gzman=<yes|no>               Compress any man pages found inside the package

--docdir=<path>                Where to put documentation files

--umask=<mask>                 Set the umask value

--newslack                     Use the new (8.1+) Slackware description format

("--newslack" implies "-S")

*Cleanup options*

--deldoc=<yes|no>              Delete doc-pak upon termination

--deldesc=<yes|no>             Delete description-pak upon termination

--delspec=<yes|no>             Delete spec file upon termination

--bk                           Backup any overwritten files

--backup=<yes|no>              Toggle backup

*About CheckInstall*

--help, -h                     Show this message

--copyright                    Show Copyright information

--version                      Show version information
Łukasz Brodowski signature

Powiązane wpisy

36 Komentarzy dla “Tworzenie paczki deb w Ubuntu”  

  1. Gravatar Icon 1 Thad Cytuj Przeglądarka Mozilla Firefox 2.0.0.11 na Ubuntu Linux

    Dzięki, przydało się :P

  2. Gravatar Icon 2 teknon Cytuj Przeglądarka Epiphany 2.22 na Linux

    Nie radzę sobie…
    Pobrałem plik laparola-6.1.tar.gz
    Co mam dalej zrobić, żeby stworzyć z niego paczkę .deb?

  3. Gravatar Icon 3 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.1 na Windows XP

    musisz ją rozpakować, przejść do nowo utworzonego katalogu i uruchomić powyższe polecenia…
    ./configure –prefix=/usr
    make
    checkinstall -D –install=no

  4. Gravatar Icon 4 teknon Cytuj Przeglądarka Epiphany 2.22 na Linux

    A jak przejść z katalogu do terminala, aby uruchomić te polecenia?
    Wydaje mi się, że w starszej wersji Ubuntu był coś takiego, teraz nie mogę znaleźć.
    teknon

  5. Gravatar Icon 5 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.1 na Windows XP

    najlepiej zrobić wszystko od razu z poziomu konsoli…
    rozpakowujemy paczkę: tar -xzvf laparola-6.1.tar.gz
    przechodzimy do katalogu z rozpakowaną paczką: cd laparola-6.1
    i dalej już wiesz co robić

  6. Gravatar Icon 6 teknon Cytuj Przeglądarka Epiphany 2.22 na Linux

    Znów problem.
    Po rozpakowaniu, system nie znajduje katalogu wskazanego. Zajrzałem do “home” i go tam rzeczywiście nie ma. Rozpakowane pliki są “luzem”.
    Oto wpis, który pojawił się w konsoli:
    xkrzysztof@xkrzysztof-laptop:~$ tar -xzvf laparola-6.1.tar.gz
    bin/
    bin/laparola
    bin/DatiNR/
    bin/DatiNR/bibbia.bin
    bin/DatiNR/bibbia.ind
    bin/DatiNR/nocc.ind
    bin/DatiNR/nvoltep.bin
    bin/DatiNR/nvolter.bin
    bin/DatiNR/pararad.bin
    bin/DatiNR/parole.ind
    bin/DatiNR/parole.lst
    bin/DatiNR/posti.bin
    bin/DatiNR/puntegg.lst
    bin/DatiNR/radapar.bin
    bin/DatiNR/radici.ind
    bin/DatiNR/radici.lst
    bin/DatiNR/titoli.bin
    bin/DatiNR/vincinl.bin
    copying
    copying italiano
    laparola
    leggimi
    lib/
    lib/libborqt-6.9.0-qt2.3.so
    xkrzysztof@xkrzysztof-laptop:~$ cd laparola-6.1
    bash: cd: laparola-6.1: No such file or directory

    teknon

  7. Gravatar Icon 7 teknon Cytuj Przeglądarka Epiphany 2.22 na Linux

    Ok.
    Zrobiłem “ręcznie” wskazany katalog i do niego przeszedłem, ale potem pojawił sie następny błąd.
    Oto wpis
    root@xkrzysztof-laptop:/home/xkrzysztof# cd laparola-6.1
    root@xkrzysztof-laptop:/home/xkrzysztof/laparola-6.1# ./configure –prefix=/usr
    bash: ./configure: No such file or directory
    root@xkrzysztof-laptop:/home/xkrzysztof/laparola-6.1# :???:

  8. Gravatar Icon 8 teknon Cytuj Przeglądarka Epiphany 2.22 na Linux

    Ten sam problem pojawił się gdy wyszedłęm z konta root.
    xkrzysztof@xkrzysztof-laptop:~/laparola-6.1$ ./configure –prefix=/usr
    bash: ./configure: No such file or directory

  9. Gravatar Icon 9 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.1 na Linux

    W folderze powinien się znajdować plik o nazwie “INSTALL”… zajrzyj do niego. Może na przykład zamiast “configure” przechodzi się od razu do “make” albo jest inny sposób kompilacji.

  10. Gravatar Icon 10 teknon Cytuj Przeglądarka Epiphany 2.22 na Linux

    O.K.
    Dzięki, instalacja jest opisana w pliku leggimi (readme)
    Pozdrawiam
    teknon

  11. Gravatar Icon 11 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Jakoś nie idzie mi tworzenie tej paczki .deb. Chcę stworzyć paczkę .deb dla najnowszej wersji GIMP-a. Plik gimp-2.6.0.tar.bz2 rozpakowałem przy pomocy “zaklęcia” tar -xvjf plik.tar.bz2. W wyniku tego utworzył mi się katalog gimp-2.6.0. Następnie przy pomocy “zaklęcia” cd gimo-2.6.0 przeszedełem do tego nowo utworzonego katalgu. I tam wydałem polecenie “checkinstall -D –install=no”. W wyniku tego w konsoli pojawił mi się następujący poniższy komunikat i paczka .deb u mnie się nie pojawiła, niestety.

    *****************************************
    **** Debian package creation selected ***
    *****************************************

    This package will be built according to these values:

    0 - Maintainer: [ root@xxxx ]
    1 - Summary: [ gimp-2.6.0 ]
    2 - Name: [ gimp ]
    3 - Version: [ 2.6.0 ]
    4 - Release: [ 1 ]
    5 - License: [ GPL ]
    6 - Group: [ checkinstall ]
    7 - Architecture: [ i386 ]
    8 - Source location: [ gimp-2.6.0 ]
    9 - Alternate source location: [ ]
    10 - Requires: [ ]

    Enter a number to change any of them or press ENTER to continue:

    Installing with make install…

    ========================= Installation results ===========================
    make: *** Brak reguł do wykonania obiektu `install’. Stop.

    **** Installation failed. Aborting package creation.

    Cleaning up…OK

    Bye.

  12. Gravatar Icon 12 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.3 na Ubuntu Linux

    Od razu po przejściu do katalogu dałeś “checkinstall -D –install=no”?
    W takim razie nic dziwnego, że Ci się paczka niw tworzy… najpierw ./configure i make… “checkinstall -D –install=no” zastępuje “make install”

  13. Gravatar Icon 13 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Przyznaję rację. Moja pomyłka.
    Teraz jednak po wipisaniu w konsoli “zaklęcia” ./configure –prefix=/usr w ostatniej linijkach pojawia się jakiś komunikat o jakimś błędzie:
    configure: error: Test for babl failed. Please get it from http://gegl.org/

  14. Gravatar Icon 14 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    W zasadzie, to są nawet 2 ostatnie linijki, które informują o jakimś błędzie.

    checking for BABL… no
    configure: error: Test for babl failed. Please get it from http://gegl.org

  15. Gravatar Icon 15 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    I wybrałem się już nawet na stronę http://gegl.org w internecie, ale nie za bardzo wiem o co tam chodzi.

  16. Gravatar Icon 16 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.3 na Ubuntu Linux

    Potrzebujesz paczki “babl” której niestety nie ma w repozytoriach…

    svn co http://svn.gnome.org/svn/babl/trunk/ babl && svn co http://svn.gnome.org/svn/gegl/trunk/ gegl

    BABL:

    * cd babl
    * ./autogen.sh –prefix=/opt/gimp-2.5
    * make
    * sudo make install (albo checkinstall żeby zainstalować jako paczkę)
    * cd ..

    GEGL:

    * export PKG_CONFIG_PATH=/opt/gimp-2.5/lib/pkgconfig
    * cd gegl
    * ./autogen.sh –prefix=/opt/gimp-2.5
    * make
    * sudo make install (albo checkinstall żeby zainstalować jako paczkę)
    * cd ..

  17. Gravatar Icon 17 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Wybacz, że mżę zbyt upierliwy jestem, ale nie jestem zbyt dobry w tej dziedzinie. Do mnie trzeba raczej bardziej “łopatologicznie”. W związku z tym nie za bardzo wiem, co zrobić z tymi adresmi, które wymieniłeś powyżej i z tymi komendami (jak mniemam), które znajdują się pod nimi.

  18. Gravatar Icon 18 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Długo dumałem, aż wreszcie wydumałem co z tym wszystkim należy zrobić. Za pomocą konsoli ściągnąłem sobie te wszystkie bable i gegle. Korzystając z tych wszystkich “zaklęć” przez Ciebie wymienionych, w wypadku “babl” zatrzymałem się na ./autogen.sh ?prefix=/opt/gimp-2.5. W konsoli pojawił mi się komunikat:

    configure: error: invalid variable name: ?prefix
    Configure failed or did not finish!

    W wypadku “gegl” pierwsze “zaklęcie w ogóle nie działa. A po wpisaniu w konsoli ./autogen.sh ?prefix=/opt/gimp-2.5 pojawia się dokładnie taki sam komunikat, jak w pierwszym wypadku, czyli:

    configure: error: invalid variable name: ?prefix
    Configure failed or did not finish!

    I na razie jednym słowem lipa. Sprawa nie wydaje mi się więc chyba tak banalnie prosta.

  19. Gravatar Icon 19 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.3 na Windows XP

    zastąp ? przez –

  20. Gravatar Icon 20 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Co mam zastąpić, gdzie i przez co? Nie rozumiem tego, co napisałeś zupełnie. Jeżeli chodziło Ci o to, że w miejsce prefix mam wpisać przez, to od razu muszę Ciebie powiadomić, że nic to nie zmienia. Dalej jest to samo, niestety. Oj, naprawdę te tworzenie paczki .deb ze źródeł nie jest jednak takie banalnie proste, niestety.

  21. Gravatar Icon 21 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Jednak jestem wolnomyśliciel. :wink: Znowu długo dumałem i wreszcie wydumałem co na co mam zastąpić. Treba było po prostu zastąpić myślnik na inny myślnik. Teraz cała procedur przebiegła już prawidłowo, żadnych komunikatów o błędach nie zauważyłem, ale żadnego pliku babl.deb, czy coś w tym stylu nie widzę, niestety.

  22. Gravatar Icon 22 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Zrobiłem to samo z gegl. Proces poszedł znacznie dalej, ale zatrzemała się w pewnym momencie i pokazał asię komunikat:

    dpkg-deb: błąd parsowanie, w pliku `/var/tmp/diIbRQcOrpnIbKHNjoPaD/package/DEBIAN/control’ niedaleko linii 10 pakiet `gegl’:
    brak wartości dla version

    Już mi łapska opadają. Naprawdę, to wszystko takie banalnie proste nie jest, niestety. Ciągle jakieś przeszkody. Jak się przebrnie jedną przeszkodę, to za chwilke pojawia sie kolejna. I tak końca nie widać.

  23. Gravatar Icon 23 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.3 na Ubuntu Linux

    Samo tworzenie paczki deb JEST banalne. Twoim problemem są zależności które na dodatek są w wersji rozwojowej… takie życie jak chce się mieć cutting edge… Zajrzyj sobie lepiej tutaj: http://forum.ubuntu.pl/showthread.php?t=79271

  24. Gravatar Icon 24 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    A co to jest ten cutting edge?

  25. Gravatar Icon 25 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Czy z tego co napisałeś mam rozumieć, że w moim wypadku stworzenie paczki .deb GIMP-a jest niewykonalne?

  26. Gravatar Icon 26 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Po wpisaniu sudo checkinstall pojawia się u mnie komunikat:

    *****************************************
    **** Debian package creation selected ***
    *****************************************

    This package will be built according to these values:

    0 - Maintainer: [ root@GuMi ]
    1 - Summary: [ Package created with checkinstall 1.6.1 ]
    2 - Name: [ babl ]
    3 - Version: [ ]
    4 - Release: [ 1 ]
    5 - License: [ GPL ]
    6 - Group: [ checkinstall ]
    7 - Architecture: [ i386 ]
    8 - Source location: [ babl ]
    9 - Alternate source location: [ ]
    10 - Requires: [ ]

    Enter a number to change any of them or press ENTER to continue:

    Co mam na końcu wpisać?

  27. Gravatar Icon 27 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.3 na Ubuntu Linux

    Tu po prostu możesz zmienić informacje (np: nazwę). Jeżeli Ci wszystko pasuje to po prostu enter

  28. Gravatar Icon 28 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    W takim razie nadal lipa, bo później pojawia się ten komunikat, który już wczesniej wymieniłem, czyli:

    dpkg-deb: błąd parsowanie, w pliku `/var/tmp/diIbRQcOrpnIbKHNjoPaD/package/DEBIAN/control? niedaleko linii 10 pakiet `gegl?:
    brak wartości dla version

    I przy okazji jeszcze raz powtórzę pytanie. Co to jest ten “cutting edge”?

  29. Gravatar Icon 29 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    I jeszcze jedno pytanie chciałbym przypomnieć.
    Czy z tego co napisałeś mam rozumieć, że w moim przypadku stworzenie paczki .deb GIMP-a jest niewykonalne?

  30. Gravatar Icon 30 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.3 na Ubuntu Linux

    brak wartości dla version

    w takim razie wybierz 3 gdzie jest “version” wpisz powiedzmy “1.0″ i dopiero wtedy wciśnij enter

    Co to jest ten ?cutting edge??

    To znaczy z angielskiego (mniej więcej) najnowszy jaki może być. Chociaż ciężko szukać naprawdę w pełni poprawnego tłumaczenia.

    Czy z tego co napisałeś mam rozumieć, że w moim przypadku stworzenie paczki .deb GIMP-a jest niewykonalne?

    Nie ma rzeczy niemożliwych. Po prostu musisz się uporać z kompilacją zależności… później powinno być z górki.

  31. Gravatar Icon 31 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Wielkie dzięki za pomoc. Udało mi się wreszcie stworzyć babl.deb i gegl.deb. teraz mam pytanie. Mam zainstalować babl.deb i gegl.deb, czy też tylko jedno z nich?

  32. Gravatar Icon 32 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Nie czekając na Twoją odpowiedź postanowiłem trochę poeksperymentować. Najpierw zainstalowałem zarówno babl.deb jak też i gegl.deb, a następnie spróbowałem stworzyć paczkę GIMP-a. Niestety, ale nic się nie zmieniło. Po uruchomieniu “zaklęcia” ./configure –prefix=/usr nadal na końcu pojawia się komunikat:

    checking for BABL… no
    configure: error: Test for babl failed. Please get it from http://gegl.org/

    Następnie postanowiłem wykasować najpierw gegl.deb pozostawiając babl.deb, a później odwrotnie, czyli wykasować babl.deb pozostawiając gegl.deb. W obu tych przypadkach pojawia się dokładnie taki sam powyższy komunikat. Znowu kolejna przeszkoda, której pokonać nie sposób, jak na razie.

  33. Gravatar Icon 33 Łukasz Cytuj Przeglądarka Mozilla Firefox 3.0.3 na Windows XP

    Tak. Musisz zainstalować oba

  34. Gravatar Icon 34 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Teraz mam zainstalowane oba i nadal lipa.

  35. Gravatar Icon 35 artfot Cytuj Przeglądarka Opera 9.52 na Linux

    Niezbyt ciekawie to wszystko wygląda. Jednak chyba mimo wszystko w moim przypadku stworzenie paczki .deb GIMP-a jest na razie niewykonalne. Tak bynajmniej dotychczas to wszystko wygląda, niestety.

  1. 1 tylko kolejny tech-blog » Blog Archive » Psi-pedrito 2006-02-03


Odpowiedz

Cytuj zaznaczony tekst