From owner-freebsd-ports-bugs@FreeBSD.ORG Sun Aug 22 19:40:28 2004 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D39B16A4CE for ; Sun, 22 Aug 2004 19:40:28 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6062A43D45 for ; Sun, 22 Aug 2004 19:40:28 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i7MJeSNN094953 for ; Sun, 22 Aug 2004 19:40:28 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i7MJeSkB094952; Sun, 22 Aug 2004 19:40:28 GMT (envelope-from gnats) Resent-Date: Sun, 22 Aug 2004 19:40:28 GMT Resent-Message-Id: <200408221940.i7MJeSkB094952@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, Hiroo Ono Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E740516A4CE for ; Sun, 22 Aug 2004 19:31:08 +0000 (GMT) Received: from mail.parknet.ne.jp (mail.parknet.ne.jp [210.171.161.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id E034E43D3F for ; Sun, 22 Aug 2004 19:31:07 +0000 (GMT) (envelope-from hiroo@oikumene.gcd.org) Received: from chrysanthe.oikumene.gcd.org [210.171.168.15] by mail.parknet.ne.jp with ESMTP (SMTPD32-4.10) id A56F17B0130; Mon, 23 Aug 2004 04:30:55 +0900 Received: from chrysanthe.oikumene.gcd.org (hiroo@localhost [127.0.0.1]) i7MJV55W044429 for ; Mon, 23 Aug 2004 04:31:06 +0900 (JST) (envelope-from hiroo@oikumene.gcd.org) Received: (from hiroo@localhost)i7MJV4mP044423; Mon, 23 Aug 2004 04:31:04 +0900 (JST) (envelope-from hiroo) Message-Id: <200408221931.i7MJV4mP044423@chrysanthe.oikumene.gcd.org> Date: Mon, 23 Aug 2004 04:31:04 +0900 (JST) From: Hiroo Ono To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/70831: make perl5.8 port SU_CMD aware X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Aug 2004 19:40:28 -0000 >Number: 70831 >Category: ports >Synopsis: make perl5.8 port SU_CMD aware >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: Sun Aug 22 19:40:27 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Hiroo Ono >Release: FreeBSD 4.10-STABLE i386 >Organization: >Environment: System: FreeBSD chrysanthe.oikumene.gcd.org 4.10-STABLE FreeBSD 4.10-STABLE #17: Mon Jun 7 23:51:40 JST 2004 hiroo@chrysanthe.oikumene.gcd.org:/build/usr/src/sys/CHRYSANTHE i386 >Description: The pre-install and post-install target of lang/perl5.8 port do not check the case that user id is not 0. To enable portupgrade work running with user privilege, use SU_CMD in such cases. >How-To-Repeat: run make install without root privilege in lang/perl5.8 >Fix: The patch to Makefile is attached. Note that I have a machine that place WRKDIR on a NFS partition for some reason, I'd like to run portupgrade with non-root user privilege and make use of SU_CMD. --- perl5.8-Makefile.diff begins here --- --- Makefile.orig Sun Aug 22 21:50:16 2004 +++ Makefile Sun Aug 22 23:49:45 2004 @@ -98,6 +98,11 @@ .endif MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VER}/perl +# Determine whether or not we can use rootly owner/group functions. +.if !defined(UID) +UID!= ${ID} -u +.endif + test: @(cd ${WRKSRC}; make test) @@ -115,10 +120,30 @@ > ${WRKDIR}/use.perl pre-install: +.if ${UID} != 0 && !defined(INSTALL_AS_USER) + @${SU_CMD} "${RM} -f ${PREFIX}/bin/perl${PERL_VER}" + @${SU_CMD} "${RM} -f ${PREFIX}/bin/perl" +.else @${RM} -f ${PREFIX}/bin/perl${PERL_VER} @${RM} -f ${PREFIX}/bin/perl +.endif post-install: +.if ${UID} != 0 && !defined(INSTALL_AS_USER) + @${SU_CMD} "${STRIP_CMD} ${PREFIX}/bin/perl${PERL_VER}" + @${SU_CMD} "${STRIP_CMD} ${PREFIX}/bin/perl" + @${SU_CMD} "${LN} -sf ${PREFIX}/bin/perl${PERL_VER} ${PREFIX}/bin/perl5" + $${SU_CMD} "{INSTALL_SCRIPT} ${WRKDIR}/use.perl ${PREFIX}/bin/use.perl" +.for files in ${BSDPAN_FILES} + ${SU_CMD} "${MKDIR} ${BSDPAN_DEST}/${files:H}" + ${SU_CMD} "${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ + ${BSDPAN_WRKSRC}/${files} ${BSDPAN_DEST}/${files}" +.endfor + @(cd ${INCLUDEDIR} && ${SU_CMD} "${PREFIX}/bin/h2ph *.h machine/*.h sys/*.h)" + ${SU_CMD} "${MKDIR} ${PREFIX}/${SITE_PERL_REL}/auto" + ${SU_CMD} "${MKDIR} ${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}/auto" + ${SU_CMD} "${MKDIR} ${PREFIX}/lib/perl5/${PERL_VER}/man/man3" +.else @${STRIP_CMD} ${PREFIX}/bin/perl${PERL_VER} @${STRIP_CMD} ${PREFIX}/bin/perl @${LN} -sf ${PREFIX}/bin/perl${PERL_VER} ${PREFIX}/bin/perl5 @@ -132,10 +157,15 @@ ${MKDIR} ${PREFIX}/${SITE_PERL_REL}/auto ${MKDIR} ${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}/auto ${MKDIR} ${PREFIX}/lib/perl5/${PERL_VER}/man/man3 +.endif .if ${OSVERSION} < 502100 @fmt ${PKGMESSAGE} .else +.if ${UID} != 0 && !defined(INSTALL_AS_USER) + @${SU_CMD} "${PREFIX}/bin/use.perl port" +.else @${PREFIX}/bin/use.perl port +.endif .endif .include --- perl5.8-Makefile.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted: