Commit Graph

127 Commits

Author SHA1 Message Date
David Lamparter
ff52c7d8a5 debianpkg: restrict to linux-any
We don't support GNU/Hurd, and we haven't tested Debian kFreeBSD.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:53 +01:00
David Lamparter
dda2f3eb42 debianpkg: enable FPM (w/o protobuf)
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:53 +01:00
David Lamparter
600db12aa1 debianpkg: enable rtrlib by default
librtr is in Debian unstable now, so this should default on.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:53 +01:00
David Lamparter
452a48cfab debianpkg: cut down unneeded bits
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
26f0a29704 debianpkg: install libraries to /usr/lib64/frr
This makes them "private libraries" (which they are, since we don't
maintain a proper versioned ABI on libfrr.)  This also properly fixes
another few lintian warnings.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
61185d62c0 debianpkg: fix remaining lintian warnings
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
b5b78574f7 debianpkg: include docs and register with doc-base
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
699f6a66a9 debianpkg: rewrite description texts
...to actually document what is in each of the subpackages.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
2cd21d7a96 debianpkg: update copyright file
Extracted from git history with a bit of polish applied.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
f221c02a6e debianpkg: update debhelper dependency
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
125a03e216 debianpkg: add & document lintian overrides
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
5e2747fba3 debianpkg: make URLs https
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
25e02efe5f debianpkg: fix whitespace
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
35dfce353d debianpkg: drop superfluous control entries
Some header lines are duplicate and unneccessary, and the entire frr-dbg
package doesn't need an entry in control (it's autogenerated.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
a7ee784ca3 debianpkg: update maintainer
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
9a1c48e875 debianpkg: use set -e in maintscripts
Fixes maintainer-script-without-set-e Lintian warning.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
84df84a84e debianpkg: add -0 to version
We need a -something suffix since otherwise part of our version number
(e.g. -dev or -DATE) will get taken as Debian sub-version.  (Everything
after the last -)

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
9eb5f620a3 debianpkg: add watch file
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
2dacd93a4b debianpkg: change frr-pythontools dep to python3
The shebang can't be both at the same time;  since python2 is going to
be removed from Debian soon let's just stick with python3.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
2822c23a90 debianpkg: fix install for {frr,rfptest,ospfclient}
The frr init script is always installed to /usr/lib/frr/frr because
watchfrr setups expect to have it there.

The rfptest and ospfclient binaries are not installed since they are
testing/development tools that don't have an user function.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
31bbde19e1 debianpkg: install HTML docs, drop tools/
No reason not to enable HTML docs really.  Also why the f* were we
installing the entire tools/ directory into the doc package?

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
fabbd66dce debianpkg: put frr-doc package in 'doc' section
Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:52 +01:00
David Lamparter
8f196a8b3c debianpkg: always install /etc/init.d/frr
There is no point in making this conditional, systemd correctly prefers
the service file over the init script when it is present.  Also, people
can install an init system that doesn't match their distribution and
even change init systems on an installation.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
5d91b47056 debianpkg: disable zeromq and FPM
The ZeroMQ is just straight up useless for now, and the FPM module needs
to be properly encapsulated with protobuf deps.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
6e484e36c2 debianpkg: modernise dh_missing and use fail mode
Things that aren't installed should be in debianpkg/not-installed.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
0842713062 debianpkg: ditch development-only files
It is currently impossible to build external stuff that links against
installed FRR headers or libraries.  Such projects need to directly
reference an FRR source tree until we revamp the library installation
semantics.

