Author: blogic
Date: 2014-09-11 14:27:09 +0200 (Thu, 11 Sep 2014)
New Revision: 42468

Added:
   trunk/package/system/opkg/patches/110-upgrade.patch
Log:
opkg: indicate upgrade vs install

when running the postinst trigger we set PKG_UPGRADE=1 if this is an upgrade
and not an install.

Signed-off-by: John Crispin <[email protected]>

Added: trunk/package/system/opkg/patches/110-upgrade.patch
===================================================================
--- trunk/package/system/opkg/patches/110-upgrade.patch                         
(rev 0)
+++ trunk/package/system/opkg/patches/110-upgrade.patch 2014-09-11 12:27:09 UTC 
(rev 42468)
@@ -0,0 +1,46 @@
+Index: opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d/libopkg/opkg_install.c
+===================================================================
+--- opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d.orig/libopkg/opkg_install.c  
2014-09-07 22:06:37.875956909 +0200
++++ opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d/libopkg/opkg_install.c       
2014-09-07 22:10:30.579952951 +0200
+@@ -1463,10 +1463,11 @@
+                /* removing files from old package, to avoid ghost files */
+                remove_data_files_and_list(old_pkg);
+                remove_maintainer_scripts(old_pkg);
++             pkg->is_upgrade = 1;
+         }
+ 
+ 
+-        opkg_msg(INFO, "Installing maintainer scripts.\n");
++        opkg_msg(INFO, "%s maintainer scripts.\n", (pkg->is_upgrade) ? 
("Upgrading") : ("Installing"));
+         if (install_maintainer_scripts(pkg, old_pkg)) {
+               opkg_msg(ERROR, "Failed to extract maintainer scripts for %s."
+                              " Package debris may remain!\n",
+Index: opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d/libopkg/pkg.c
+===================================================================
+--- opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d.orig/libopkg/pkg.c   
2014-09-07 22:06:37.863956909 +0200
++++ opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d/libopkg/pkg.c        
2014-09-07 22:09:09.387954332 +0200
+@@ -1285,6 +1285,12 @@
+      setenv("PKG_ROOT",
+           pkg->dest ? pkg->dest->root_dir : conf->default_dest->root_dir, 1);
+ 
++      if (pkg->is_upgrade)
++              setenv("PKG_UPGRADE", "1", 0);
++      else
++              setenv("PKG_UPGRADE", "0", 0);
++
++
+      if (! file_exists(path)) {
+         free(path);
+         return 0;
+Index: opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d/libopkg/pkg.h
+===================================================================
+--- opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d.orig/libopkg/pkg.h   
2014-03-21 16:56:11.000000000 +0100
++++ opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d/libopkg/pkg.h        
2014-09-07 22:09:26.315954044 +0200
+@@ -184,6 +184,7 @@
+      /* this flag specifies whether the package was installed to satisfy 
another
+       * package's dependancies */
+      int auto_installed;
++     int is_upgrade;
+ };
+ 
+ pkg_t *pkg_new(void);
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to