debian/backports: include in distfile, don't put files in ..

Testing-done: ran 'make dist', unpacked elsewhere, built from result

Adjusted target to build the .orig.tar.gz accordingly, since it must
exclude the debian/ subdirectory.  Allows for building any backport from
only a tarball.

Signed-off-by: Silas McCroskey <smccroskey@cumulusnetworks.com>
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
This commit is contained in:
Silas McCroskey 2017-02-14 19:04:10 +07:00 committed by Martin Winter
parent 79c81c2651
commit ee9d7744f8
7 changed files with 65 additions and 9 deletions

5
.gitignore vendored
View File

@ -28,6 +28,7 @@ aclocal.m4
Makefile.in
*.tar.gz
*.tar.gz.asc
*.tar.?z
.nfs*
libtool
.libs
@ -61,6 +62,10 @@ debian/frr.prerm.debhelper
debian/frr.substvars
debian/frr/
debian/tmp/
*.deb
*.ddeb
*.dsc
*.changes
*.pyc
*.swp
cscope.*

View File

@ -64,6 +64,7 @@ DIST_SUBDIRS = . bgpd \
vtysh doc tests \
solaris bgpd/rfp-example/librfp \
bgpd/rfp-example/rfptest \
debian
# end
if PKGSRC

View File

@ -1839,6 +1839,7 @@ AC_CONFIG_FILES([Makefile
doc/Makefile tests/Makefile
bgpd/rfp-example/rfptest/Makefile bgpd/rfp-example/librfp/Makefile
redhat/frr.spec
debian/Makefile
snapcraft/snapcraft.yaml
lib/version.h
tests/lib/cli/test_cli.refout

36
debian/Makefile.am vendored Normal file
View File

@ -0,0 +1,36 @@
EXTRA_DIST = README.Debian README.Maintainer \
changelog compat control copyright \
rules source/format tests/control \
tests/daemons watch watchquagga.rc \
backports/README backports/rules \
backports/ubuntu12.04/debian/control \
backports/ubuntu12.04/debian/quagga.install \
backports/ubuntu12.04/debian/quagga.postinst \
backports/ubuntu12.04/debian/rules \
backports/ubuntu12.04/debian/source/format \
backports/ubuntu12.04/exclude \
backports/ubuntu12.04/versionext \
backports/ubuntu14.04/debian/control \
backports/ubuntu14.04/debian/quagga.install \
backports/ubuntu14.04/debian/rules \
backports/ubuntu14.04/debian/source/format \
backports/ubuntu14.04/exclude \
backports/ubuntu14.04/versionext \
backports/ubuntu16.04/debian/source/format \
backports/ubuntu16.04/exclude \
backports/ubuntu16.04/versionext \
patches/50_vtysh__vtysh.conf.sample.diff \
patches/75_vtysh__vtysh.c__PAGER.diff \
patches/80_vtysh__vtysh.c__privs.diff \
patches/82_vtysh__vtysh_user.c__pam.diff \
patches/90_configure_ncurses.diff patches/series \
po/POTFILES.in po/cs.po po/da.po po/de.po po/es.po po/fr.po \
po/it.po po/ja.po po/nl.po po/pt.po po/pt_BR.po po/ru.po \
po/sv.po po/templates.pot \
quagga-doc.docs quagga-doc.info quagga-doc.install \
quagga-doc.lintian-overrides quagga.conf quagga.config \
quagga.dirs quagga.docs quagga.install \
quagga.lintian-overrides quagga.logrotate \
quagga.manpages quagga.pam quagga.postinst quagga.postrm \
quagga.preinst quagga.prerm

View File

@ -12,7 +12,7 @@ $(if $(filter-out $(wildcard $(required_files)),$(required_files)), \
see debian/backports/README) \
)
TARBALLDIR ?= $(shell dh_testdir debian/changelog && realpath ../)
TARBALLDIR ?= $(shell dh_testdir debian/changelog && realpath .)
define backports-targets
# if this file is empty, no automatic changelog entry is created
@ -71,12 +71,14 @@ $(1): $(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc ;
# bypassing the usual checks (which wouldn't like our combination-of-
# directories approach)
$(TARBALLDIR)/$(SRCPKG)_$$(DEBIAN_VERSION_$(1)).dsc:
# -b directory unused (but required) for '3.0 (custom)' source format
# -b directory does nothing but determine will the .dsc will end up
# for the custom source format. Put it in the current directory by
# specifying one of its subdirs.
dpkg-source -l$$(BACKPORTDIR_$(1))/debian/changelog \
-c$$(CONTROL_$(1)) \
--format='3.0 (custom)' \
--target-format='$$(SOURCEFORMAT_$(1))' \
-b . $$^
-b debian $$^
ifeq ($$(SOURCEFORMAT_$(1)),3.0 (quilt))
# this target depends on the orig.tar.gz file, for which there is no target in

18
debian/rules vendored
View File

@ -111,12 +111,22 @@ DEBIAN_VERSION := $(shell dh_testdir && \
-include debian/backports/rules
ifneq ($(TARBALLDIR),)
ifeq ($(wildcard quagga-$(ORIG_VERSION).tar.gz),quagga-$(ORIG_VERSION).tar.gz)
$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz: \
quagga-$(ORIG_VERSION).tar.gz
gunzip -c < $< | tar --delete quagga-$(ORIG_VERSION)/debian/ \
| gzip -c > $@
else # wildcard quagga-$(ORIG_VERSION).tar.gz
# better error message on missing .orig.tar.gz
$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz:
@ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz'" not \
@ echo "\`$(TARBALLDIR)/$(SRCPKG)-$(ORIG_VERSION).tar.gz'" not \
found and not generated by debian/rules. Provided you have the \
necessary packages installed, you can generate it yourself via \
"\"./bootstrap.sh && ./configure && make dist\"" \
and renaming the resulting file.
"\"./bootstrap.sh && ./configure && make dist\"".
exit 1
endif # def TARBALLDIR
endif # wildcard quagga-$(ORIG_VERSION).tar.gz
endif # TARBALLDIR nonempty

5
debian/rules.orig vendored
View File

@ -102,13 +102,14 @@ KNOWN_BACKPORTS = ubuntu12.04 ubuntu14.04 ubuntu16.04
ORIG_VERSION := $(shell dh_testdir && grep -E < configure.ac '^AC_INIT\(.*\)' \
| cut -d, -f2 | xargs echo)
DEBIAN_VERSION := $(shell dh_testdir && \
dpkg-parsechangelog -c1 -Sversion < debian/changelog)
dpkg-parsechangelog -c1 < debian/changelog | \
sed -rn 's/^Version: ?//p')
-include debian/backports/rules
ifneq ($(TARBALLDIR),)
# better error message on missing .orig.tar.gz
$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz:
@ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz'" not
@ echo "\`$(TARBALLDIR)/$(SRCPKG)_$(ORIG_VERSION).orig.tar.gz'" not \
found and not generated by debian/rules. Provided you have the \
necessary packages installed, you can generate it yourself via \
"\"./bootstrap.sh && ./configure && make dist\"" \