summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/dpkg/extrainst.diff31
1 files changed, 31 insertions, 0 deletions
diff --git a/data/dpkg/extrainst.diff b/data/dpkg/extrainst.diff
new file mode 100644
index 000000000..369d79a3a
--- /dev/null
+++ b/data/dpkg/extrainst.diff
@@ -0,0 +1,31 @@
+diff -ru dpkg-1.13.25/lib/dpkg.h dpkg-1.13.25+iPhone/lib/dpkg.h
+--- dpkg-1.13.25/lib/dpkg.h 2006-11-24 04:08:31.000000000 +0000
++++ dpkg-1.13.25+iPhone/lib/dpkg.h 2008-09-03 07:28:26.000000000 +0000
+@@ -82,6 +82,7 @@
+ #define PRERMFILE "prerm"
+ #define POSTRMFILE "postrm"
+ #define LISTFILE "list"
++#define EXTRAINSTFILE "extrainst_"
+
+ #define STATUSFILE "status"
+ #define AVAILFILE "available"
+diff -ru dpkg-1.13.25/src/processarc.c dpkg-1.13.25+iPhone/src/processarc.c
+--- dpkg-1.13.25/src/processarc.c 2006-06-29 00:25:08.000000000 +0000
++++ dpkg-1.13.25+iPhone/src/processarc.c 2008-09-03 07:28:33.000000000 +0000
+@@ -569,6 +569,16 @@
+ close(tc.backendpipe);
+ waitsubproc(c1,BACKEND " --fsys-tarfile",PROCPIPE);
+
++ if (oldversionstatus == stat_notinstalled || oldversionstatus == stat_configfiles) {
++ maintainer_script_new(pkg->name, EXTRAINSTFILE, "extra-installation", cidir, cidirrest,
++ "install", (char *)0);
++ } else {
++ maintainer_script_new(pkg->name, EXTRAINSTFILE, "extra-installation", cidir, cidirrest,
++ "upgrade", versiondescribe(&pkg->installed.version,
++ vdew_nonambig),
++ (char *)0);
++ }
++
+ if (oldversionstatus == stat_halfinstalled || oldversionstatus == stat_unpacked) {
+ /* Packages that were in `installed' and `postinstfailed' have been reduced
+ * to `unpacked' by now, by the running of the prerm script.