[dev] Package discussion & Init scripts

Martin Winter mwinter at opensourcerouting.org
Sat May 6 21:38:57 EDT 2017


So to start this discussion on the packaging, I would like to base
this discussion on 2 decisions which need to be done first:

--

1) Do we want to use 'vtysh integrated-config' for FRR 2.0 packages ?

I believe we all agree that this is the way to go in the future. I'm 
certain
we had this discussion before (but can't find pointers in my email). My
understanding is that we decided to use per-daemon config for 2.0, but
plan to move to integrated configs soon after.

The main discussion point was the migration path from classic Quagga
(with separate configs) and the lack of the capability for each
daemon to read directly from the integrated config (which requires
the extra step of vtysh to re-load configs if a daemon restart).

There is also the issue for users not running zebra (or does integrated
config work for a deployment with only BGP?)

I thought we agreed to somehow address these issues before we push users
to the integrated config.

Anyone remembers this discussion? (Or remembers it different?)

--

2) Do we want the packages on each platform as close to each other
as possible or do we want it to follow the conventions of each distro
as close as possible?

I assume (on the short term), we end up at least with packages for
- Debian (Ubuntu 14.04, 16.04, Debian 8)
- Redhat (RedHat 6, 7, CentOS 6, 7, Fedora)
- FreeBSD
- Snap packages

I thought about the packages as reference packages for package 
maintainers
to build on (and the merging changes from the back in as far as 
possible)

Each platform has differences in capabilities and guidelines for
building them:
- Conventions where configs and binaries should be installed
- Startup system (init.d, systemd and others)
- Configuration location (ie /etc/sysconfig for redhat, /etc/debian for 
debian etc)

Each system also provides functions and examples for startup scripts.

After this is decided, then I think we can talk about the issues on 
exceptions

Technical challenges like:
- everything runs under root with apparmor (ie Snap's)
- Some required packages are not available from standard repo (ie Python 
2.7
or ipaddr python module for Redhat 6)

--

My preferred short term solution:

I would still prefer to get the redhat changes in as they are now for 
the stable/2.0
branch (and the debian changes as soon as possible as well). We could 
reopen this
discussion later once we actually have working packages for at least 
these
2 platforms

--

I really like to get more opinions here - beside mine and Donald's. 
Specially
if you have experience with packages or you know someone you could ask.

- Martin

Here is a link to some basic description of an init file for RedHat 
based systems:
http://www.sensi.org/~alec/unix/redhat/sysvinit.html (Original is 
provided on
a redhat system in /usr/share/doc/initscripts-*/sysvinitfiles)



More information about the dev mailing list