mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 00:32:12 +02:00
dpkg: Fix preinst execution
Add a patch to fix exeuction of pre/post install scripts. See the patch header for more details. (From OE-Core rev: dc433b556f5b44a6d818a81df6be484ad59daebd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
46
meta/recipes-devtools/dpkg/dpkg/preinst.patch
Normal file
46
meta/recipes-devtools/dpkg/dpkg/preinst.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
Our pre/postinsts expect $D to be set when running in a sysroot and
|
||||
don't expect a chroot. This matches up our system expectations with
|
||||
what dpkg does.
|
||||
|
||||
Upstream-Status: Inappropriate [OE Specific]
|
||||
|
||||
RP 2011/12/07
|
||||
|
||||
Index: dpkg-1.15.8.7/src/help.c
|
||||
===================================================================
|
||||
--- dpkg-1.15.8.7.orig/src/help.c 2010-12-20 01:25:36.000000000 +0000
|
||||
+++ dpkg-1.15.8.7/src/help.c 2011-12-07 14:51:02.783461487 +0000
|
||||
@@ -181,30 +181,9 @@
|
||||
* FIXME: none of the stuff here will work if admindir isn't inside
|
||||
* instdir as expected.
|
||||
*/
|
||||
- size_t instdirl;
|
||||
-
|
||||
- if (*instdir) {
|
||||
- if (chroot(instdir)) ohshite(_("failed to chroot to `%.250s'"),instdir);
|
||||
- if (chdir("/"))
|
||||
- ohshite(_("failed to chdir to `%.255s'"), "/");
|
||||
- }
|
||||
- if (f_debug & dbg_scripts) {
|
||||
- struct varbuf args = VARBUF_INIT;
|
||||
- const char **argv = cmd->argv;
|
||||
-
|
||||
- while (*++argv) {
|
||||
- varbufaddc(&args, ' ');
|
||||
- varbufaddstr(&args, *argv);
|
||||
- }
|
||||
- varbufaddc(&args, '\0');
|
||||
- debug(dbg_scripts, "fork/exec %s (%s )", cmd->filename, args.buf);
|
||||
- varbuf_destroy(&args);
|
||||
- }
|
||||
- instdirl= strlen(instdir);
|
||||
- if (!instdirl)
|
||||
- return cmd->filename;
|
||||
- assert(strlen(cmd->filename) >= instdirl);
|
||||
- return cmd->filename + instdirl;
|
||||
+ if (*instdir)
|
||||
+ setenv("D", instdir, 1);
|
||||
+ return cmd->filename;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -4,10 +4,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
|
||||
SRC_URI += "file://noman.patch \
|
||||
file://check_snprintf.patch \
|
||||
file://check_version.patch \
|
||||
file://perllibdir.patch"
|
||||
file://perllibdir.patch \
|
||||
file://preinst.patch"
|
||||
|
||||
SRC_URI[md5sum] = "d1731d4147c1ea3b537a4d094519a6dc"
|
||||
SRC_URI[sha256sum] = "1ec1376471b04717a4497e5d7a27cd545248c92116898ce0c53ced8ea94267b5"
|
||||
|
||||
PR = "${INC_PR}.1"
|
||||
PR = "${INC_PR}.3"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user