Primeiro de tudo, sua sintaxe está errada e resultará em uma linha de comando como ...
dh_gencontrol -- -Vdist:Depends=""php7.0, php7.0-opcache, ...""
em vez de (o que você deseja):
dh_gencontrol -- -Vdist:depends="php7.0, php7.0-opcache, ..."
isso ocorre porque make
não cita, e você cita os dados na variável duas vezes (uma vez na atribuição, uma vez quando você a usa). Solte um deles.
Em segundo lugar, a razão pela qual não está funcionando é porque o seu arquivo debian / rules (como escrito) não invocará dh_gencontrol
com os argumentos extras desejados. Um arquivo debian/rules
é um Makefile
; portanto, deveria ter regras etc., caso contrário, elas são ignoradas. Algo assim faz o que é expetado na minha máquina:
#!/usr/bin/make -f
%:
dh $@
PKGS := abcd, efgh
override_dh_gencontrol:
dh_gencontrol -- -Vdist:Depends="$(LIBS)"
Se isso ainda não fizer o que você está esperando, um exemplo completo (ou seja, algo em que você pode executar dpkg-buildpackage
on) é absolutamente necessário.
EDITAR : você ainda tem a dupla citação. As linhas XENIAL_LIBS
e PRE_XENIAL_LIBS
têm aspas em torno delas. Remova eles. Além disso, você ainda não forneceu um exemplo de que dpkg-buildpackage
não irá reclamar (por um lado, o arquivo de controle está incompleto). Não tem que ser o que você está trabalhando é que contém segredos da empresa, mas um exemplo mínimo que demonstra o problema é essencial. Com o que você forneceu até agora, não consigo reproduzir seu problema.
EDIT2 : seu arquivo de regras completo mostra que você está usando o CDBS, não o dh
do debhelper. Dessa forma, a meta override_dh_gencontrol
não está sendo chamada (essa é uma coisa dh
-específica). Eu não sei como o CDBS lida com a substituição de comandos individuais de debhelper (é por isso que eu não respondi a isso antes do meu feriado, esperando que talvez alguém possa lhe dizer o que fazer), mas provavelmente é algo parecido com outro Variável CDBS_FOO_BAR que você deve definir. Felizmente, o seu arquivo debian/rules
é simples o suficiente para que a porta do cdbs seja bastante simples. Aplique o seguinte patch:
--- rules.old 2016-07-12 16:57:05.350385288 +0200
+++ rules 2016-07-12 16:58:54.456536432 +0200
@@ -1,8 +1,7 @@
#!/usr/bin/make -f
-DEB_DH_INSTALL_ARGS=-X .svn
-
-include /usr/share/cdbs/1/rules/debhelper.mk
+%:
+ dh $@
# Add here any variable or target overrides you need.
@@ -16,15 +15,10 @@
PLATFORM_LIBS := $(PRE_XENIAL_LIBS)
endif
+override_dh_install:
+ dh_install -X .svn
override_dh_gencontrol:
dh_gencontrol -- -Vother-depends="$(PLATFORM_LIBS)"
-
-configure: configure-stamp
-configure-stamp:
- touch configure-stamp
-
-build: build-stamp
-build-stamp: configure-stamp
- dh_testdir
+override_dh_auto_build:
dpkg-parsechangelog | awk '$$0 ~ /^Version:/ {print $$2}' > version.txt
- touch build-stamp
+ dh_auto_build
Primeiro, isso inclui a inclusão de CDBS e a variável DEB_DH_INSTALL_ARGS
específica de CDBS, que dh
não suporta, e adiciona o% curinga Makefile
target que dh requer em seu lugar. Ele também adiciona o override_dh_install
target, que substitui a variável DEB_DH_INSTALL_ARGS
.
Em segundo lugar, isso elimina as segmentações configure
e build
, bem como as configure-stamp
e build-stamp
. dh
não os usa (e é, na verdade, prejudicial retê-los).
Finalmente, adicionamos outro alvo de substituição que faz a coisa dpkg-parsechangelog para criar seu arquivo version.txt. Seu processo de criação real provavelmente é outra coisa, mas isso mostra como substituí-lo.