debianpkg: cut down unneeded bits

Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
David Lamparter 2018-10-29 18:56:30 +01:00
parent 26f0a29704
commit 452a48cfab
2 changed files with 34 additions and 141 deletions

View File

@ -12,7 +12,6 @@ Build-Depends:
dh-autoreconf, dh-autoreconf,
flex, flex,
gawk, gawk,
git,
install-info, install-info,
libc-ares-dev, libc-ares-dev,
libcap-dev, libcap-dev,
@ -20,15 +19,15 @@ Build-Depends:
libjson0-dev | libjson-c-dev, libjson0-dev | libjson-c-dev,
libpam0g-dev | libpam-dev, libpam0g-dev | libpam-dev,
libpcre3-dev, libpcre3-dev,
libpython-dev | libpython3-dev, libpython3-dev,
libreadline-dev, libreadline-dev,
librtr-dev <pkg.frr.rtrlib>, librtr-dev <pkg.frr.rtrlib>,
libsnmp-dev <pkg.frr.snmp>, libsnmp-dev,
libssh-dev <pkg.frr.rtrlib>, libssh-dev <pkg.frr.rtrlib>,
libsystemd-dev <!pkg.frr.nosystemd>, libsystemd-dev <!pkg.frr.nosystemd>,
pkg-config, pkg-config,
python (>= 2.7) | python3, python3,
python-sphinx | python3-sphinx, python3-sphinx,
texinfo (>= 4.7) texinfo (>= 4.7)
Standards-Version: 4.2.1 Standards-Version: 4.2.1
Homepage: https://www.frrouting.org/ Homepage: https://www.frrouting.org/
@ -73,7 +72,6 @@ Description: FRRouting suite - SNMP support
Adds SNMP support to FRR's daemons by attaching to net-snmp's snmpd Adds SNMP support to FRR's daemons by attaching to net-snmp's snmpd
through the AgentX protocol. Provides read-only access to current through the AgentX protocol. Provides read-only access to current
routing state through standard SNMP MIBs. routing state through standard SNMP MIBs.
Build-Profiles: <pkg.frr.snmp>
Package: frr-rpki-rtrlib Package: frr-rpki-rtrlib
Architecture: any Architecture: any
@ -89,20 +87,6 @@ Description: FRRouting suite - BGP RPKI support (rtrlib)
number. number.
Build-Profiles: <pkg.frr.rtrlib> Build-Profiles: <pkg.frr.rtrlib>
Package: frr-dbg
Architecture: any
Depends:
${misc:Depends},
frr (= ${binary:Version})
Section: debug
Description: FRRouting suite - debug symbols
This package provides debugging symbols for all binary packages built
from frr source package. FRR itself uses these symbols when printing
backtraces for crashes or other issues.
.
It is highly recommended to have this package installed before reporting
any FRR crashes to either FRR developers or Debian package maintainers.
Package: frr-doc Package: frr-doc
Section: doc Section: doc
Architecture: all Architecture: all

View File

