Embalagem com Debhelper
Importante Requisitos: Os requisitos da seção "Embalagem do zero" mais debhelper e dh-make Como empacotador, você raramente criará pacotes do zero, como fizemos na seção anterior. Como você pode imaginar, muitas das tarefas e informações no regras arquivo, por exemplo, são comuns aos pacotes. Para tornar a embalagem mais fácil e eficiente, você pode usar desmembrador para ajudar nessas tarefas. Debhelper é um conjunto de scripts Perl (prefixado com dh_) que automatizam o processo de construção de pacotes. Com esses scripts, construir um pacote Debian se torna bastante simples. Neste exemplo, vamos construir novamente o pacote GNU Hello, mas desta vez vamos comparar nosso trabalho com o Ubuntu ola-debhelper pacote. Novamente, crie um diretório onde você estará trabalhando: Então, pegue o pacote fonte do Ubuntu: Como no exemplo anterior, a primeira coisa que precisamos fazer é descompactar o tarball original (upstream). Em vez de copiar o tarball upstream para ola_2.1.1.orig.tar.gz como fizemos no exemplo anterior, vamos deixar dh_make faça o trabalho por nós. A única coisa que você precisa fazer é renomear a pasta de origem para que ela esteja na forma de
Para criar a "debianização" inicial da fonte, usaremos dh_make. O dh_make então fará uma série de perguntas: Cuidado Só corre dh_make -e uma vez. Se você executá-lo novamente depois de fazê-lo pela primeira vez, ele não funcionará corretamente. Se você quiser alterá-lo ou cometer um erro, remova o diretório de origem e descompacte o tarball upstream novamente. Então você pode migrar para o diretório de origem e tentar novamente. Corrida dh_make -e faz duas coisas: o Olá programa não é muito complicado, e como vimos na seção chamada "Embalagem From Scratch", embalagem não requer muito mais do que os arquivos básicos. Portanto, vamos remover o .ex arquivos: Para Olávocê também não * Licença * Índice do Guia de Empacotamento do Ubuntu precisar README.Debian (Arquivo README para questões específicas do Debian, não o README do programa), dirs (usado por dh_installdirs para criar diretórios necessários), docs (usado por dh_installdocs para instalar a documentação do programa), ou informação (usado por dh_installinfo para instalar o arquivo info) arquivos no debian diretório. Para obter mais informações sobre esses arquivos, consulte a seção "arquivos de exemplo dh_make". Neste ponto, você deve ter apenas changelog, compat, ao controle, direito autorale regras arquivos no debian diretório. Na seção chamada "Empacotando a partir do zero", o único arquivo novo é compat, que é um arquivo que contém o desmembrador versão (neste caso 4) que é usada. Você precisará ajustar o changelogligeiramente, neste caso, para refletir que este pacote é nomeado ola-debhelper em vez de apenas Olá: Usando desmembrador, as únicas coisas que precisamos mudar ao controle são o nome (substituindo Olá para ola-debhelper) e adicionando debhelper (> = 4.0.0) ao Construir Depende campo para o pacote de origem. O pacote do Ubuntu para ola-debhelper parece: Nós podemos copiar o direito autoral arquivo e o postinst e prerm scripts do Ubuntu ola-debhelper pacote, como eles não mudaram desde a seção chamada "Packaging From Scratch". Nós também vamos copiar o regras arquivo para que possamos inspecioná-lo. O último arquivo que precisamos analisar é regras, onde o poder de desmembrador scripts podem ser vistos. o desmembrador versão de regras é um pouco menor (54 linhas em oposição a 72 linhas na versão da seção chamada "regras"). o desmembrador versão parece com: touch build binary-indep: install # Não há arquivos independentes de arquitetura a serem enviados # gerados por este pacote. Se houvesse algum, eles seriam # feitos aqui. binary-arch: instala dh_testdir -a dh_testroot -a dh_installdocs -a NOTÍCIAS dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binário: binary-indep binary- arco .PHONY: binary-arch binary-indep checkroot limpo binário Observe que tarefas como testar se você estiver no diretório correto (dh_testdir), certificando-se de que você está construindo o pacote com privilégios de root (dh_testroot), instalando documentação (dh_installdocs e dh_installchangelogs) e limpeza após a compilação (dh_clean) são tratados automaticamente. Muitos pacotes muito mais complicados do que Olá ter regras arquivos não maiores porque o desmembrador scripts lidam com a maioria das tarefas. Para uma lista completa de desmembrador scripts, consulte a seção "Lista de desmembrador scripts ". Eles também estão bem documentados em seus respectivos homem Páginas. É um exercício útil ler a página do manual (eles estão bem escritos e não longos) para cada script de ajuda usado acima regras Arquivo.