In any case these files would then be in a frr-dev Debian package.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
a44340c5c6 debianpkg: raise debhelper compat level to 9
Compat level 7 has long been deprecated.  9 works fine for us, though it
does change the library installation directories to multi-arch.  (Which
is not a problem.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
5d2f5756cf debianpkg: update to Debian Policy version 4.2.1
This bundles up a few smaller changes prompted by walking through the
upgrade checklist from 3.9.6 to 4.2.1.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
02334d76e7 debianpkg: use redistclean target
Now we can run dpkg-buildpackage from a dirty directory and it properly
cleans up.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
8a10dc8662 debianpkg: make frr-pythontools a "Recommends:"
From the Debian policy:
  Recommends:
    This declares a strong, but not absolute, dependency.
    The Recommends field should list packages that would be found
    together with this one in all but unusual installations.

I'd say, yes, we do want the python-based reload functionality in all
but unusual installations.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
3b2a8d2546 debianpkg: create frr-snmp and frr-rpki-rtrlib
This splits off SNMP and RPKI support so that users can install these
packages (with the appropriate dependencies) independently of main FRR.
It also obsoletes out the weird multi-variant package distribution we've
been doing for RPKI support.

The snmpd dependency is also changed to Recommends: on frr-snmp since
the frr-snmp package is essentially useless without snmpd.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:51 +01:00
David Lamparter
679e826ac0 debianpkg: remove bogus shlib:Depends on frr-dbg
The debug package doesn't have shlib dependencies.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:50 +01:00
David Lamparter
e94eec84f3 debianpkg: use better dependency for pythontools
As described in https://wiki.debian.org/binNMU, arch-indep packages
should have an "almost identical" dependency so "+..." changes can be
made to arch-dep packages without breaking the arch-indep pkgs.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:50 +01:00
David Lamparter
6397fb8809 debianpkg: kill backports
The debianpkg/backports system is rather complicated and actually slows
down Debian package building quite a lot since the backports/rules file
is evaluated a zillion times during a normal build.

This just folds up everything into a single Debian package build that
works on all OSes.  The only real difference that the backports stuff
was used for is switching between systemd and init.d, the latter for
Ubuntu 12.04 and 14.04.

With this, that switch is controlled by the pkg.frr.nosystemd
Build-Profile instead.  Package builds for Ubuntu 14.04 need to supply
the -Ppkg.frr.nosystemd option to dpkg-buildpackage.  (12.04 isn't
supported anymore anyway.)

Note that the update-rc.d step that was previously coded into
postinst/postrm is now handled by the dh_installinit magic.

Other than this, there were some minor build dependency differences, all
of which are now just handled as | in the central deps.

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:50 +01:00
David Lamparter
008f758b8e debianpkg: wrap & sort dependency lines in control
Muuuuch more readable...

Signed-off-by: David Lamparter <equinox@diac24.net>
2019-02-19 21:30:50 +01:00
Rhonda D'Vine
a9433f2a4e debianpkg: use getent instead of egrepping files
User data might not be stored in the files in etc. getent is the
dedicated tool to extract those information, regardless of where the
user data is stored

Signed-off-by: Rhonda D'Vine <rhonda@proxmox.com>
2019-01-08 18:17:38 +01:00
David Lamparter
9c830772cd *: get rid of most daemons.conf references
There's a few left over to get compatibility and not break user
installs, but most is gone.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-12-06 23:05:48 +01:00
David Lamparter
ea4d91bfba debian/tools: new init script
This separates the init script used for the system (and called in the
systemd unit file) from the script that watchfrr uses to control
daemons.  Mixing these two caused the entire thing to become a rather
huge spaghetti mess.

Note that there is a behaviour change in that the new script always
starts zebra regardless of zebra_enable.

Side changes:
- Ubuntu 12.04 removed from backports since it doesn't work anyway
- zebra is always started regardless of zebra_enable.  To disable FRR,
  the entire init script should be disabled through policy.
- no-watchfrr operation is no longer supported by the scripts in the
  Debian packages.  (This is intentional.)

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-12-06 23:05:48 +01:00
Martin Winter
90fe75b275 debianpkg: fix lintian warn: No need to keep .la libs for packages
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-10-27 16:16:12 -02:00
Martin Winter
4e700123dd debianpkg: Add yang files to packages
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
2018-10-27 16:16:12 -02:00
Christian Franke
bf8e16b5de debianpkg, tools: Add fabricd to distribution scripts
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
2018-10-24 15:50:56 +02:00
David Lamparter
64537bc4d0 build: rewrite readline/curses check
We don't need termcap/tinfo/curses, those are just for libreadline.  On
most modern systems, libreadline will pull in the appropriate libs it
needs on its own, so unconditionally adding them adds an extra unneeded
dependency for us.

Still need to try with curses/... for some systems, but only after bare
readline fails.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-10-19 13:14:10 +02:00
David Lamparter
4108d88478 debianpkg: remove bad USE_* options, add WERROR
This strips the USE_PIM, USE_BFD and USE_LDP options, all of which are
just straight up counterproductive knobs.

Instead, --enable-werror really needs to default to off, so add an
option for that.

Lastly, use --disable-dependency-tracking to speed up the build.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-10-19 13:13:42 +02:00
David Lamparter
563fbfb307 debianpkg: clean up dependencies
- accept either python2 or python3 packages for everything
- drop texlive-latex-base, texlive-generic-recommended (only needed for
  PDF docs)
- python-ipaddr is not a build time requirement, only runtime

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-10-19 13:13:42 +02:00
David Lamparter
25a886e1b4 debianpkg: strip ancient/unused cruft
The SNMP MIB directory is unneeded, --enable-poll has been long gone,
the "build" target is straight up wrong (causing FRR to be built in the
install step) and we haven't needed /proc for configure in ages either.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-10-19 13:13:42 +02:00
jpmondet
1c64265f86
frr-reload.py: Add python2 & python3 compatibility.
Signed-off-by: jpmondet <jp@mondet.org>
2018-09-26 21:45:33 +02:00
Quentin Young
f20aafeec0 frr: improve README
Friendly READMEs are all the rage!

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-10 15:30:22 +00:00
Quentin Young
d88f11441a frr: remove stale files, allow non-GNU Automake
* Add 'foreign' option to allow Automake to ignore missing GNU standard
  files
* Remove AUTHORS
* Remove NEWS
* Remove ChangeLog

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
2018-09-10 15:30:22 +00:00
David Lamparter
0d0812a4ad build: non-recursive debianpkg
Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-30 08:06:44 +02:00
David Lamparter
086f18fad2 build: drop unused SMUX client OID MIBs
These MIB OIDs were only used to identify clients on the SMUX protocol.
And even for that, they were essentially pointless.

Signed-off-by: David Lamparter <equinox@diac24.net>
2018-08-25 02:21:10 +02:00