Greetings and salutations,

On 30.06.2016 16:18, Albert ARIBAUD wrote:
Bonjour,

Le Thu, 30 Jun 2016 21:18:02 +0200
Pali Rohár <[email protected]> a écrit:

On Thursday 30 June 2016 16:58:56 Craig Andrews wrote:
> I'd like to propose a couple changes in terms of systemd in dnsmaq.
> First, dnsmasq should always install a systemd unit so all
> distributions/users can use it

I'm against such change. Why on the Earth install useless files into
system which do nothing? I really do not want to see that programs
starts installing systemd files just because it is "no harm".

If such thing happen, dnsmasq then should install also config file
for upstart, also for openrc, and also install shortcut for Windows
start menu for *all* systems as that is too by that definition "no
harm".

I tend to agree with the principle that a systemd unit file should
only be installed on systems which use systemd. I was surprised indeed
to see that the dnsmasq git repo contains such a file.

Furthermore, the OP itself indicates that different systemd-based
distributions will require different systemd units for dnsmasq, which
shows that systemd (or upstart, or sysvinit...) files should be managed
at the distribution, not upstream application, level.

Amicalement,

I have no argument against only installing the systemd unit if a configure flag is specified. Many pieces of software do it that way - I think the important thing is that it's available from dnsmasq. So I rescind my thought to install it unconditionally.

Regarding distributing config files for upstart, openrc, and everything else - I think there are 2 ways to look at that: 1) systemd is used by many Linux distributions, and that number is increasing. So by distributing it, the most users benefit, as compared to the low, and decreasing, number of users of openrc and upstart. 2) If dnsmasq wants to distribute init configs for other init systems, that seems fine. That would just mean that if, for example, dnsmasq distributes an upstart configuration file, then all distributions/users of upstart can collaborate in one place instead of all being siloed.

The goal of including the systemd unit is for there to be one place (dnsmasq aka upstream) for fixes, improvements, and development to take place. For example, if someone notices that dnsmasq can be hardened, that change currently has to be made in every distribution separately. That lack of collaboration is really inefficient - tons of effort is being wasted. It also introduces confusion and maintainability problems; with every distribution being inconsistent, that's just one more variable dnsmasq has to deal with when a bug report or feature request is made.

I'm not currently using Debian, so I can't comment too much on its systemd unit. Ideally, I'd love to see the same unit used for all distributions. But if that's not possible, just like how distributions can patch source code if they have to, distributions can patch upstream's systemd units. Such patching is not a reason to stop distribution of something (be it source code, configuration, or anything else).

Thanks,
~Craig

_______________________________________________
Dnsmasq-discuss mailing list
[email protected]
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss

Reply via email to