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
debhelper
detalhada. Descomenteexport DH_VERBOSE=1
no arquivorules
. -
O pacote parece depender de
autoreconf
não apenasautomake
/autotools
. Então, altere a linha principalrules
para:%: #dh $@ --with autotolls-dev dh $@ --parallel --list-missing --with autoreconf
e adicione
dh-autoreconf
para criar dependências no arquivocontrol
.Portanto, agora você precisa mais pré-gerar os arquivos de criação automática executando
./autogen.sh
manualmente. 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-test
deixe mais tarde para ser corrigido.
-
Para o pacote
libprime-server
vazio, isso é porque ele tem um nome errado.libprime-server
nocontrol
file elibprime-server1
com1
nos 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-server1
folder & 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-server
nã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-server
mas cometeu apenas um arquivo
bzr add debian/source/format
para consertá-lo, envie a pasta inteira:
bzr add debian
bzr builddeb
parece usar apenas os arquivos de confirmação / tag (comDebian
label), 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/control
Source: 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.dirs
usr/bin
-
Crie
prime-server-bin.install
usr/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