diff options
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/package_ipk.bbclass | 2 | ||||
-rw-r--r-- | meta/classes/rootfs_ipk.bbclass | 26 |
2 files changed, 4 insertions, 24 deletions
diff --git a/meta/classes/package_ipk.bbclass b/meta/classes/package_ipk.bbclass index b5319bcbd0..9a1e5852c4 100644 --- a/meta/classes/package_ipk.bbclass +++ b/meta/classes/package_ipk.bbclass | |||
@@ -130,7 +130,7 @@ package_install_internal_ipk() { | |||
130 | 130 | ||
131 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ | 131 | mkdir -p ${target_rootfs}${localstatedir}/lib/opkg/ |
132 | 132 | ||
133 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite" | 133 | local ipkg_args="-f ${conffile} -o ${target_rootfs} --force-overwrite --force_postinstall" |
134 | 134 | ||
135 | opkg-cl ${ipkg_args} update | 135 | opkg-cl ${ipkg_args} update |
136 | 136 | ||
diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass index 89ce86d741..37241274d2 100644 --- a/meta/classes/rootfs_ipk.bbclass +++ b/meta/classes/rootfs_ipk.bbclass | |||
@@ -60,14 +60,14 @@ fakeroot rootfs_ipk_do_rootfs () { | |||
60 | export INSTALL_CONF_IPK="${IPKGCONF_TARGET}" | 60 | export INSTALL_CONF_IPK="${IPKGCONF_TARGET}" |
61 | export INSTALL_PACKAGES_IPK="${PACKAGE_INSTALL}" | 61 | export INSTALL_PACKAGES_IPK="${PACKAGE_INSTALL}" |
62 | 62 | ||
63 | package_install_internal_ipk | ||
64 | |||
65 | #post install | 63 | #post install |
66 | export D=${IMAGE_ROOTFS} | 64 | export D=${IMAGE_ROOTFS} |
67 | export OFFLINE_ROOT=${IMAGE_ROOTFS} | 65 | export OFFLINE_ROOT=${IMAGE_ROOTFS} |
68 | export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} | 66 | export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS} |
69 | export OPKG_OFFLINE_ROOT=${IPKG_OFFLINE_ROOT} | 67 | export OPKG_OFFLINE_ROOT=${IPKG_OFFLINE_ROOT} |
70 | 68 | ||
69 | package_install_internal_ipk | ||
70 | |||
71 | # Distro specific packages should create this | 71 | # Distro specific packages should create this |
72 | #mkdir -p ${IMAGE_ROOTFS}/etc/opkg/ | 72 | #mkdir -p ${IMAGE_ROOTFS}/etc/opkg/ |
73 | #grep "^arch" ${IPKGCONF_TARGET} >${IMAGE_ROOTFS}/etc/opkg/arch.conf | 73 | #grep "^arch" ${IPKGCONF_TARGET} >${IMAGE_ROOTFS}/etc/opkg/arch.conf |
@@ -75,28 +75,8 @@ fakeroot rootfs_ipk_do_rootfs () { | |||
75 | ${OPKG_POSTPROCESS_COMMANDS} | 75 | ${OPKG_POSTPROCESS_COMMANDS} |
76 | ${ROOTFS_POSTINSTALL_COMMAND} | 76 | ${ROOTFS_POSTINSTALL_COMMAND} |
77 | 77 | ||
78 | runtime_script_required=0 | ||
79 | |||
80 | # Base-passwd needs to run first to install /etc/passwd and friends | ||
81 | if [ -e ${IMAGE_ROOTFS}${opkglibdir}/info/base-passwd.preinst ] ; then | ||
82 | sh ${IMAGE_ROOTFS}${opkglibdir}/info/base-passwd.preinst | ||
83 | fi | ||
84 | |||
85 | for i in ${IMAGE_ROOTFS}${opkglibdir}/info/*.preinst; do | ||
86 | if [ -f $i ] && ! sh $i; then | ||
87 | runtime_script_required=1 | ||
88 | opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .preinst` | ||
89 | fi | ||
90 | done | ||
91 | for i in ${IMAGE_ROOTFS}${opkglibdir}/info/*.postinst; do | ||
92 | if [ -f $i ] && ! sh $i configure; then | ||
93 | runtime_script_required=1 | ||
94 | opkg-cl ${IPKG_ARGS} flag unpacked `basename $i .postinst` | ||
95 | fi | ||
96 | done | ||
97 | |||
98 | if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then | 78 | if ${@base_contains("IMAGE_FEATURES", "read-only-rootfs", "true", "false" ,d)}; then |
99 | if [ $runtime_script_required -eq 1 ]; then | 79 | if grep Status:.install.ok.unpacked ${IMAGE_ROOTFS}${opkglibdir}status; then |
100 | echo "Some packages could not be configured offline and rootfs is read-only." | 80 | echo "Some packages could not be configured offline and rootfs is read-only." |
101 | exit 1 | 81 | exit 1 |
102 | fi | 82 | fi |