Patchwork [V2] avahi: unset FILES_avahi to avoid packaging files there

login
register
mail settings
Submitter Ross Burton
Date Aug. 15, 2014, 4:55 p.m.
Message ID <1408121722-20308-1-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/78357/
State Accepted
Commit 093149d22461a3a76980635bc46cdba1c7c0b181
Headers show

Comments

Ross Burton - Aug. 15, 2014, 4:55 p.m.
The main avahi recipe doesn't package anything into ${PN}.  If a library is
enabled but not put into a separate package it ends up in ${PN} and all the
packages are renamed using it's soname - ie libdns-sd-daemon.

Avoid this by clearing FILES_avahi so extra files are unpackaged instead of
creating a new package.  Also actually remove /var as the comments claim so the
avahi package is truly empty.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-connectivity/avahi/avahi.inc |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
Robert Yang - Aug. 16, 2014, 1:59 a.m.
On 08/16/2014 12:55 AM, Ross Burton wrote:
> The main avahi recipe doesn't package anything into ${PN}.  If a library is
> enabled but not put into a separate package it ends up in ${PN} and all the
> packages are renamed using it's soname - ie libdns-sd-daemon.
>
> Avoid this by clearing FILES_avahi so extra files are unpackaged instead of
> creating a new package.  Also actually remove /var as the comments claim so the
> avahi package is truly empty.
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
>   meta/recipes-connectivity/avahi/avahi.inc |    6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
> index 3318f40..b97c4c5 100644
> --- a/meta/recipes-connectivity/avahi/avahi.inc
> +++ b/meta/recipes-connectivity/avahi/avahi.inc
> @@ -73,6 +73,9 @@ do_configure_prepend() {
>
>   PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-ui avahi-autoipd avahi-utils"
>
> +# As avahi doesn't put any files into PN, clear the files list to avoid problems
> +# if extra libraries appear.
> +FILES_avahi = ""
>   FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \
>                          ${sysconfdir}/avahi/avahi-autoipd.action \
>                          ${sysconfdir}/dhcp/*/avahi-autoipd \
> @@ -122,7 +125,8 @@ do_install() {
>   	# don't install /var/run when populating rootfs. Do it through volatile
>   	# /var/run of current version is empty, so just remove it.
>   	# if /var/run become non-empty in the future, need to install it via volatile
> -	rm -rf ${D}/var/run
> +	rm -rf ${D}${localstatedir}/run
> +	rmdir --ignore-fail-on-non-empty ${D}${localstatedir}

Got a do_install error because of this:

rmdir: failed to remove `/path/to/avahi-ui/0.6.31-r11.0/image/var': No such file 
or directory

This is because there is a "rmdir ${D}${localstatedir}" in do_install_append(),
once the first one removes it successfully, the later one would cause errors.

// Robert

>   	rm -rf ${D}${datadir}/dbus-1/interfaces
>   	rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
>   	rm -rf ${D}${libdir}/avahi
>

Patch

diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
index 3318f40..b97c4c5 100644
--- a/meta/recipes-connectivity/avahi/avahi.inc
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -73,6 +73,9 @@  do_configure_prepend() {
 
 PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-ui avahi-autoipd avahi-utils"
 
+# As avahi doesn't put any files into PN, clear the files list to avoid problems
+# if extra libraries appear.
+FILES_avahi = ""
 FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \
                        ${sysconfdir}/avahi/avahi-autoipd.action \
                        ${sysconfdir}/dhcp/*/avahi-autoipd \
@@ -122,7 +125,8 @@  do_install() {
 	# don't install /var/run when populating rootfs. Do it through volatile
 	# /var/run of current version is empty, so just remove it.
 	# if /var/run become non-empty in the future, need to install it via volatile
-	rm -rf ${D}/var/run
+	rm -rf ${D}${localstatedir}/run
+	rmdir --ignore-fail-on-non-empty ${D}${localstatedir}
 	rm -rf ${D}${datadir}/dbus-1/interfaces
 	rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
 	rm -rf ${D}${libdir}/avahi