Index: head/ports-mgmt/pkg/Makefile =================================================================== --- head/ports-mgmt/pkg/Makefile (revision 422082) +++ head/ports-mgmt/pkg/Makefile (revision 422083) @@ -1,78 +1,78 @@ # $FreeBSD$ PORTNAME= pkg DISTVERSION= 1.8.7 _PKG_VERSION= ${DISTVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= ports-mgmt MASTER_SITES= \ http://files.etoilebsd.net/${PORTNAME}/ \ LOCAL/portmgr \ http://mirror.shatow.net/freebsd/${PORTNAME}/ \ MAINTAINER= pkg@FreeBSD.org COMMENT= Package manager LICENSE= BSD2CLAUSE USE_LDCONFIG= yes USES= libtool tar:xz GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-maintainer-mode INSTALL_TARGET= install-strip # Use a submake as 'deinstall install' needs to reevaluate PKG_CMD # so that pkg-static is used from the wrkdir USE_SUBMAKE= yes CFLAGS+= -Wno-error .if !exists(/usr/include/jail.h) EXTRA_PATCHES= ${FILESDIR}/extra-patch-docs_pkg.8 .endif .include .if defined(WITH_DEBUG) && !defined(WITHOUT_DEBUG) MAKE_ARGS+= DEBUG_FLAGS="${DEBUG_FLAGS}" .endif .if defined(WITH_PKG) .if ${WITH_PKG} == devel IGNORE= WITH_PKG is defined to 'devel', this version is the stable one .endif .if exists(${LOCALBASE}/sbin/pkg_info) || exists(/usr/sbin/pkg_info) NB_OLDPKGS!= pkg_info 2>/dev/null | wc -l .if exists(${PKG_BIN}) NB_NEWPKGS!= ${PKG_INFO} -aq | wc -l .else NB_NEWPKGS= 0 .endif # Only show the pre-everything notice if they have not already # converted any packages .if ${NB_OLDPKGS} > 0 && ${NB_NEWPKGS} == 0 && !defined(UPGRADEPKG) pre-everything:: @${ECHO_CMD} "You are about to convert your system to pkg while you have ports/packages"; \ ${ECHO_CMD} "installed with the old pkg_install tools."; \ ${ECHO_CMD} ""; \ ${ECHO_CMD} "To switch to pkg:"; \ ${ECHO_CMD} " 1) Install ports-mgmt/pkg"; \ ${ECHO_CMD} " cd ports-mgmt/pkg && make UPGRADEPKG=1 install clean"; \ ${ECHO_CMD} " 2) Convert your package database by running pkg2ng"; \ ${ECHO_CMD} ""; \ exit 1 .endif .endif .endif #define PKG_DEPENDS to nothing to avoid infinite loop looking for pkg :) PKG_DEPENDS= .undef INSTALLS_DEPENDS PKG_BIN= ${WRKSRC}/src/pkg-static post-install: @${MV} ${STAGEDIR}${PREFIX}/lib/libpkg_static.a \ ${STAGEDIR}${PREFIX}/lib/libpkg.a .include Index: head/ports-mgmt/pkg/files/patch-javavmwrapper =================================================================== --- head/ports-mgmt/pkg/files/patch-javavmwrapper (revision 422082) +++ head/ports-mgmt/pkg/files/patch-javavmwrapper (revision 422083) @@ -1,33 +1,34 @@ 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 +@@ -859,14 +859,21 @@ 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) ++ (strcmp(old->version, "2.5") == 0 || ++ strcmp(old->version, "2.5_1") == 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 */