Просмотр исходного кода

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

SVN-Revision: 9465
Tim Yardley 18 лет назад
Родитель
Сommit
b8c9855d84
1 измененных файлов с 41 добавлено и 0 удалено
  1. 41 0
      package/busybox/patches/521-ipkg_upgrade_env.patch

+ 41 - 0
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,