Jak utworzyć prosty pakiet debian (wystarczy kompresować / wyodrębniać źródła lub pliki z pakietem debian)

Muszę utworzyć nowy pakiet .deb projektu Realxtend (https://github.com/realXtend/naali). Jest to ogromny projekt z wieloma zależnościami i automatycznym skryptem bash (/tools/Linux/build-deps.bash) do pobierania, kompilowania i instalowania wszystkich pakietów i plików wykonywalnych. Więc próbuję wielu tutoriali, ale często popełniam błędy i utknęłam, ponieważ tutoriale są przestarzałe (głównie z nowym plikiem „rules”) ... a także dlatego, że nie jestem inicjatorem dev.

Na początek potrzebuję tylko utworzyć plik .deb dokładnie taki jak proste archiwum, tj. Nie interpretować żadnego procesu budowania, „makefile” ani innych rzeczy. Chciałbym po prostu skompresować / rozpakować plik .deb zawierający wszystkie projekty skonfigurowane już ze wszystkimi zależnościami, takie jak plik .zip z dowolnym folderem, rozpakować całą zawartość tuż obok archiwum.

Mam 2 foldery / naali i / naali-deps z różnymi plikami (exe, src, lib, ...) skonfigurowanymi z uruchomionym build-deps.bash na Ubuntu Precise x64. biegnędh_make, wyczyść i wypełnij / debian pliki (dziennik zmian, kontrola, prawa autorskie), utwórz klucz gpg i uruchomsudo debuild -us -uc -k0xCODE (usłyszałem „sudo” to „złe”, ale nie wiem bez ...)

Rozumiem :

 dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: warning: using a gain-root-command while being root
dpkg-buildpackage: source package realxtend
dpkg-buildpackage: source version 0-1
dpkg-buildpackage: source changed by sylvain Bicherel <[email protected]>
 dpkg-source --before-build realxtend-0
dpkg-buildpackage: host architecture amd64
 fakeroot debian/rules clean
dh clean 
   dh_testdir
   dh_auto_clean
   dh_clean
 dpkg-source -b realxtend-0
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building realxtend using existing ./realxtend_0.orig.tar.gz
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/Extras/CDTestFramework/License.txt.bak
dpkg-source: warning: ignoring deletion of directory naali-deps/build/bullet-2.81-rev2613/autom4te.cache
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/traces.1
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/output.1
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/requests
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/traces.0
dpkg-source: warning: ignoring deletion of file naali-deps/build/bullet-2.81-rev2613/autom4te.cache/output.0
dpkg-source: info: building realxtend in realxtend_0-1.debian.tar.gz
dpkg-source: info: building realxtend in realxtend_0-1.dsc
 debian/rules build
dh build 
   dh_testdir
   dh_auto_configure
   dh_auto_build
   dh_auto_test
 fakeroot debian/rules binary
dh binary 
   dh_testroot
   dh_prep
   dh_installdirs
   dh_auto_install
   dh_install
   dh_installdocs
   dh_installchangelogs
   dh_installexamples
   dh_installman
   dh_installcatalogs
   dh_installcron
   dh_installdebconf
   dh_installemacsen
   dh_installifupdown
   dh_installinfo
   dh_installinit
   dh_installmenu
   dh_installmime
   dh_installmodules
   dh_installlogcheck
   dh_installlogrotate
   dh_installpam
   dh_installppp
   dh_installudev
   dh_installwm
   dh_installxfonts
   dh_installgsettings
   dh_bugfiles
   dh_ucf
   dh_lintian
   dh_gconf
   dh_icons
   dh_perl
   dh_usrlocal
   dh_link
   dh_compress
   dh_fixperms
   dh_strip
   dh_makeshlibs
   dh_shlibdeps
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: Depends field of package realxtend: unknown substitution variable ${shlibs:Depends}
   dh_md5sums
   dh_builddeb
dpkg-deb : construction du paquet « realxtend » dans « ../realxtend_0-1_amd64.deb ».
 dpkg-genchanges  >../realxtend_0-1_amd64.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build realxtend-0
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
warning: the authors of lintian do not recommend running it with root privileges!
W: realxtend source: configure-generated-file-in-source naali-deps/build/celt-0.11.1/config.status
W: realxtend source: configure-generated-file-in-source naali-deps/build/celt-0.11.1/config.log
W: realxtend: new-package-should-close-itp-bug
W: realxtend: empty-binary-package
Finished running lintian.

... więc potrzebuję pomocy w:

1) Czy znasz zaktualizowany i kompletny samouczek (dla nowicjusza) inny niż „Opiekun nowego Debiana” i irc / maillist jak # debian-dev ... -> zobacz link Phpdna i dla określonych źródeł pakowania, gdzie rozumiem mój błąd i używajdpkg-source cmd:http://debian-handbook.info/browse/wheezy/sect.source-package-structure.html

2) Jak zrobić „debianizację” mojego projektu? -> zdh_make następniedpkg-buildpackage -rfakeroot, to (a) dobry sposób

3) Gdzie są moje błędy? -> empty-binaries-files Ostrzeżenie lintian jest normalne, a następnie błędne cmd: needdpkg-source, niedpkg-deb

4) Co powinienem zrobić z $ {shlibs: Depends}? -> automatyczna rzecz lib-deps-links, teraz nie mam nic przeciwko

5) Dlaczego mam pusty pakiet binarny? -> w rzeczywistości wszystkie dane już w moim przypadku pozostają w .orig.tar.gz

Wielkie dzięki, jeśli możesz oświecić mnie na temat magii pakietu .deb.

EDYCJA: Więc znalazłem ostateczne cmd, którego potrzebuję, tylkodpkg-source -x projet-version.dsc. Nie zrozumiałem zawartości pliku .deb tylko zmiany i zablokowałemdebuild idpkg-deb -... cmds do budowania nie do źródeł ekstraktu (i dowolnych plików).

Rozwiązanie :

sudo apt-get install debhelper build-essential dh-makeutwórz folder / projekt z innym folderem zawierającym cały projekt o nazwie / wersja-projektudh_make --createorig w / project-version +rm -rf *ex *EX README* w / debian + wypełnij poprawnie / debian / {zasady; copyright; changelog}dpkg-buildpackage -rfakeroot z-us -uc lub-k0x[GPG-KEY] in / project-versionZawsze trzymaj się razem {project_version.orig.tar.gz (wszystkie projekty danych); project_version.debian.tar.gz (modifs); project_version_all / any.deb (modifs); project_version_arch.changes (meta); project_version.dsc (meta)}Biegaćdpkg-source -x projet-version.dsc wyodrębnić projekt

Więc teraz dodaj do niego kilka automatycznych skryptów i jak tylko się to uda, zaznaczę rozwiązanie.

questionAnswers(1)

yourAnswerToTheQuestion