diff options
author | pavlov <pavlov@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-10-30 22:19:35 +0000 |
---|---|---|
committer | pavlov <pavlov@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-10-30 22:19:35 +0000 |
commit | 046898ae1ce9bff7b43870b59c4a5eea4aba9980 (patch) | |
tree | 0feb492252c6c5e78ed9818a40ffd8998ada71e1 | |
parent | 9145b66f67aeb374eb70b3cfb6f9f4c6aa493fdd (diff) |
expose an environment variable (IPKG_UPGRADE) to the scripts executed during a package upgrade so that they can intelligently determine what to do inside the ipk
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9465 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | package/busybox/patches/521-ipkg_upgrade_env.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/package/busybox/patches/521-ipkg_upgrade_env.patch b/package/busybox/patches/521-ipkg_upgrade_env.patch new file mode 100644 index 000000000..0063fa079 --- /dev/null +++ b/package/busybox/patches/521-ipkg_upgrade_env.patch @@ -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, |