]> code.ossystems Code Review - openembedded-core.git/commitdiff
run-postinsts: Use opkg/dpkg to configure when possible
authorJussi Kukkonen <jussi.kukkonen@intel.com>
Fri, 4 Nov 2016 13:16:49 +0000 (15:16 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 7 Dec 2016 10:36:11 +0000 (10:36 +0000)
Currently run-postinsts script has code to run postinst scripts
via opkg/dpkg configure but that code is never used. The advantage
of using package managers instead of just executing the scripts is
to keep the package manager DB updated.

Fix the script so that the package managers are used when appropriate.
Also use $localstatedir for the opkg runtime file location.

Fixes [YOCTO #10478].

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts

index 04ba3941bc9118c08c9dd17c27915b4d172e988b..10f2118e9611c1e83693f59fbb5f8d4873a9eecf 100755 (executable)
@@ -16,23 +16,25 @@ pm_installed=false
 for pm in $backend_list; do
        pi_dir="#SYSCONFDIR#/$pm-postinsts"
 
-       [ -d $pi_dir ] && break
+       if [ ! -d $pi_dir ]; then
+               continue
+       fi
 
+       # found the package manager, it has postinsts
        case $pm in
                "deb")
                        if [ -s "#LOCALSTATEDIR#/lib/dpkg/status" ]; then
                                pm_installed=true
-                               break
                        fi
                        ;;
 
                "ipk")
-                       if [ -s "/var/lib/opkg/status" ]; then
+                       if [ -s "#LOCALSTATEDIR#/lib/opkg/status" ]; then
                                pm_installed=true
-                               break
                        fi
                        ;;
        esac
+       break
 done
 
 remove_rcsd_link () {