expose an environment variable (IPKG_UPGRADE) to the scripts executed during a packag...
authorTim Yardley <lst@openwrt.org>
Tue, 30 Oct 2007 22:19:35 +0000 (22:19 +0000)
committerTim Yardley <lst@openwrt.org>
Tue, 30 Oct 2007 22:19:35 +0000 (22:19 +0000)
SVN-Revision: 9465

package/busybox/patches/521-ipkg_upgrade_env.patch [new file with mode: 0644]

diff --git a/package/busybox/patches/521-ipkg_upgrade_env.patch b/package/busybox/patches/521-ipkg_upgrade_env.patch
new file mode 100644 (file)
index 0000000..0063fa0
--- /dev/null
@@ -0,0 +1,41 @@
+Index: busybox-1.7.2/archival/libipkg/ipkg_install.c
+===================================================================
+--- busybox-1.7.2.orig/archival/libipkg/ipkg_install.c 2007-10-30 17:15:31.000000000 -0500
++++ busybox-1.7.2/archival/libipkg/ipkg_install.c      2007-10-30 17:15:33.000000000 -0500
+@@ -136,6 +136,7 @@
+ ipkg_error_t ipkg_install_by_name(ipkg_conf_t *conf, const char *pkg_name)
+ {
+      int cmp;
++     int u = 0;
+      pkg_t *old, *new;
+      char *old_version, *new_version;
+@@ -201,6 +202,7 @@
+         } else if (cmp < 0) {
+              new->dest = old->dest;
+              old->state_want = SW_DEINSTALL;    /* Here probably the problem for bug 1277 */
++           u = 1;
+         }
+      }
+@@ -211,7 +213,7 @@
+       anyone ever wants to make a nice libipkg. */
+      ipkg_message(conf, IPKG_DEBUG2,"Function: %s calling ipkg_install_pkg \n",__FUNCTION__);
+-     return ipkg_install_pkg(conf, new,0);
++     return ipkg_install_pkg(conf, new,u);
+ }
+ ipkg_error_t ipkg_install_multi_by_name(ipkg_conf_t *conf, const char *pkg_name)
+@@ -750,8 +752,10 @@
+      char* file_md5;
+     
+-     if ( from_upgrade ) 
++     if ( from_upgrade ) {
+         message = 1;            /* Coming from an upgrade, and should change the output message */
++        setenv("IPKG_UPGRADE", "yes", 1);
++     }
+      if (!pkg) {
+         ipkg_message(conf, IPKG_ERROR,