So erstellen Sie ein einfaches Debian-Paket (komprimieren / extrahieren Sie einfach Quellen oder beliebige Dateien mit Debian-Paketen)

Ich muss ein neues .deb-Paket des Realxtend-Projekts erstellen (https://github.com/realXtend/naali). Es ist ein riesiges Projekt mit vielen Abhängigkeiten und einem automatischen Bash-Skript (/tools/Linux/build-deps.bash) zum Herunterladen, Kompilieren und Installieren aller Deps und ausführbaren Dateien. Also probiere ich viele Tutorials aus, aber ich habe oft Fehler und bin festgefahren, weil Tutorials veraltet sind (hauptsächlich mit neuen 'Rules'-Dateien) ... und auch, weil ich kein Entwickler bin.

Für den Anfang muss ich also nur eine .deb-Datei erstellen, genau wie ein einfaches Archiv, dh keinen Erstellungsprozess, Makefile oder andere Dinge interpretieren. Ich möchte einfach eine .deb-Datei komprimieren / dekomprimieren, die alle bereits konfigurierten Projekte mit allen Abhängigkeiten enthält, wie eine .zip-Datei mit einem beliebigen Ordner. Dekomprimieren Sie den gesamten Inhalt direkt neben dem Archiv.

Ich habe 2 Ordner / naali und / naali-deps mit verschiedenen Dateien (exe, src, lib, ...), die mit build-deps.bash unter Ubuntu Precise x64 konfiguriert sind. ich rennedh_make, säubere und fülle / debian-Dateien (Changelog, Kontrolle, Copyright), erstelle einen gpg-Schlüssel und startesudo debuild -us -uc -k0xCODE (Ich habe 'sudo' gehört, es ist "schlecht", aber ich weiß es nicht ohne ...)

Ich bekomme das:

 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.

... also brauche ich Hilfe bei:

1) Kennen Sie ein aktualisiertes und vollständiges Tutorial (für Neulinge) außer 'Debian New Maintainer' und irc / maillist wie # debian-dev ... -> siehe Phpdna-Link und für spezifische Paketquellen, in denen ich meinen Fehler und meine Verwendung verstehedpkg-source cmd:http://debian-handbook.info/browse/wheezy/sect.source-package-structure.html

2) Wie kann ich mein Projekt debianisieren? -> mitdh_make danndpkg-buildpackage -rfakeroot, es ist der (a) gute Weg

3) Wo sind meine Fehler? -> empty-binaries-files lintian warnung ist normal, dann falscher cmd: nötigdpkg-sourcenichtdpkg-deb

4) Was soll ich mit $ {shlibs: Depends} machen? -> eine automatische lib-deps-links-sache, das macht mir jetzt nichts aus

5) Warum habe ich ein leeres Binärpaket? -> Tatsächlich bleiben alle bereits erstellten Daten in meinem Fall in .orig.tar.gz

Vielen Dank, wenn Sie mich über .deb-Paketmagie aufklären können.

EDIT: Also fand ich die endgültige cmd, die ich brauche, nurdpkg-source -x projet-version.dsc. Ich habe nicht verstanden, dass sich der Inhalt von .deb-Dateien nur ändert, und ich bin dabei gebliebendebuild unddpkg-deb -... cmds zum Erstellen nicht für Extraktionsquellen (und alle Dateien).

Lösung:

sudo apt-get install debhelper build-essential dh-makeOrdner / Projekt mit einem anderen Ordner erstellen in enthält alle Projekte mit dem Namen / project-versiondh_make --createorig in / project-version +rm -rf *ex *EX README* in / debian + richtig ausfüllen / debian / {rules; copyright; changelog}dpkg-buildpackage -rfakeroot mit-us -uc oder-k0x[GPG-KEY] in / project-versionImmer zusammenhalten {project_version.orig.tar.gz (alle Datenprojekte); project_version.debian.tar.gz (modifs); project_version_all / any.deb (modifs); project_version_arch.changes (Meta); project_version.dsc (meta)}Laufdpkg-source -x projet-version.dsc Projekt zu extrahieren

Füge jetzt einige automatische Skripte hinzu und sobald es erfolgreich sein wird, werde ich als gelöst markieren.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage