diff options
-rw-r--r-- | meta/classes/package_rpm.bbclass | 14 | ||||
-rw-r--r-- | meta/classes/rootfs_deb.bbclass | 7 | ||||
-rw-r--r-- | meta/classes/rootfs_ipk.bbclass | 7 |
3 files changed, 22 insertions, 6 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 98aa98b03b..36bad09ea1 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -391,6 +391,10 @@ EOF | |||
391 | fi | 391 | fi |
392 | 392 | ||
393 | # Construct install scriptlet wrapper | 393 | # Construct install scriptlet wrapper |
394 | # Scripts need to be ordered when executed, this ensures numeric order | ||
395 | # If we ever run into needing more the 899 scripts, we'll have to | ||
396 | # change num to start with 1000. | ||
397 | # | ||
394 | cat << EOF > ${WORKDIR}/scriptlet_wrapper | 398 | cat << EOF > ${WORKDIR}/scriptlet_wrapper |
395 | #!/bin/bash | 399 | #!/bin/bash |
396 | 400 | ||
@@ -406,11 +410,13 @@ export NATIVE_ROOT=${STAGING_DIR_NATIVE} | |||
406 | if [ \$? -ne 0 ]; then | 410 | if [ \$? -ne 0 ]; then |
407 | if [ \$4 -eq 1 ]; then | 411 | if [ \$4 -eq 1 ]; then |
408 | mkdir -p \$1/etc/rpm-postinsts | 412 | mkdir -p \$1/etc/rpm-postinsts |
413 | num=100 | ||
414 | while [ -e \$1/etc/rpm-postinsts/\${num}-* ]; do num=\$((num + 1)); done | ||
409 | name=\`head -1 \$1/\$3 | cut -d' ' -f 2\` | 415 | name=\`head -1 \$1/\$3 | cut -d' ' -f 2\` |
410 | echo "#!\$2" > \$1/etc/rpm-postinsts/\${name} | 416 | echo "#!\$2" > \$1/etc/rpm-postinsts/\${num}-\${name} |
411 | echo "# Arg: \$4" >> \$1/etc/rpm-postinsts/\${name} | 417 | echo "# Arg: \$4" >> \$1/etc/rpm-postinsts/\${num}-\${name} |
412 | cat \$1/\$3 >> \$1/etc/rpm-postinsts/\${name} | 418 | cat \$1/\$3 >> \$1/etc/rpm-postinsts/\${num}-\${name} |
413 | chmod +x \$1/etc/rpm-postinsts/\${name} | 419 | chmod +x \$1/etc/rpm-postinsts/\${num}-\${name} |
414 | else | 420 | else |
415 | echo "Error: pre/post remove scriptlet failed" | 421 | echo "Error: pre/post remove scriptlet failed" |
416 | fi | 422 | fi |
diff --git a/meta/classes/rootfs_deb.bbclass b/meta/classes/rootfs_deb.bbclass index 0161f7a718..b1c52f9dd6 100644 --- a/meta/classes/rootfs_deb.bbclass +++ b/meta/classes/rootfs_deb.bbclass | |||
@@ -107,9 +107,14 @@ delayed_postinsts () { | |||
107 | } | 107 | } |
108 | 108 | ||
109 | save_postinsts () { | 109 | save_postinsts () { |
110 | # Scripts need to be ordered when executed, this ensures numeric order | ||
111 | # If we ever run into needing more the 899 scripts, we'll have to | ||
112 | # change num to start with 1000. | ||
113 | num=100 | ||
110 | for p in $(delayed_postinsts); do | 114 | for p in $(delayed_postinsts); do |
111 | install -d ${IMAGE_ROOTFS}${sysconfdir}/deb-postinsts | 115 | install -d ${IMAGE_ROOTFS}${sysconfdir}/deb-postinsts |
112 | cp ${IMAGE_ROOTFS}/var/lib/dpkg/info/$p.postinst ${IMAGE_ROOTFS}${sysconfdir}/deb-postinsts/$p | 116 | cp ${IMAGE_ROOTFS}/var/lib/dpkg/info/$p.postinst ${IMAGE_ROOTFS}${sysconfdir}/deb-postinsts/$num-$p |
117 | num=`echo \$((num+1))` | ||
113 | done | 118 | done |
114 | } | 119 | } |
115 | 120 | ||
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index a37ab14df7..b0805dc329 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass | |||
@@ -106,9 +106,14 @@ delayed_postinsts () { | |||
106 | } | 106 | } |
107 | 107 | ||
108 | save_postinsts () { | 108 | save_postinsts () { |
109 | # Scripts need to be ordered when executed, this ensures numeric order | ||
110 | # If we ever run into needing more the 899 scripts, we'll have to | ||
111 | # change num to start with 1000. | ||
112 | num=100 | ||
109 | for p in $(delayed_postinsts); do | 113 | for p in $(delayed_postinsts); do |
110 | install -d ${IMAGE_ROOTFS}${sysconfdir}/ipk-postinsts | 114 | install -d ${IMAGE_ROOTFS}${sysconfdir}/ipk-postinsts |
111 | cp ${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg/info/$p.postinst ${IMAGE_ROOTFS}${sysconfdir}/ipk-postinsts/$p | 115 | cp ${IMAGE_ROOTFS}${OPKGLIBDIR}/opkg/info/$p.postinst ${IMAGE_ROOTFS}${sysconfdir}/ipk-postinsts/$num-$p |
116 | num=`echo \$((num+1))` | ||
112 | done | 117 | done |
113 | } | 118 | } |
114 | 119 | ||