From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Aug 30 18:40:05 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C9D2A10656A8 for ; Sun, 30 Aug 2009 18:40:05 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 628C88FC1A for ; Sun, 30 Aug 2009 18:40:03 +0000 (UTC) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n7UIe3kl011426 for ; Sun, 30 Aug 2009 18:40:03 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n7UIe3Lv011424; Sun, 30 Aug 2009 18:40:03 GMT (envelope-from gnats) Resent-Date: Sun, 30 Aug 2009 18:40:03 GMT Resent-Message-Id: <200908301840.n7UIe3Lv011424@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, Dan Lukes Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F266A1065692 for ; Sun, 30 Aug 2009 18:36:43 +0000 (UTC) (envelope-from dan@dual.ms.mff.cuni.cz) Received: from dual.ms.mff.cuni.cz (www.freebsd.cz [IPv6:2001:718:1e03:801::6]) by mx1.freebsd.org (Postfix) with ESMTP id 8578B8FC0A for ; Sun, 30 Aug 2009 18:36:43 +0000 (UTC) Received: (from root@localhost) by kulesh.obluda.cz (8.14.3/8.14.3/Submit) id n7UHkeER001238; Sun, 30 Aug 2009 19:46:40 +0200 (CEST) (envelope-from dan) Message-Id: <200908301746.n7UHkeER001238@kulesh.obluda.cz> Date: Sun, 30 Aug 2009 19:46:40 +0200 (CEST) From: Dan Lukes To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/138355: net/freeradius2 can't install from package when /usr/ports mounted RO X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Dan Lukes List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Aug 2009 18:40:06 -0000 >Number: 138355 >Category: ports >Synopsis: net/freeradius2 can't install from package when /usr/ports mounted RO >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Aug 30 18:40:02 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Dan Lukes >Release: FreeBSD >Organization: Obludarium >Environment: System: FreeBSD 7.2-STABLE but exact FreeBSD version is not relevant net/freeradius2/files/pkg-install.in,v 1.4 2009/04/22 16:28:18 >Description: net/freeradius2 can't be instaled from package when /usr/ports tree present && net/freeradius2/work/radiusd.conf exist && /usr/ports tree mouted read-only It's not artifical scenario. Imagine central distribution point where all required ports are compiled with apropriate options and packages are created the /usr/ports tree from repository is read-only mounted to other machine. Here the packages are installed from /usr/ports/packages/All >How-To-Repeat: Prolog: create package of net/freeradius2 port working directory of the port MUST NOT be deleted (e.g. /usr/ports/net/freeradius2/work/radiusd.conf still exist) deinstall net/freeradius2 Now you: mount /usr/ports tree as read-only install net/freeradis2 from package the installation will fail because install script will fail because the /usr/ports/net/freeradius2/work/radiusd.conf exists, but not writable >Fix: Patch writable files only: --- patch-FREERADIUS2 begins here --- --- net/freeradius2/files/pkg-install.in.orig 2009-08-30 19:22:27.000000000 +0200 +++ net/freeradius2/files/pkg-install.in 2009-08-30 19:23:07.000000000 +0200 @@ -104,7 +104,7 @@ # Fix the user and group in raddb/radiusd.conf echo "===> Setting user and group in radiusd.conf" for file in ${radius_raddb_work}/radiusd.conf ${radius_raddb}/radiusd.conf; do - if [ -f ${file} ]; then + if [ -w ${file} ]; then if ! sed -Ee "s/^[[:space:]#]*(user[[:space:]]*=[[:space:]]*).*$/\1${radius_user}/" \ -e "s/^[[:space:]#]*(group[[:space:]]*=[[:space:]]*).*$/\1${radius_group}/" \ -i .orig ${file}; then --- patch-FREERADIUS2 ends here --- >Release-Note: >Audit-Trail: >Unformatted: