Patchwork [meta-oe,2/2] debianutils: Use update-alternatives class

login
register
mail settings
Submitter Drew Moseley
Date June 25, 2014, 1:51 p.m.
Message ID <1403704298-9726-2-git-send-email-drew_moseley@mentor.com>
Download mbox | patch
Permalink /patch/74371/
State Accepted, archived
Headers show

Comments

Drew Moseley - June 25, 2014, 1:51 p.m.
Use the update-alternatives class rather than explicit
pkg_prerm_${PN} and pkg_postinst_${PN} tasks.  This allows
the configuration to happen at build time rather than
on first boot.

Signed-off-by: Drew Moseley <drew_moseley@mentor.com>
---
 .../recipes-support/debianutils/debianutils_4.4.bb | 45 ++++++----------------
 1 file changed, 11 insertions(+), 34 deletions(-)

Patch

diff --git a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb b/meta-oe/recipes-support/debianutils/debianutils_4.4.bb
index c93c026..346eaf1 100644
--- a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb
+++ b/meta-oe/recipes-support/debianutils/debianutils_4.4.bb
@@ -7,52 +7,29 @@  SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.gz"
 SRC_URI[md5sum] = "c0cb076754d7f4eb1e3397d00916647f"
 SRC_URI[sha256sum] = "190850cdd6b5302e0a1ba1aaed1bc7074d67d3bd8d04c613f242f7145afa53a6"
 
-inherit autotools
+inherit autotools update-alternatives
 
 do_configure_prepend() {
     sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
 }
 
 do_install_append() {
-    for app in ${D}${sbindir}/* ${D}${bindir}/*; do
-        mv $app $app.${PN}
-    done
     if [ "${base_bindir}" != "${bindir}" ]; then
         # Debian places some utils into ${base_bindir} as does busybox
         install -d ${D}${base_bindir}
-        for app in run-parts.${PN} tempfile.${PN}; do
+        for app in run-parts tempfile; do
             mv ${D}${bindir}/$app ${D}${base_bindir}/$app
         done
     fi
 }
 
-pkg_prerm_${PN} () {
-if [ "x$D" != "x" ]; then
-    echo "can't do u-a offline" ; exit 1
-else
-    for app in add-shell  installkernel  remove-shell run-parts  savelog  tempfile  which ; do
-       update-alternatives --remove $app $app.${PN}
-    done
-fi
-}
-
-pkg_postinst_${PN} () {
-if [ "x$D" != "x" ]; then
-    echo "can't do u-a offline" ; exit 1
-else
-    for app in add-shell  installkernel  remove-shell ; do
-        update-alternatives --install ${sbindir}/$app $app $app.${PN} 100
-    done
-
-    for app in savelog  which ; do
-        update-alternatives --install ${bindir}/$app $app $app.${PN} 100
-    done
-
-    for app in run-parts  tempfile ; do
-        update-alternatives --install ${base_bindir}/$app $app $app.${PN} 100
-    done
-fi
-}
-
-
+ALTERNATIVE_PRIORITY="100"
+ALTERNATIVE_${PN} = "add-shell installkernel remove-shell run-parts savelog tempfile which"
 
+ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell"
+ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel"
+ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell"
+ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts"
+ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog"
+ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile"
+ALTERNATIVE_LINK_NAME[which]="${bindir}/which"