Patchwork [v5] resolvconf: remove /var/volatile/run/resolvconf/interface from package

login
register
mail settings
Submitter Jonathan Liu
Date May 26, 2013, 7:40 a.m.
Message ID <1369554058-11484-1-git-send-email-net147@gmail.com>
Download mbox | patch
Permalink /patch/50531/
State Accepted
Commit 619d78016be8d47691e3b2d218a6b855364541a3
Headers show

Comments

Jonathan Liu - May 26, 2013, 7:34 a.m.
On 26/05/2013 5:40 PM, Jonathan Liu wrote:
> - Remove /etc/resolvconf/run/interface from package as it actually uses
> /etc/resolvconf/run/interface
> - Create /var/run/resolvconf/interface on startup using
> populate-volatiles.sh and tmpfiles.d for systemd
> - Create symbolic link from /etc/resolvconf/run to /var/run/resolvconf
>
> Signed-off-by: Jonathan Liu <net147@gmail.com>
> ---
>   .../resolvconf/resolvconf_1.72.bb                  | 22 +++++++++++++++++++++-
>   1 file changed, 21 insertions(+), 1 deletion(-)
I tested this with sysvinit and systemd using opkg feed to install under 
core-image-base/qemux86.
/var/run/resolvconf/interface is created after install and also after 
reboot.
Running "resolvconf -a eth0" doesn't return error when checking if 
/etc/resolvconf/run/interface exists.

Regards,
Jonathan
Jonathan Liu - May 26, 2013, 7:40 a.m.
- Remove /etc/resolvconf/run/interface from package as it actually uses
/etc/resolvconf/run/interface
- Create /var/run/resolvconf/interface on startup using
populate-volatiles.sh and tmpfiles.d for systemd
- Create symbolic link from /etc/resolvconf/run to /var/run/resolvconf

Signed-off-by: Jonathan Liu <net147@gmail.com>
---
 .../resolvconf/resolvconf_1.72.bb                  | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

Patch

diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.72.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.72.bb
index a96dbff..4fe70f5 100644
--- a/meta/recipes-connectivity/resolvconf/resolvconf_1.72.bb
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.72.bb
@@ -23,7 +23,17 @@  do_compile () {
 }
 
 do_install () {
-	install -d ${D}${sysconfdir} ${D}${base_sbindir} ${D}${localstatedir}/volatile/run/resolvconf/interface
+	install -d ${D}${sysconfdir}/default/volatiles
+	echo "d root root 0755 ${localstatedir}/run/${BPN}/interface none" \
+	     > ${D}${sysconfdir}/default/volatiles/99_resolvconf
+	if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+		install -d ${D}${sysconfdir}/tmpfiles.d
+		echo "d /run/${BPN}/interface - - - -" \
+		     > ${D}${sysconfdir}/tmpfiles.d/resolvconf.conf
+	fi
+	install -d ${D}${sysconfdir}/${BPN}
+	ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
+	install -d ${D}${sysconfdir} ${D}${base_sbindir}
 	install -d ${D}${mandir}/man8 ${D}${docdir}/${P}
 	cp -pPR etc/* ${D}${sysconfdir}/
 	chown -R root:root ${D}${sysconfdir}/
@@ -31,3 +41,13 @@  do_install () {
 	install -m 0644 README ${D}${docdir}/${P}/
 	install -m 0644 man/resolvconf.8 ${D}${mandir}/man8/
 }
+
+pkg_postinst_${PN} () {
+	if [ -z "$D" ]; then
+		if command -v systemd-tmpfiles >/dev/null; then
+			systemd-tmpfiles --create
+		elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
+			${sysconfdir}/init.d/populate-volatile.sh update
+		fi
+	fi
+}