summaryrefslogtreecommitdiff
path: root/data/dpkg/extrainst.diff
blob: 369d79a3af50853c06ca5be7d3e6473e315bd5c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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.