dpkg: fix pkg_postinst_dpkg, don't supply {bindir}/update-alternatives

[YOCTO #1070].

The pkg_postinst_dpkg seems buggy, e.g., for dpkg-native,
${IMAGE_ROOTFS}/${sysconfdir}/rcS.d doesn't exist.
I think OE's version(do_install_prepend) at
http://git.openembedded.org/cgit.cgi/openembedded/tree/recipes/dpkg/dpkg.inc
is correct, so let's change to OE's version.

And, bth dpkg and update-alternatives-cworth supply
/usr/bin/update-alternatives and this causes conflict. e.g., bug 1070.
We can resolve the issue by ask dpkg not to supply the binary.

(From OE-Core rev: c7af358ec427487ccc053316d2f68f6121b97181)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dexuan Cui 2011-09-13 21:30:37 +08:00 committed by Richard Purdie
parent 50e184e0d9
commit a1c62ae8f4
2 changed files with 9 additions and 12 deletions

View File

@ -2,7 +2,7 @@ DESCRIPTION = "Package maintenance system for Debian."
LICENSE = "GPL"
SECTION = "base"
INC_PR = "r4"
INC_PR = "r5"
SRC_URI = "${DEBIAN_MIRROR}/main/d/dpkg/dpkg_${PV}.tar.bz2 \
file://ignore_extra_fields.patch"
@ -20,17 +20,14 @@ inherit autotools gettext perlnative
DPKG_INIT_POSITION = "98"
pkg_postinst_dpkg () {
#!/bin/sh
if [ "x$D" != "x" ]; then
install -d $D/${sysconfdir}/rcS.d
do_install_prepend () {
install -d ${D}/${sysconfdir}/rcS.d
# this happens at S98 where our good 'ole packages script used to run
echo -e "#!/bin/sh
dpkg --configure -a
rm -f /${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
" > ${IMAGE_ROOTFS}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
chmod 0755 $D/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
fi
printf "#!/bin/sh
dpkg --configure -a
rm -f ${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
" > ${D}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
chmod 0755 ${D}/${sysconfdir}/rcS.d/S${DPKG_INIT_POSITION}configure
}
do_configure () {

View File

@ -20,6 +20,6 @@ EXTRA_OECONF = "--without-static-progs \
BBCLASSEXTEND = "native"
do_install_append_virtclass-native () {
do_install_append () {
rm ${D}${bindir}/update-alternatives
}