ports/152224: [patch] fix installed permissions for
lang/python27
John Hein
jhein at symmetricom.com
Sun Nov 14 22:40:08 UTC 2010
The following reply was made to PR ports/152224; it has been noted by GNATS.
From: John Hein <jhein at symmetricom.com>
To: Anonymous <swell.k at gmail.com>,
bug-followup at FreeBSD.org
Cc:
Subject: Re: ports/152224: [patch] fix installed permissions for lang/python27
Date: Sun, 14 Nov 2010 15:19:33 -0700
--CJa2am+ero
Content-Type: text/plain; charset=us-ascii
Content-Description: message body text
Content-Transfer-Encoding: 7bit
John Hein wrote at 10:49 MST on Nov 14, 2010:
> Anonymous wrote at 07:04 +0300 on Nov 14, 2010:
> > John Hein <jhein at symmetricom.com> writes:
> >
> > [...]
> > > Fix permissions of extracted tarball for pieces that are copied
> > > during post-inastll.
> > >
> > > Use tar --no-same-owner during post-install to ensure copied files
> > > are owned by install user.
> >
> > I'm not sure `--no-same-owner' is available on 6.x, better use `-o'.
Yes, I checked tar compatibility.
--no-same-owner is available... in gnu tar available in
6.x's base or a port and if someone has installed bsdtar from ports.
bsd.port.mk uses it, too.
> > > +post-extract:
> > > +# The distribution tarball for python 2.7 has permission bits for 'others'
> > > +# set to 0. Later during install, we copy Tools and Demo to the installed
> > > +# prefix, so set them right here.
> > > + ${FIND} ${WRKSRC}/Tools ${WRKSRC}/Demo -type d | ${XARGS} ${CHMOD} a+rx
> > > + ${FIND} ${WRKSRC}/Tools ${WRKSRC}/Demo -type f | ${XARGS} ${CHMOD} a+r
> > > +
> >
> > This can be reduced to one command
> >
> > ${FIND} ${WRKSRC}/Tools ${WRKSRC}/Demo \
> > -type d -exec ${CHMOD} a+rx {} + \
> > -or -type f -exec ${CHMOD} a+r {} +
Indeed, good idea... updated patch:
--CJa2am+ero
Content-Type: text/plain; name="p"
Content-Description: fix installed permissions for lang/python27
Content-Disposition: inline;
filename="p"
Content-Transfer-Encoding: 7bit
Index: Makefile
===================================================================
RCS file: /base/FreeBSD-CVS/ports/lang/python27/Makefile,v
retrieving revision 1.169
diff -u -p -r1.169 Makefile
--- Makefile 6 Sep 2010 00:25:04 -0000 1.169
+++ Makefile 14 Nov 2010 22:16:27 -0000
@@ -146,6 +146,14 @@ CONFIGURE_ARGS+= --disable-ipv6
CONFIGURE_ARGS+= --with-fpectl
.endif
+post-extract:
+# The distribution tarball for python 2.7 has permission bits for 'others'
+# set to 0. Later during install, we copy Tools and Demo to the installed
+# prefix, so set them right here.
+ ${FIND} ${WRKSRC}/Tools ${WRKSRC}/Demo \
+ -type d -exec ${CHMOD} a+rx {} + \
+ -or -type f -exec ${CHMOD} a+r {} +
+
pre-patch:
${CP} -r ${PATCH_WRKSRC}/Lib/plat-freebsd8 \
${PATCH_WRKSRC}/Lib/plat-freebsd9
@@ -260,12 +268,12 @@ post-install:
.if !defined(NOPORTDATA)
@${MKDIR} ${DATADIR}
@cd ${PYTHON_WRKSRC}; ${TAR} -cf - Tools | \
- (cd ${DATADIR}; ${TAR} -xf -)
+ (cd ${DATADIR}; ${TAR} --no-same-owner -xf -)
.endif
.if !defined(NOPORTEXAMPLES)
@${MKDIR} ${EXAMPLESDIR}
@cd ${PYTHON_WRKSRC}/Demo; ${TAR} -cf - * | \
- (cd ${EXAMPLESDIR}; ${TAR} -xf -)
+ (cd ${EXAMPLESDIR}; ${TAR} --no-same-owner -xf -)
.endif
@${CAT} ${PKGMESSAGE}
--CJa2am+ero--
More information about the freebsd-python
mailing list