summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmeta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts21
-rw-r--r--meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service1
2 files changed, 12 insertions, 10 deletions
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
index 307feb7187..95eff04e17 100755
--- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts
@@ -6,7 +6,8 @@
6# 6#
7 7
8# The following script will run all the scriptlets found in #SYSCONFDIR#/deb-postinsts, 8# The following script will run all the scriptlets found in #SYSCONFDIR#/deb-postinsts,
9# #SYSCONFDIR#/ipk-postinsts or #SYSCONFDIR#/rpm-postinsts. 9# #SYSCONFDIR#/ipk-postinsts or #SYSCONFDIR#/rpm-postinsts or the package manager in
10# case available.
10 11
11# the order of this list is important, do not change! 12# the order of this list is important, do not change!
12backend_list="rpm deb ipk" 13backend_list="rpm deb ipk"
@@ -14,27 +15,29 @@ backend_list="rpm deb ipk"
14pm_installed=false 15pm_installed=false
15 16
16for pm in $backend_list; do 17for pm in $backend_list; do
17 pi_dir="#SYSCONFDIR#/$pm-postinsts"
18
19 if [ ! -d $pi_dir ]; then
20 continue
21 fi
22
23 # found the package manager, it has postinsts 18 # found the package manager, it has postinsts
24 case $pm in 19 case $pm in
25 "deb") 20 "deb")
26 if [ -s "#LOCALSTATEDIR#/lib/dpkg/status" ]; then 21 if [ -s "#LOCALSTATEDIR#/lib/dpkg/status" ]; then
27 pm_installed=true 22 pm_installed=true
23 break
28 fi 24 fi
29 ;; 25 ;;
30 26
31 "ipk") 27 "ipk")
32 if [ -s "#LOCALSTATEDIR#/lib/opkg/status" ]; then 28 if [ -s "#LOCALSTATEDIR#/lib/opkg/status" ]; then
33 pm_installed=true 29 pm_installed=true
30 break
34 fi 31 fi
35 ;; 32 ;;
36 esac 33 esac
37 break 34
35 pi_dir="#SYSCONFDIR#/$pm-postinsts"
36
37 # found postinsts directory
38 if [ -d $pi_dir ]; then
39 break
40 fi
38done 41done
39 42
40remove_rcsd_link () { 43remove_rcsd_link () {
@@ -43,7 +46,7 @@ remove_rcsd_link () {
43 fi 46 fi
44} 47}
45 48
46if ! [ -d $pi_dir ]; then 49if ! [ -d $pi_dir ] && ! $pm_installed; then
47 remove_rcsd_link 50 remove_rcsd_link
48 exit 0 51 exit 0
49fi 52fi
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service
index 1b71a1f8be..d42addf510 100644
--- a/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service
+++ b/meta/recipes-devtools/run-postinsts/run-postinsts/run-postinsts.service
@@ -3,7 +3,6 @@ Description=Run pending postinsts
3DefaultDependencies=no 3DefaultDependencies=no
4After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount 4After=systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount
5Before=sysinit.target 5Before=sysinit.target
6ConditionPathExistsGlob=#SYSCONFDIR#/*-postinsts
7 6
8[Service] 7[Service]
9Type=oneshot 8Type=oneshot