Bem, eu poderia testá-lo no Ubuntu 14.04 e (com o último commit) no Ubuntu 16.04.
-
Como você é novo no empacotamento, é melhor ativar a saída
debhelperdetalhada. Descomenteexport DH_VERBOSE=1no arquivorules. -
O pacote parece depender de
autoreconfnão apenasautomake/autotools. Então, altere a linha principalrulespara:%: #dh $@ --with autotolls-dev dh $@ --parallel --list-missing --with autoreconfe adicione
dh-autoreconfpara criar dependências no arquivocontrol.Portanto, agora você precisa mais pré-gerar os arquivos de criação automática executando
./autogen.shmanualmente. Tenha em mente que tudo deve ser feito através do arquivorules, caso contrário, ele falhará quando for construído em um servidor PPA com uma árvore de fontes limpas. -
Um dos testes falha, eu dou a volta pulando-os. sobrescrevendo o
dh_auto_test. Então, adiciono isso ao arquivorules:override_dh_auto_test: echo skip auto-testdeixe mais tarde para ser corrigido.
-
Para o pacote
libprime-servervazio, isso é porque ele tem um nome errado.libprime-servernocontrolfile elibprime-server1com1nos outros (comolibprime-server1.install) -
Sim,
lintian(ferramenta QA) gera esse aviso porque espera ser a versão principal do pacote. Sim, não há problema em renomeá-lo paralibprime-server0. Há apenas uma nota, você tem que limpar a árvore de construção da compilação anterior. Então, apaguedebian/libprime-server1folder & amp; tente reconstruir novamente.Você pode adicionar quantos pacotes desejar, veja os arquivos atualizados abaixo.
-
Sim, as dependências devem incluir o pacote binário,
libprime-server0. O pacote de origemlibprime-servernão é uma dependência de nenhum. -
Eu não estava usando o seu script para construir, eu estava usando outro fluxo de trabalho manual (faça o download do arquivo zip original, extraia-o, adicione a pasta debian, crie usando
debuild). Não consegui reproduzir o mesmo problema que aquele dos pacotes binários vazios.Eu consegui reproduzi-lo com
build.sh. O problema, você mudou o totaldebian/:rm -rf libprime-server/debian cp -rp ../debian libprime-servermas cometeu apenas um arquivo
bzr add debian/source/formatpara consertá-lo, envie a pasta inteira:
bzr add debianbzr builddebparece usar apenas os arquivos de confirmação / tag (comDebianlabel), não a árvore de trabalho atual.
Aqui estão os arquivos que eu mudei:
-
debian/rules#!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 %: #dh $@ --with autotools-dev dh $@ --parallel --list-missing --with autoreconf override_dh_auto_test: echo skip auto-test -
debian/controlSource: libprime-server Priority: optional Maintainer: Kevin Kreiser <[email protected]> Build-Depends: debhelper (>= 9), autotools-dev, dh-autoreconf, libcurl4-openssl-dev, libzmq3-dev Standards-Version: 3.9.5 Section: libs Homepage: https://github.com/kevinkreiser/prime_server Vcs-Git: git://github.com/kevinkreiser/prime_server.git Package: libprime-server-dev Section: contrib/libdevel Architecture: any Depends: libprime-server0 (= ${binary:Version}), ${misc:Depends} Description: Service oriented distributed computing API A set of APIs designed around the zeromq butterfly pattern specifically focused on servicing http requests Package: libprime-server0 Section: contrib/libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Service oriented distributed computing API A set of APIs designed around the zeromq butterfly pattern specifically focused on servicing http requests Package: prime-server-bin Section: contrib/misc Architecture: any Depends: libprime-server0 (= ${binary:Version}), ${misc:Depends} Description: Service oriented distributed computing API A set of APIs designed around the zeromq butterfly pattern specifically focused on servicing http requests -
libprime-server1.installé renomeado paralibprime-server0.install -
libprime-server1.diré renomeado paralibprime-server0.dir -
Crie
prime-server-bin.dirsusr/bin -
Crie
prime-server-bin.installusr/bin/* -
build.sh#!/bin/bash set -e rm -rf build mkdir build pushd build #get prime_server software #sudo apt-get install autoconf automake libtool make gcc-4.9 g++-4.9 lcov sudo apt-get install libcurl4-openssl-dev libzmq3-dev git clone --branch 0.3.2 --recursive https://github.com/kevinkreiser/prime_server.git tar pczf prime_server.tar.gz prime_server rm -rf prime_server #start building the package sudo apt-get install dh-make dh-autoreconf bzr-builddeb bzr dh-make libprime-server 0.3.2 prime_server.tar.gz rm -rf libprime-server/debian cp -rp ../debian libprime-server pushd libprime-server bzr add debian bzr commit -m "Initial commit of Debian packaging." bzr builddeb -- -us -uc #TODO: sign the package popd #TODO: push the package to the ppa #TODO: make an ITP for inclusion in mainline popd