xfce4-session: ensure ip for machine is found by adding to hosts

This fixes very ugly behaviour: Starting applications e.g xfce4-terminal
can delay for minutes in case network is connected.

There was a similar approach implemented for xfce4-session but this was removed
in

commit f54d3a506f
Author: Ash Charles <ashcharles@gmail.com>
Date:   Mon Feb 23 08:40:53 2015 -0800

    xfce4-session: Remove unneeded pkg_postinst

    The pkg_postinst inherited from previous versions of this recipe no
    longer seems necessary; no error message seen at runtime in a quick
    test.  As it made the generated packages unnecessarily
    machine-specific, remove this post-install step. Based on the ensuring
    discussion, this supersedes the original patch [1].

    [1] http://lists.openembedded.org/pipermail/openembedded-devel/2015-February/100454.html

    Signed-off-by: Ash Charles <ashcharles@gmail.com>
    Tested-by: Andreas Müller <schnitzeltony@googlemail.com>
    Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

Unfortuantely my tests for that patch only checked for the messagebox:

| Could not look up internet address for <hostname>
| This will prevent Xfce from operating correctly.
| It may be possible to correct the problem by adding
| <hostname> to the file /etc/hosts on your system.

For unknown reasons this messagebox is not created but the hint is still
extremely valid.

To avoid making 'xfce4-session' machine specific an extra meta-recipe
'machine-host' was created on which 'xfce4-session' rdepends.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
This commit is contained in:
Andreas Müller 2015-06-22 15:53:07 +02:00 committed by Martin Jansa
parent d4e5b33047
commit 21e17ff5f9
2 changed files with 19 additions and 0 deletions

View File

@ -0,0 +1,17 @@
SUMMARY = "Meta package adding machine name to known hosts"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690"
ALLOW_EMPTY_${PN} = "1"
LOCALHOSTMACHINE = "127.0.0.1 ${MACHINE}"
# on some machines starting applications as xfce4-terminal take ages without
# machine name in hosts
pkg_postinst_${PN} () {
if ! grep -q '${LOCALHOSTMACHINE}' $D/etc/hosts ; then
echo '${LOCALHOSTMACHINE}' >> $D/etc/hosts
fi
}
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -26,3 +26,5 @@ FILES_${PN} += " \
"
FILES_${PN}-dbg += "${libdir}/xfce4/*/*/.debug"
RDEPENDS_${PN} += "machine-host"