A maneira mais fácil é usar pacotes alternativos no campo Build-Depends , por exemplo, %código%. Isso tem várias peculiaridades, a primeira dependência que satisfaz o resolvedor de dependências será escolhida. Você também pode usar Dependências de compilação com versão (por exemplo, se souber que algumas versões anteriores de pacotes estavam incompletas), por exemplo, Build-Depends: dh-python | python-central, [...] .
A maneira mais complicada se você precisa Depender do pacote que não existe em versões anteriores (ou posteriores) é adicionar Build-Depends: dh-python (>= <correct_version) | python-central como uma dependência em vez de apenas base-files (<< <version>) | real-package e ajustar o real-package para corresponder ao versão no próximo lançamento. Se você precisa de um pacote no sistema mais antigo, mas não no novo, você usaria <version> e usaria base-file (>= <version>) | real-package do lançamento do Ubuntu, onde você não precisa do <version> .
Por exemplo, para backporting real-package para o Ubuntu 12.04, mudei apache2 para libnghttp2-dev .
Eu adicionarei base-files (<< 7.2~) | libnghttp2-dev snippet do meu backport do MySQL-5.6:
DPKG_VENDOR ?= $(shell dpkg-vendor --query Vendor | tr [A-Z] [a-z])
DEB_DISTRIBUTION = $(shell dpkg-parsechangelog | sed -ne 's/^Distribution: //p')
ENABLE_SYSTEMD = yes
ifeq (ubuntu,$(DPKG_VENDOR))
ifeq ($(DEB_DISTRIBUTION),$(filter $(DEB_DISTRIBUTION),precise))
$(warning Disabling systemd on $(DPKG_VENDOR) $(DEB_DISTRIBUTION))
ENABLE_SYSTEMD = no
endif
endif
[...]
%:
ifeq (yes,$(ENABLE_SYSTEMD))
dh $@ --parallel --with systemd
else
dh $@ --parallel
endif
e d/rules tem
Build-Depends: [...], dh-systemd (>= 1.5) | base-files (<< 7.2ubuntu5~)