@ -1,132 +1,41 @@
#!/usr/bin/make -f #!/usr/bin/make -f
# FRRouting Configuration options # standard Debian options & profiles
######################################
#
# WANT_xxxx --> Set to 1 for enable, 0 for disable
# The following are the defaults. They can be overridden by setting a
# env variable to a different value
# -Werror - don't enable this unless you're doing a dev package build
WANT_WERROR ?= 0
WANT_OSPFAPI ?= 1
WANT_BGP_VNC ?= 1
WANT_CUMULUS_MODE ?= 0
WANT_MULTIPATH ?= 1
# NOTES:
# If multipath is enabled (WANT_MULTIPATH=1), then set number of multipaths here
# Please be aware that 0 is NOT disabled, but treated as unlimited
MULTIPATH ?= 256
# Set the following to the value required (or leave alone for the default below)
# WANT_FRR_USER is used for the username and groupname of the FRR user account
WANT_FRR_USER ?= frr
WANT_FRR_VTY_GROUP ?= frrvty
# Don't build PDF docs by default
# add build deps: texlive-latex-base, texlive-generic-recommended
GENERATE_PDF ?= 0
#
####################################
export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_BUILD_MAINT_OPTIONS = hardening=+all
ifeq ($(WANT_OSPFAPI), 1)
USE_OSPFAPI=--enable-ospfapi=yes
else
USE_OSPFAPI=--enable-ospfapi=no
endif
ifeq ($(WANT_BGP_VNC), 1)
USE_BGP_VNC=--enable-bgp-vnc=yes
else
USE_BGP_VNC=--enable-bgp-vnc=no
endif
USE_FRR_USER=--enable-user=$(WANT_FRR_USER)
USE_FRR_GROUP=--enable-group=$(WANT_FRR_USER)
USE_FRR_VTY_GROUP=--enable-vty-group=$(WANT_FRR_VTY_GROUP)
ifeq ($(WANT_MULTIPATH), 1)
USE_MULTIPATH=--enable-multipath=$(MULTIPATH)
else
USE_MULTIPATH=--disable-multipath
endif
ifeq ($(WANT_CUMULUS_MODE), 1)
USE_CUMULUS=--enable-cumulus=yes
else
USE_CUMULUS=--enable-cumulus=no
endif
ifeq ($(WANT_WERROR), 1)
USE_WERROR=--enable-werror
else
USE_WERROR=--disable-werror
endif
#
# generic debian options
#
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
DEBIAN_JOBS := $(subst parallel=,,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
endif
ifdef DEBIAN_JOBS
MAKEFLAGS += -j$(DEBIAN_JOBS)
endif
ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS))) ifneq (,$(filter terse,$(DEB_BUILD_OPTIONS)))
MAKE_SILENT="V=0" MAKE_SILENT="V=0"
export DH_VERBOSE=0 export DH_VERBOSE=0
else else
MAKE_SILENT="V=1" MAKE_SILENT="V=1"
export DH_VERBOSE=1 export DH_VERBOSE=1
export DH_OPTIONS=-v export DH_OPTIONS=-v
endif endif
# # package-specific build profiles
# build profiles
#
ifeq ($(filter nodoc,$(DEB_BUILD_PROFILES)),)
USE_DOC=--enable-doc --enable-doc-html
else
USE_DOC=--disable-doc
endif
ifeq ($(filter pkg.frr.rtrlib,$(DEB_BUILD_PROFILES)),) ifeq ($(filter pkg.frr.rtrlib,$(DEB_BUILD_PROFILES)),)
USE_RPKI=--disable-rpki CONF_RPKI=--disable-rpki
else else
USE_RPKI=--enable-rpki CONF_RPKI=--enable-rpki
endif
ifeq ($(filter pkg.frr.snmp,$(DEB_BUILD_PROFILES)),)
USE_SNMP=--disable-snmp
else
USE_SNMP=--enable-snmp
endif endif
ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),) ifeq ($(filter pkg.frr.nosystemd,$(DEB_BUILD_PROFILES)),)
DH_WITH_SYSTEMD=systemd, DH_WITH_SYSTEMD=systemd,
USE_SYSTEMD=--enable-systemd=yes CONF_SYSTEMD=--enable-systemd=yes
else else
DH_WITH_SYSTEMD= DH_WITH_SYSTEMD=
USE_SYSTEMD=--enable-systemd=no CONF_SYSTEMD=--enable-systemd=no
endif endif
export PYTHON=python3 export PYTHON=python3
%: %:
dh $@ --with=$(DH_WITH_SYSTEMD)autoreconf --parallel --dbg-package=frr-dbg dh $@ --with=$(DH_WITH_SYSTEMD)autoreconf --parallel
override_dh_auto_configure: override_dh_auto_configure:
if ! [ -e config.status ]; then \ $(shell dpkg-buildflags --export=sh); \
dh_auto_configure -- \ dh_auto_configure -- \
--enable-exampledir=/usr/share/doc/frr/examples/ \ --enable-exampledir=/usr/share/doc/frr/examples/ \
--localstatedir=/var/run/frr \ --localstatedir=/var/run/frr \
@ -136,25 +45,26 @@ override_dh_auto_configure:
--libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr \
--with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \ --with-moduledir=/usr/lib/$(DEB_HOST_MULTIARCH)/frr/modules \
LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \ LIBTOOLFLAGS="-rpath /usr/lib/$(DEB_HOST_MULTIARCH)/frr" \
$(USE_DOC) \ --disable-dependency-tracking \
$(USE_SNMP) \ \
$(USE_OSPFAPI) \ $(CONF_SYSTEMD) \
$(USE_MULTIPATH) \ $(CONF_RPKI) \
--with-libpam \
--enable-doc \
--enable-doc-html \
--enable-snmp \
--disable-fpm \ --disable-fpm \
--disable-zeromq \ --disable-zeromq \
$(USE_FRR_USER) $(USE_FRR_GROUP) \ --enable-ospfapi \
$(USE_FRR_VTY_GROUP) \ --enable-bgp-vnc \
--enable-multipath=256 \
\
--enable-user=frr \
--enable-group=frr \
--enable-vty-group=frrvty \
--enable-configfile-mask=0640 \ --enable-configfile-mask=0640 \
--enable-logfile-mask=0640 \ --enable-logfile-mask=0640 \
$(USE_WERROR) \ # end
--with-libpam \
$(USE_SYSTEMD) \
$(USE_CUMULUS) \
--disable-dependency-tracking \
$(USE_BGP_VNC) \
$(USE_RPKI) \
$(shell dpkg-buildflags --export=configure); \
fi
override_dh_auto_install: override_dh_auto_install:
dh_auto_install dh_auto_install
@ -169,7 +79,7 @@ endif
# install config files # install config files
mkdir -p debian/tmp/etc/frr/ mkdir -p debian/tmp/etc/frr/
perl -pi -e 's#^!log file #!log file /var/log/frr/#' debian/tmp/usr/share/doc/frr/examples/*sample* sed -e 's#^!log file #!log file /var/log/frr/#' -i debian/tmp/usr/share/doc/frr/examples/*sample*
# drop dev-only files # drop dev-only files
find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f find debian/tmp -name '*.la' -o -name '*.a' -o -name 'lib*.so' | xargs rm -f
@ -185,7 +95,6 @@ override_dh_auto_build:
dh_auto_build -- $(MAKE_SILENT) dh_auto_build -- $(MAKE_SILENT)
override_dh_makeshlibs: override_dh_makeshlibs:
# we don't need or want ldconfig for private libs
dh_makeshlibs -n dh_makeshlibs -n
override_dh_missing: override_dh_missing: