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 <blogic@openwrt.org> SVN-Revision: 42468
This commit is contained in:
parent
e61cd71564
commit
b05c2aad3c
1 changed files with 46 additions and 0 deletions
46
package/system/opkg/patches/110-upgrade.patch
Normal file
46
package/system/opkg/patches/110-upgrade.patch
Normal file
|
@ -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);
|
Loading…
Reference in a new issue