Cómo crear un paquete simplemente debian (solo comprimir / extraer fuentes o cualquier archivo con el paquete debian)
Necesito crear un nuevo paquete .deb del proyecto Realxtend (https://github.com/realXtend/naali). Es un proyecto enorme con muchas dependencias y un script de bash automático (/tools/Linux/build-deps.bash) para descargar, compilar e instalar todos los deps y ejecutables. Así que pruebo muchos tutoriales pero a menudo tengo algunos errores y estoy atascado porque los tutoriales están desactualizados (con el nuevo archivo de 'reglas' principalmente) ... y también porque no soy un desarrollador inicialmente.
Por lo tanto, para comenzar, solo necesito crear un archivo .deb exactamente como un archivo simple, es decir, no interpretar ningún proceso de construcción, 'makefile' u otros tipos de cosas. Me gustaría simplemente comprimir / descomprimir un archivo .deb que contiene todos los proyectos ya configurados con todas las dependencias, como un archivo .zip con cualquier carpeta, descomprimir todo el contenido justo al lado del archivo.
Tengo 2 carpetas / naali y / naali-deps con varios archivos (exe, src, lib, ...) configurados con la ejecución de build-deps.bash en Ubuntu Precise x64. Corrodh_make
, limpia y llena / llena archivos debian (changelog, control, copyright), crea una clave gpg y ejecutasudo debuild -us -uc -k0xCODE
(Escuché 'sudo' que es "malo" pero no sé sin ...)
Entiendo esto :
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.
... así que necesito ayuda en:
1) ¿Conoces un tutorial actualizado y completo (para principiantes) que no sea 'Debian New Maintainer' e irc / maillist como # debian-dev ... -> consulta el enlace de Phpdna y el paquete de fuentes específicas donde entiendo mi error y usodpkg-source
cmd:http://debian-handbook.info/browse/wheezy/sect.source-package-structure.html
2) ¿Cómo hacer una 'debianización' de mi proyecto? -> condh_make
entoncesdpkg-buildpackage -rfakeroot
, es la (a) buena manera
3) ¿Dónde están mis errores? -> Lintian warning de empty-binaries-files es normal, entonces cmd incorrecto: necesitadpkg-source
nodpkg-deb
4) ¿Qué debo hacer con $ {shlibs: Depends}? -> una cosa automática de lib-deps-links, no me importa en eso ahora
5) ¿Por qué tengo un paquete binario vacío? -> de hecho, todos los datos ya construidos permanecen en .orig.tar.gz en mi caso
Muchas gracias si me pueden iluminar en el paquete .deb magic.
EDIT: Entonces encontré el cmd final que necesito, solodpkg-source -x projet-version.dsc
. No entendí los cambios en el contenido del archivo .deb y me quedé condebuild
ydpkg-deb -...
cmds para compilar no para extraer fuentes (y cualquier archivo).
Solución:
sudo apt-get install debhelper build-essential dh-make
crear carpeta / proyecto con otra carpeta en contiene todo el proyecto llamado / proyecto-versióndh_make --createorig
en / project-version +rm -rf *ex *EX README*
en / debian + rellene correctamente / debian / {rules; copyright; changelog}dpkg-buildpackage -rfakeroot
con-us -uc
o-k0x[GPG-KEY]
en / proyecto-versionMantener siempre juntos {project_version.orig.tar.gz (todos los proyectos de datos); project_version.debian.tar.gz (modifs); project_version_all / any.deb (modifs); project_version_arch.changes (meta); project_version.dsc (meta)}correrdpkg-source -x projet-version.dsc
para extraer proyectoEntonces, ahora, agregue algunos scripts automáticos y, tan pronto como tenga éxito, marcaré como resuelto.