aboutsummaryrefslogtreecommitdiff
path: root/ports-mgmt/pkg/files
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2016-07-31 11:52:22 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2016-07-31 11:52:22 +0000
commita203d9f11c3b9dc3f5b9c3a514bdda01f06f974f (patch)
tree28243953211173fd235d5f7e2bf66771b0471b66 /ports-mgmt/pkg/files
parent563f09302e0d7ffebce2f0a1c5e3d495d269157a (diff)
downloadports-a203d9f11c3b9dc3f5b9c3a514bdda01f06f974f.tar.gz
ports-a203d9f11c3b9dc3f5b9c3a514bdda01f06f974f.zip
Notes
Diffstat (limited to 'ports-mgmt/pkg/files')
-rw-r--r--ports-mgmt/pkg/files/patch-javavmwrapper33
1 files changed, 33 insertions, 0 deletions
diff --git a/ports-mgmt/pkg/files/patch-javavmwrapper b/ports-mgmt/pkg/files/patch-javavmwrapper
new file mode 100644
index 000000000000..b09773acb892
--- /dev/null
+++ b/ports-mgmt/pkg/files/patch-javavmwrapper
@@ -0,0 +1,33 @@
+diff --git libpkg/pkg_add.c libpkg/pkg_add.c
+index 87fb248..778336c 100644
+--- libpkg/pkg_add.c
++++ libpkg/pkg_add.c
+@@ -859,14 +859,20 @@ pkg_add_cleanup_old(struct pkgdb *db, struct pkg *old, struct pkg *new, int flag
+ * Execute pre deinstall scripts
+ */
+ if ((flags & PKG_ADD_NOSCRIPT) == 0) {
+- if ((flags & PKG_ADD_USE_UPGRADE_SCRIPTS) == PKG_ADD_USE_UPGRADE_SCRIPTS)
+- ret = pkg_script_run(old, PKG_SCRIPT_PRE_UPGRADE);
+- else
+- ret = pkg_script_run(old, PKG_SCRIPT_PRE_DEINSTALL);
+- if (ret != EPKG_OK && pkg_object_bool(pkg_config_get("DEVELOPER_MODE")))
+- return (ret);
+- else
+- ret = EPKG_OK;
++ bool buggydeinstall = false;
++ if (strcmp(old->name, "javavmwrapper") == 0 &&
++ strcmp(old->version, "2.5") == 0)
++ buggydeinstall = true;
++ if (!buggydeinstall) {
++ if ((flags & PKG_ADD_USE_UPGRADE_SCRIPTS) == PKG_ADD_USE_UPGRADE_SCRIPTS)
++ ret = pkg_script_run(old, PKG_SCRIPT_PRE_UPGRADE);
++ else
++ ret = pkg_script_run(old, PKG_SCRIPT_PRE_DEINSTALL);
++ if (ret != EPKG_OK && pkg_object_bool(pkg_config_get("DEVELOPER_MODE")))
++ return (ret);
++ else
++ ret = EPKG_OK;
++ }
+ }
+
+ /* Now remove files that no longer exist in the new package */