From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Jan 24 22:00:00 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 BFB3C1B0 for ; Fri, 24 Jan 2014 22:00:00 +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 989111D58 for ; Fri, 24 Jan 2014 22:00:00 +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 s0OM00QJ079954 for ; Fri, 24 Jan 2014 22:00:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.7/8.14.7/Submit) id s0OM001l079953; Fri, 24 Jan 2014 22:00:00 GMT (envelope-from gnats) Resent-Date: Fri, 24 Jan 2014 22:00:00 GMT Resent-Message-Id: <201401242200.s0OM001l079953@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, John Hein 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 4279CC83; Fri, 24 Jan 2014 21:50:47 +0000 (UTC) Received: from duck.symmetricom.us (duck.symmetricom.us [206.168.13.214]) by mx1.freebsd.org (Postfix) with ESMTP id 1B87B1CE7; Fri, 24 Jan 2014 21:50:46 +0000 (UTC) Received: from gromit.timing.com (gromit.timing.com [206.168.13.209]) by duck.symmetricom.us (8.14.6/8.14.6) with ESMTP id s0OLoeaw055380; Fri, 24 Jan 2014 14:50:40 -0700 (MST) (envelope-from jhein@symmetricom.com) Received: from gromit.timing.com (localhost [127.0.0.1]) by gromit.timing.com (8.14.7/8.14.5) with ESMTP id s0OLoegs008708; Fri, 24 Jan 2014 14:50:40 -0700 (MST) (envelope-from jhein@gromit.timing.com) Received: (from jhein@localhost) by gromit.timing.com (8.14.7/8.14.7/Submit) id s0OLodSP008707; Fri, 24 Jan 2014 14:50:39 -0700 (MST) (envelope-from jhein) Message-Id: <201401242150.s0OLodSP008707@gromit.timing.com> Date: Fri, 24 Jan 2014 14:50:39 -0700 (MST) From: John Hein To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.113 Subject: ports/186088: [PATCH] devel/py27-dateutil: fix non-root build, other updates Cc: nivit@FreeBSD.org, python@freebsd.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: Fri, 24 Jan 2014 22:00:00 -0000 >Number: 186088 >Category: ports >Synopsis: [PATCH] devel/py27-dateutil: fix non-root build, other updates >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Jan 24 22:00:00 UTC 2014 >Closed-Date: >Last-Modified: >Originator: John Hein >Release: >Organization: >Environment: System: >Description: The main motivation for this patch is to fix the build for the non-root user. The chmod in post-patch was removing write permission from files that the build is trying to write to. Okay if you're root on a local filesystem, but it fails if you are a regular user (try just 'make' as a regular user) because setup.py tries to write to files in the python_dateutil.egg-info (which are now read-only thanks to the chmod 444 in post-patch). The fix is to change ${SHAREMODE} (0444) to a+r for the chmod. While I was here, I: - added support for staging - moved away from the deprecated easy_install (changes plist, thus bumped PORTREVISION as well) - replaced the deprecated BSD license with BSD3CLAUSE I chose to still use the static pkg-plist rather than use PYDISTUTILS_AUTOPLIST. p.s. bsd.python.mk could probably add PYDISTUTILS_EGGINFO to PLIST_SUB. Port maintainer (nivit@FreeBSD.org) is cc'd. Generated with FreeBSD Port Tools 0.99_8 (mode: change, diff: SVN) >How-To-Repeat: As a regular user: cd /usr/ports/devel/py-dateutil make Observe: . . running egg_info writing requirements to python_dateutil.egg-info/requires.txt error: python_dateutil.egg-info/requires.txt: Permission denied >Fix: --- py27-dateutil-2.1_3.patch begins here --- Index: Makefile =================================================================== --- Makefile (revision 340890) +++ Makefile (working copy) @@ -3,7 +3,7 @@ PORTNAME= dateutil PORTVERSION= 2.1 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= devel python MASTER_SITES= CHEESESHOP PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -12,19 +12,19 @@ MAINTAINER= nivit@FreeBSD.org COMMENT= Provides powerful extensions to the standard datetime module -LICENSE= BSD +LICENSE= BSD3CLAUSE BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:${PORTSDIR}/devel/py-six RUN_DEPENDS+= ${BUILD_DEPENDS} USE_PYTHON= yes -USE_PYDISTUTILS= easy_install +USE_PYDISTUTILS= yes PYDISTUTILS_PKGNAME= python-dateutil +PLIST_SUB+= PYDISTUTILS_EGGINFO=${PYDISTUTILS_EGGINFO} # Fix incorrect permissions -NO_STAGE= yes post-patch: - @${FIND} ${WRKSRC} -type f -exec ${CHMOD} ${SHAREMODE} {} ";" + @${FIND} ${WRKSRC} -type f -exec ${CHMOD} a+r {} ";" @${REINPLACE_CMD} -e 's|import winreg|from six.moves import winreg|' ${WRKSRC}/dateutil/tzwin.py regression-test: build Index: pkg-plist =================================================================== --- pkg-plist (revision 340890) +++ pkg-plist (working copy) @@ -1,35 +1,34 @@ -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/PKG-INFO -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/SOURCES.txt -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/dependency_links.txt -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/not-zip-safe -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/requires.txt -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/top_level.txt -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/__init__.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/__init__.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/__init__.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/easter.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/easter.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/easter.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/parser.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/parser.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/parser.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/relativedelta.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/relativedelta.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/relativedelta.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/rrule.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/rrule.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/rrule.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/tz.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/tz.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/tz.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/tzwin.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/tzwin.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/tzwin.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/zoneinfo/__init__.py -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/zoneinfo/__init__.pyc -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/zoneinfo/__init__.pyo -%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/zoneinfo/zoneinfo--latest.tar.gz -@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil/zoneinfo -@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/dateutil -@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO -@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%% +%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%/PKG-INFO +%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%/SOURCES.txt +%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%/dependency_links.txt +%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%/not-zip-safe +%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%/requires.txt +%%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%%/top_level.txt +%%PYTHON_SITELIBDIR%%/dateutil/__init__.py +%%PYTHON_SITELIBDIR%%/dateutil/__init__.pyc +%%PYTHON_SITELIBDIR%%/dateutil/__init__.pyo +%%PYTHON_SITELIBDIR%%/dateutil/easter.py +%%PYTHON_SITELIBDIR%%/dateutil/easter.pyc +%%PYTHON_SITELIBDIR%%/dateutil/easter.pyo +%%PYTHON_SITELIBDIR%%/dateutil/parser.py +%%PYTHON_SITELIBDIR%%/dateutil/parser.pyc +%%PYTHON_SITELIBDIR%%/dateutil/parser.pyo +%%PYTHON_SITELIBDIR%%/dateutil/relativedelta.py +%%PYTHON_SITELIBDIR%%/dateutil/relativedelta.pyc +%%PYTHON_SITELIBDIR%%/dateutil/relativedelta.pyo +%%PYTHON_SITELIBDIR%%/dateutil/rrule.py +%%PYTHON_SITELIBDIR%%/dateutil/rrule.pyc +%%PYTHON_SITELIBDIR%%/dateutil/rrule.pyo +%%PYTHON_SITELIBDIR%%/dateutil/tz.py +%%PYTHON_SITELIBDIR%%/dateutil/tz.pyc +%%PYTHON_SITELIBDIR%%/dateutil/tz.pyo +%%PYTHON_SITELIBDIR%%/dateutil/tzwin.py +%%PYTHON_SITELIBDIR%%/dateutil/tzwin.pyc +%%PYTHON_SITELIBDIR%%/dateutil/tzwin.pyo +%%PYTHON_SITELIBDIR%%/dateutil/zoneinfo/__init__.py +%%PYTHON_SITELIBDIR%%/dateutil/zoneinfo/__init__.pyc +%%PYTHON_SITELIBDIR%%/dateutil/zoneinfo/__init__.pyo +%%PYTHON_SITELIBDIR%%/dateutil/zoneinfo/zoneinfo--latest.tar.gz +@dirrm %%PYTHON_SITELIBDIR%%/dateutil/zoneinfo +@dirrm %%PYTHON_SITELIBDIR%%/dateutil +@dirrm %%PYTHON_SITELIBDIR%%/%%PYDISTUTILS_EGGINFO%% --- py27-dateutil-2.1_3.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted: