Como criar um pacote simplesmente debian (apenas comprimir / extrair fontes ou quaisquer arquivos com empacotamento debian)
Eu preciso criar um novo pacote .deb do projeto Realxtend (https://github.com/realXtend/naali). É um grande projeto com muitas dependências e um script bash automático (/tools/Linux/build-deps.bash) para baixar, compilar e instalar todos os deps e executáveis. Então eu tento muitos tutoriais, mas muitas vezes eu tenho alguns erros e estou preso porque os tutoriais estão desatualizados (com o novo arquivo 'regras' principalmente) ... e também porque eu não sou um desenvolvedor.
Então, para começar, eu só preciso criar um arquivo .deb exatamente como um arquivo simples, ou seja, não interpretar qualquer processo de construção, 'makefile' ou outros tipos de coisas. Gostaria de apenas comprimir / descompactar um arquivo .deb contém todo o projeto já configurado com todas as dependências como um arquivo .zip com qualquer pasta, descompacte todo o conteúdo logo após o arquivo.
Eu tenho 2 pastas / naali e / naali-deps com vários arquivos (exe, src, lib, ...) configurados com o comando running-deps.bash no Ubuntu Precise x64. eu corrodh_make
, limpar e preencher / debian arquivos (changelog, controle, direitos autorais), criar uma chave gpg e executarsudo debuild -us -uc -k0xCODE
(eu ouvi 'sudo' é 'ruim' mas eu não sei sem ...)
Eu entendi isso :
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.
... então eu preciso de ajuda em:
1) Você conhece um tutorial atualizado e completo (para novatos) diferente de 'Debian New Maintainer' e irc / maillist como # debian-dev ... -> veja o link Phpdna e para fontes específicas de pacotes onde eu entendo meu erro e usodpkg-source
cmd:http://debian-handbook.info/browse/wheezy/sect.source-package-structure.html
2) Como fazer uma 'debianização' do meu projeto? -> comdh_make
entãodpkg-buildpackage -rfakeroot
é o bom caminho
3) Onde estão meus erros? -> vazio-binários-arquivos aviso lintian é normal, então cmd errado: precisadpkg-source
, nãodpkg-deb
4) O que devo fazer com $ {shlibs: Depends}? -> uma coisa automática lib-deps-links, eu não me importo com isso agora
5) Por que eu tenho um pacote binário vazio? -> na verdade, todos os dados já construídos permanecem em .orig.tar.gz no meu caso
Muito obrigado se você puder me esclarecer sobre magia de pacotes .deb.
EDIT: Então eu encontrei o cmd final que eu preciso, apenasdpkg-source -x projet-version.dsc
. Eu não entendi conteúdo do arquivo .deb só muda e eu stucked comdebuild
edpkg-deb -...
cmds para construção não para fontes de extração (e quaisquer arquivos).
Solução:
sudo apt-get install debhelper build-essential dh-make
criar pasta / projeto com outra pasta em contém todo o projeto chamado / versão do projetodh_make --createorig
em / project-version +rm -rf *ex *EX README*
em / debian + preencher corretamente / debian / {rules; copyright; changelog}dpkg-buildpackage -rfakeroot
com-us -uc
ou-k0x[GPG-KEY]
in / project-versionMantenha sempre juntos {project_version.orig.tar.gz (todos os projetos de dados); project_version.debian.tar.gz (modifs); project_version_all / any.deb (modifs); project_version_arch.changes (meta); project_version.dsc (meta)}Corredpkg-source -x projet-version.dsc
extrair projetoEntão, agora, vá para adicionar alguns scripts automáticos com ele e assim que ele suceder, vou marcar resolvido.