From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] package/quagga: Fix directories and permissions
Date: Wed, 11 May 2016 23:33:09 +0200 [thread overview]
Message-ID: <20160511233309.1ea81a24@free-electrons.com> (raw)
In-Reply-To: <1462953673-1190-1-git-send-email-nroach44@gmail.com>
Hello,
I'm adding in Cc: Baruch, since he has done most of the recent updates
to the Quagga package. Baruch, could you review/test this patch,
according to your knowledge of Quagga?
I'm also adding some comments below.
> Quagga runs as the "quagga" user, but it also needs to modify files
> in /etc and /var - config files, pid files and vty sockets for vtysh.
Does it really need to write in /etc ? If that's the case, then it
seems a bit wrong, and we have a bigger problem. What happens if /etc
is read-only ?
On Wed, 11 May 2016 16:01:13 +0800, Nathaniel Roach wrote:
> diff --git a/package/quagga/quagga.mk b/package/quagga/quagga.mk
> index 6b98367..3592aee 100644
> --- a/package/quagga/quagga.mk
> +++ b/package/quagga/quagga.mk
> @@ -10,7 +10,11 @@ QUAGGA_SITE = http://download.savannah.gnu.org/releases/quagga
> QUAGGA_DEPENDENCIES = host-gawk
> QUAGGA_LICENSE = GPLv2+
> QUAGGA_LICENSE_FILES = COPYING
> -QUAGGA_CONF_OPTS = --program-transform-name=''
> +QUAGGA_CONF_OPTS = \
> + --program-transform-name='' \
> + --sysconfdir=/etc/quagga \
> + --localstatedir=/var/run/quagga
Indentation should be one tab for those lines. But why isn't
sysconfdir=/etc appropriate? Is it because quagga writes to some files
in /etc? If that's the case, as said above, I'm believe it's bad.
> +define QUAGGA_PERMISSIONS
> + /etc/quagga r 600 quagga quagga - - - - -
> + /etc/quagga d 755 quagga quagga - - - - -
Hum, does this actually work?
> + /var/run/quagga d 755 quagga quagga - - - - -
> +endef
> +
> ifeq ($(BR2_PACKAGE_QUAGGA_SNMP),y)
> QUAGGA_CONF_ENV += ac_cv_path_NETSNMP_CONFIG=$(STAGING_DIR)/usr/bin/net-snmp-config
> QUAGGA_CONF_OPTS += --enable-snmp=agentx
> @@ -50,4 +64,10 @@ ifeq ($(BR2_arc),y)
> QUAGGA_CONF_OPTS += --disable-pie
> endif
>
> +define QUAGGA_INSTALL_INIT_SYSTEMD
> + mkdir -p $(TARGET_DIR)/usr/lib/tmpfiles.d
This mkdir -p is useless, as $(INSTALL) -D creates all sub-directories
needed to be able to copy to the destination path.
> + $(INSTALL) -D -m 644 package/quagga/quagga_tmpfiles.conf \
> + $(TARGET_DIR)/usr/lib/tmpfiles.d/quagga.conf
> +endef
> +
> $(eval $(autotools-package))
> diff --git a/package/quagga/quagga_tmpfiles.conf b/package/quagga/quagga_tmpfiles.conf
> new file mode 100644
> index 0000000..ad82cc6
> --- /dev/null
> +++ b/package/quagga/quagga_tmpfiles.conf
> @@ -0,0 +1,2 @@
> +d /var/run/quagga/ 1755 quagga quagga -
> +
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2016-05-11 21:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-11 8:01 [Buildroot] [PATCH 1/1] package/quagga: Fix directories and permissions Nathaniel Roach
2016-05-11 21:33 ` Thomas Petazzoni [this message]
2016-05-12 2:20 ` Nathaniel Roach
2016-05-12 6:58 ` Thomas Petazzoni
2016-05-12 7:01 ` Nathaniel Roach
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160511233309.1ea81a24@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox