From owner-freebsd-ports-bugs@FreeBSD.ORG Mon Feb 3 12:00:07 2014 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 18B76E41 for ; Mon, 3 Feb 2014 12:00:07 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E882E111D for ; Mon, 3 Feb 2014 12:00:06 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.7/8.14.7) with ESMTP id s13C06JX037648 for ; Mon, 3 Feb 2014 12:00:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.8/8.14.8/Submit) id s13C0673037647; Mon, 3 Feb 2014 12:00:06 GMT (envelope-from gnats) Resent-Date: Mon, 3 Feb 2014 12:00:06 GMT Resent-Message-Id: <201402031200.s13C0673037647@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, "KAMADA Ken'ichi" Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2E9B5DF3 for ; Mon, 3 Feb 2014 11:55:38 +0000 (UTC) Received: from shiki.nanohz.org (shiki.nanohz.org [IPv6:2001:e41:31d4:86d6::1]) by mx1.freebsd.org (Postfix) with ESMTP id F15C610F7 for ; Mon, 3 Feb 2014 11:55:37 +0000 (UTC) Received: from shiki.nanohz.org (localhost [IPv6:::1]) by shiki.nanohz.org (Postfix) with ESMTP id 0F538228091; Mon, 3 Feb 2014 20:55:28 +0900 (JST) Received: from hisa.nanohz.org by shiki.nanohz.org (smtpsugar 1.1) with ESMTPA id 0Z2iu5; Mon, 3 Feb 2014 20:55:28 +0900 (JST) Message-Id: <20140203205523XW%kamada@nanohz.org> Date: Mon, 03 Feb 2014 20:55:23 +0900 From: "KAMADA Ken'ichi" To: kdeguchi@sz.tokoha-u.ac.jp, FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.114 Subject: ports/186406: ports-mgmt/pkg_replace: preserve automatic flag Cc: kamada@nanohz.org X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Feb 2014 12:00:07 -0000 >Number: 186406 >Category: ports >Synopsis: ports-mgmt/pkg_replace: preserve automatic flag >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Feb 03 12:00:00 UTC 2014 >Closed-Date: >Last-Modified: >Originator: KAMADA Ken'ichi >Release: FreeBSD 10.0-RELEASE amd64 >Organization: >Environment: System: FreeBSD shiki.nanohz.org 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Hello Deguchi-san, This is a patch to make pkg_replace preserve the automatic flag. Could you merge this into your patch set? Attached patch is against pkg_replace-0.8.0_7. >How-To-Repeat: >Fix: --- /usr/local/sbin/pkg_replace 2014-02-03 08:15:28.000000000 +0900 +++ pkg_replace 2014-02-03 19:57:49.000000000 +0900 @@ -1290,7 +1290,8 @@ } do_replace() { - local pkg_log pkg_tmpdir old_package old_required_by preserved_files + local pkg_log pkg_tmpdir old_package old_required_by preserved_files \ + automatic_flag if is_yes ${use_pkgng}; then local old_origin new_origin @@ -1365,6 +1366,7 @@ backup_package "${cur_pkg_name}" "${old_package}" && if is_yes ${use_pkgng}; then old_origin=`${PKG_INFO} -qo ${cur_pkg_name}` || return 1 + automatic_flag=$(${PKG_QUERY} %a "${cur_pkg_name}") else backup_file "${cur_pkg_pkgdir}/+REQUIRED_BY" "${old_required_by}" fi && @@ -1381,6 +1383,7 @@ cur_pkg_pkgdir=${PKG_DBDIR}/${pkg_name} if is_yes ${use_pkgng}; then new_origin=`${PKG_INFO} -qo ${pkg_name}` + ${PKG_SET} -y -A "${automatic_flag}" "${pkg_name}" fi else log="install error" @@ -1389,6 +1392,9 @@ "please reinstall '${old_package}' manually." return 1 } + if is_yes ${use_pkgng}; then + ${PKG_SET} -y -A "${automatic_flag}" "${old_package}" + fi fi else log="deinstall error" >Release-Note: >Audit-Trail: >Unformatted: