Portfile Workflow Advice

2013-01-14 Thread rod
Hi!

I've been finding developing and especially updating Portfiles a bit tricky and
error prone, so have been writing some tools for myself to help with this...

https://github.com/rodnaph/pearl
https://github.com/rodnaph/ghsum

But while submitting the second via Trac it was pointed out you can do
this already
with Macports...

$ port -d checksum

So I was wondering what tools everyone else uses to create and update
their Portfiles?
 Are all the utilities provided through the port tool and I'm just
missing them?  Or are there other utilities (like
https://trac.macports.org/browser/users/ryandesign/scripts/portcheckup) that
are available to help?

Any links/tips appreciated, and I'd be especially interested if someone could
describe their workflow too.

Thanks.
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101504] trunk/base/src/port1.0/portextract.tcl

2013-01-14 Thread Sean Farley
On Sun, Jan 13, 2013 at 8:46 PM, Ryan Schmidt ryandes...@macports.org wrote:

 On Jan 13, 2013, at 18:53, Blair Zajac wrote:

 On 01/13/2013 03:36 PM, Ryan Schmidt wrote:

 https://trac.macports.org/ticket/21117

 I think the problem still remains when you have a non-root MacPorts 
 installation; that's the configuration I was using when I initially filed 
 the ticket, before the privilege-dropping code was added to MacPorts and 
 made it an issue for everyone. The way I was thinking of fixing it was to 
 exclude those files from copying that we don't need anyway and I think that 
 still might be a better way, but I didn't really know how to do that which 
 is why I never did anything about the ticket.

 If you're doing this as non-root, then presumably you have permissions 
 yourself to mount a DMG.  Are you saying that even if you can mount it, 
 there's files in there you cannot see?


 I haven't tried using a non-root MacPorts installation in awhile; it just 
 seemed to become totally impossible once the privilege-dropping branch got 
 merged in. Maybe those bugs have been fixed by now.

 But here's an example from outside of MacPorts, using the distfile for the 
 cliclick port:


 $ open cliclick/2.1/cliclick.dmg
 $ cd /Volumes/cliclick
 $ find . -print0 | xargs -0 ls -ld
 find: ./.Trashes: Permission denied
 drwxr-xr-x  12 rschmidt  rschmidt476 Sep 26 02:12 .
 -rw-r--r--@  1 rschmidt  rschmidt  12292 Sep 26 02:14 ./.DS_Store
 d-wx-wx-wt   2 rschmidt  rschmidt 68 Sep 26 02:15 ./.Trashes
 drwxr-xr-x   8 rschmidt  rschmidt272 Sep 26 02:13 ./.assets
 -rw-r--r--   1 rschmidt  rschmidt   5639 Sep 26 02:11 ./.assets/AppIcon.png
 -rw-r--r--   1 rschmidt  rschmidt 95 Sep 26 02:11 ./.assets/bar.gif
 -rw-r--r--   1 rschmidt  rschmidt   4535 Sep 14 05:24 
 ./.assets/diskimage-background.png
 -rw-r--r--   1 rschmidt  rschmidt 67 Sep 26 02:11 ./.assets/li.gif
 -rw-r--r--   1 rschmidt  rschmidt   1193 Sep 26 02:11 ./.assets/logo.gif
 -rw-r--r--   1 rschmidt  rschmidt   1301 Sep 26 02:11 ./.assets/style.css
 drwx--   4 rschmidt  rschmidt136 Sep 26 02:15 ./.fseventsd
 -rw---   1 rschmidt  rschmidt209 Sep 26 02:15 
 ./.fseventsd/6365733132517f42
 -rw---   1 rschmidt  rschmidt 36 Sep 26 02:15 
 ./.fseventsd/fseventsd-uuid
 -rw-r--r--   1 rschmidt  rschmidt277 Sep 26 02:11 ./Contact.webloc
 -rw-r--r--@  1 rschmidt  rschmidt   4676 Sep 26 02:11 ./Read me.html
 -rw-r--r--   1 rschmidt  rschmidt265 Sep 26 02:11 ./Website.webloc
 -rwxr-xr-x   1 rschmidt  rschmidt  89216 Sep 26 02:11 ./cliclick


 So .Trashes cannot be seen. One solution I thought of was to just not copy 
 anything beginning with a period. In other words, cp * ${worksrcpath}. (* 
 expansion does not include items starting with .)

 A more elaborate and more correct solution would be to actually look at the 
 permissions of each item and just not copy those we're not allowed to, but 
 doing that in a single-line command execution, such as is required by the 
 extract system, was daunting.

Well, could we just use the `find` command instead? Conceptually,
something like this,

$ /usr/bin/find . -mindepth 1 -maxdepth 1 ! -perm -01000 -print0
2/dev/null | xargs -0 -I{} echo cp -R {} /tmp
cp -R ./.assets /tmp
cp -R ./.DS_Store /tmp
cp -R ./.fseventsd /tmp
cp -R ./cliclick /tmp
cp -R ./Contact.webloc /tmp
cp -R ./Read me.html /tmp
cp -R ./Website.webloc /tmp

but the one-liner would be

$ /usr/bin/find . -mindepth 1 -maxdepth 1 ! -perm -01000 -exec cp -R {} /tmp \;

I think all we really need to do in cases like these are ignore files
/ directories that have the sticky bit set.
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101569] trunk/dports/shells/zsh/Portfile

2013-01-14 Thread Lawrence Velázquez
On Jan 14, 2013, at 2:17 AM, Ryan Schmidt ryandes...@macports.org wrote:

 Since this changes what files are installed, the revision should be increased.

Yeahhh, I realized that after the fact. I just went ahead with the 5.0.2 
version update.

vq
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101504] trunk/base/src/port1.0/portextract.tcl

2013-01-14 Thread Rainer Müller
On 2013-01-14 09:20, Sean Farley wrote:
 $ /usr/bin/find . -mindepth 1 -maxdepth 1 ! -perm -01000 -exec cp -R {} /tmp 
 \;
 
 I think all we really need to do in cases like these are ignore files
 / directories that have the sticky bit set.

The problem is not the sticky bit, but the missing read permissions.
I would say this should be:

/usr/bin/find . -mindepth 1 -maxdepth 1 -perm -+r -exec cp -R {} /tmp \;

The syntax is strange, but I think -+r is really what we want:
read permissions for at least one of owner, group or others.

Rainer
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Compilation failure of texlive: a bug in clang or application code?

2013-01-14 Thread Mojca Miklavec
Dear MacPorts wizards,

This is a preliminary problem. I have problems compiling the trunk
version of software that's already part of MacPorts (only an older
version), but it is not clear to me if the one to be blamed are clang
header files or the software that fails to compile.

I'm asking now because it would make sense to solve the issue before
the release that's expected somewhere between March and June. XeTeX
(http://sourceforge.net/projects/xetex/,
http://xetex.git.sourceforge.net or
http://tug.org/svn/texlive/trunk/Build/source/) finally builds under
x86_64 without patching (earlier it didn't compile at all and the
current version in MacPorts disables part of the functionality that
depends on Carbon libraries for handling AAT). The modifications are
not 100% finished yet, but the sources are building fine with
llvm-gcc-4.2.

The problem is that an ancient code from TeX Live and some clang
libraries clash with each other when loading Carbon (or CoreServices 
ApplicationServices).

The problematic code is the following (around line 1100 of
/usr/lib/clang/3.1/include/emmintrin.h):

static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
_mm_set_epi8(char b15, char b14, char b13, char b12, char b11, char
b10, char b9, char b8, char b7, char b6, char b5, char b4, char b3,
char b2, char b1, char b0)
{
  return (__m128i)(__v16qi){ b0, b1, b2, b3, b4, b5, b6, b7, b8, b9,
b10, b11, b12, b13, b14, b15 };
}

clashing with
#define b0 u.B0
#define b1 u.B1
#define b2 u.B2
#define b3 u.B3
from

http://tug.org/svn/texlive/trunk/Build/source/texk/web2c/texmfmem.h?view=markup


The reported error is:

In file included from ../../../texk/web2c/xetexdir/XeTeX_ext.c:57:
In file included from ./xetexd.h:571:
In file included from ./xetexcoerce.h:1202:
In file included from ../../../texk/web2c/xetexdir/xetex.h:103:
In file included from ../../../texk/web2c/xetexdir/XeTeXOTMath.h:36:
In file included from ../../../texk/web2c/xetexdir/XeTeX_ext.h:78:
In file included from
/System/Library/Frameworks/Carbon.framework/Headers/Carbon.h:20:
In file included from
/System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21:
In file included from
/System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20:
In file included from
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:129:
In file included from
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/DriverServices.h:32:
In file included from
/System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/MachineExceptions.h:29:
In file included from /usr/bin/../lib/clang/3.1/include/xmmintrin.h:985:
/usr/bin/../lib/clang/3.1/include/emmintrin.h:1100:133: error: expected ')'
_mm_set_epi8(char b15, char b14, char b13, char b12, char b11, char
b10, char b9, char b8, char b7, char b6, char b5, char b4, char b3,
char b2, char b1, char b0)

 ^
../../../texk/web2c/texmfmem.h:171:13: note: expanded from macro 'b3'
#define b3 u.B3
^
/usr/bin/../lib/clang/3.1/include/emmintrin.h:1100:13: note: to match this '('
_mm_set_epi8(char b15, char b14, char b13, char b12, char b11, char
b10, char b9, char b8, char b7, char b6, char b5, char b4, char b3,
char b2, char b1, char b0)
^
/usr/bin/../lib/clang/3.1/include/emmintrin.h:1102:30: error: member
reference base type 'char' is not a structure or union
  return (__m128i)(__v16qi){ b0, b1, b2, b3, b4, b5, b6, b7, b8, b9,
b10, b11, b12, b13, b14, b15 };
 ^~
../../../texk/web2c/texmfmem.h:168:14: note: expanded from macro 'b0'
#define b0 u.B0
   ~ ^


One of the main developers of TeX Live argued with the following:

 the corresponding code in
   /usr/lib/gcc/ix86-linux-gnu/4.7.2/include/emmintrin.h:597ff
 reads

 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__,
 __artificial__))
 _mm_set_epi8 (char __q15, char __q14, char __q13, char __q12,
   char __q11, char __q10, char __q09, char __q08,
   char __q07, char __q06, char __q05, char __q04,
   char __q03, char __q02, char __q01, char __q00)
 {
   return __extension__ (__m128i)(__v16qi){
 __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
 __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
   };

 and I'd say that clang must not usurpate user space variables such as b0,
 b1, b2, etc.  It is certainly legitimate to #define them to whatever is
 useful for the user code.  So this is a bug in clang!

 Regards
 Peter

So my question is basically: can this be considered a bug in clang and
if so: what would be the best place to report it to? (And if not, is
anyone willing to take a look to see if there's an easy workaround
before the port maintainer gets bitten by this issue?)

Mojca

Re: filetype in modeline

2013-01-14 Thread Rainer Müller
On 2013-01-14 16:07, Clemens Lang wrote:
 On Mon, Jan 14, 2013 at 09:33:34AM -0500, Jeremy Lavergne wrote:
 Another way to make sure Portfiles have filetype set to Portfile despite
 the modeline is adding the following line to your .vimrc:
au BufNewFile,BufRead,BufWinEnter Portfile setlocal ft=Portfile

 That way you can use mpvim with your Portfiles but still use the
 standard modeline.

 We could update the standard modeline to include that too :-)
 
 No we can't, because
  - I think the command wouldn't be effective in a modeline
  - it would be no different from putting ft=Portfile in the modeline
directly
  - it would break for all users without mpvim, which is just what we're
trying to avoid.
 
 We could however put that line into mpvim.

It already is in ftdetect/macports.vim [1], except that it is only done
for the events BufNewFile,BufRead and not for BufWinEnter, while the
latter is the reason your line actually works. The filetype is
overridden each time again the buffer of a Portfile is displayed.
Although this works in most circumstances, it has side effects when
using hidden buffers.

Rainer

[1] https://trac.macports.org/browser/contrib/mpvim/ftdetect/macports.vim
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101504] trunk/base/src/port1.0/portextract.tcl

2013-01-14 Thread Blair Zajac

On 01/14/2013 07:07 AM, Rainer Müller wrote:

On 2013-01-14 09:20, Sean Farley wrote:

$ /usr/bin/find . -mindepth 1 -maxdepth 1 ! -perm -01000 -exec cp -R {} /tmp \;

I think all we really need to do in cases like these are ignore files
/ directories that have the sticky bit set.


The problem is not the sticky bit, but the missing read permissions.
I would say this should be:

/usr/bin/find . -mindepth 1 -maxdepth 1 -perm -+r -exec cp -R {} /tmp \;


This worked for me running it as myself:

/usr/bin/find /Volumes/Cg-3.1.0013 -depth -perm -+r -print0 | 
/usr/bin/cpio -0 -p -d -m -u /tmp/Cg

find: /Volumes/Cg-3.1.0013/.Trashes: Permission denied
80164 blocks

Blair

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101504] trunk/base/src/port1.0/portextract.tcl

2013-01-14 Thread Blair Zajac

On 01/13/2013 06:46 PM, Ryan Schmidt wrote:


On Jan 13, 2013, at 18:53, Blair Zajac wrote:


On 01/13/2013 03:36 PM, Ryan Schmidt wrote:


https://trac.macports.org/ticket/21117

I think the problem still remains when you have a non-root MacPorts 
installation; that's the configuration I was using when I initially filed the 
ticket, before the privilege-dropping code was added to MacPorts and made it an 
issue for everyone. The way I was thinking of fixing it was to exclude those 
files from copying that we don't need anyway and I think that still might be a 
better way, but I didn't really know how to do that which is why I never did 
anything about the ticket.


If you're doing this as non-root, then presumably you have permissions yourself 
to mount a DMG.  Are you saying that even if you can mount it, there's files in 
there you cannot see?



I haven't tried using a non-root MacPorts installation in awhile; it just 
seemed to become totally impossible once the privilege-dropping branch got 
merged in. Maybe those bugs have been fixed by now.

But here's an example from outside of MacPorts, using the distfile for the 
cliclick port:


$ open cliclick/2.1/cliclick.dmg
$ cd /Volumes/cliclick
$ find . -print0 | xargs -0 ls -ld
find: ./.Trashes: Permission denied
drwxr-xr-x  12 rschmidt  rschmidt476 Sep 26 02:12 .
-rw-r--r--@  1 rschmidt  rschmidt  12292 Sep 26 02:14 ./.DS_Store
d-wx-wx-wt   2 rschmidt  rschmidt 68 Sep 26 02:15 ./.Trashes
drwxr-xr-x   8 rschmidt  rschmidt272 Sep 26 02:13 ./.assets
-rw-r--r--   1 rschmidt  rschmidt   5639 Sep 26 02:11 ./.assets/AppIcon.png
-rw-r--r--   1 rschmidt  rschmidt 95 Sep 26 02:11 ./.assets/bar.gif
-rw-r--r--   1 rschmidt  rschmidt   4535 Sep 14 05:24 
./.assets/diskimage-background.png
-rw-r--r--   1 rschmidt  rschmidt 67 Sep 26 02:11 ./.assets/li.gif
-rw-r--r--   1 rschmidt  rschmidt   1193 Sep 26 02:11 ./.assets/logo.gif
-rw-r--r--   1 rschmidt  rschmidt   1301 Sep 26 02:11 ./.assets/style.css
drwx--   4 rschmidt  rschmidt136 Sep 26 02:15 ./.fseventsd
-rw---   1 rschmidt  rschmidt209 Sep 26 02:15 
./.fseventsd/6365733132517f42
-rw---   1 rschmidt  rschmidt 36 Sep 26 02:15 
./.fseventsd/fseventsd-uuid
-rw-r--r--   1 rschmidt  rschmidt277 Sep 26 02:11 ./Contact.webloc
-rw-r--r--@  1 rschmidt  rschmidt   4676 Sep 26 02:11 ./Read me.html
-rw-r--r--   1 rschmidt  rschmidt265 Sep 26 02:11 ./Website.webloc
-rwxr-xr-x   1 rschmidt  rschmidt  89216 Sep 26 02:11 ./cliclick


So .Trashes cannot be seen. One solution I thought of was to just not copy anything beginning with a period. 
In other words, cp * ${worksrcpath}. (* expansion does not include items starting 
with .)

A more elaborate and more correct solution would be to actually look at the 
permissions of each item and just not copy those we're not allowed to, but 
doing that in a single-line command execution, such as is required by the 
extract system, was daunting.


Instead of tar, you can use find's -perms flag.  I haven't tried this, 
but this may work:


$ find PATH -depth -perms +r -print0 | cpio -0 -p -d -m -u -v $worksrcpath

Blair

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101511] trunk/dports/lang

2013-01-14 Thread Clemens Lang
On Mon, Jan 14, 2013 at 01:02:39AM -0600, Ryan Schmidt wrote:
 I was under the impression that the reason the nodejs ports don't
 support PowerPC is because v8 doesn't support PowerPC. (The comment in
 the nodejs port reads # V8 only supports ARM and IA-32 processors.)
 If that's so, then the v8 port should similarly declare
 supported_archs i386 x86_64.

That's correct. Added in
  http://trac.macports.org/changeset/101604.

Should we specify other values than i386 and x86_64, e.g. arm, if
applicable?

-- 
Clemens Lang

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: New committers: larryv and sean

2013-01-14 Thread Clemens Lang
Hi,

On Fri, Jan 04, 2013 at 10:00:42PM +0100, Rainer Müller wrote:
 Please join us in welcoming the following new MacPorts committers:
 
  - Larry Velásquez (larryv)
  - Sean Farley (sean)
 
 We look forward to continued excellent contributions from these new
 team members.

welcome to MacPorts. Maybe now all those patches Sean wrote that I've
never gotten around to commiting will be integrated after all? :)

-- 
Clemens Lang

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: Build server request: patch for use_dmg support

2013-01-14 Thread William Siegrist
I don't think we want to have a mix of patches applied to the buildbots, since 
it makes reproducing problems harder. It might be useful to have the base 
builder install the result of each build such that the ports builder will use 
it (so the ports builder effectively uses trunk), but that probably introduces 
its own support burden too.

-Bill



On Jan 11, 2013, at 8:48 PM, Blair Zajac bl...@orcaware.com wrote:

 Can somebody who has access to the build bots review the following commits 
 and apply them:
 
 https://trac.macports.org/changeset/101503
 https://trac.macports.org/changeset/101504
 
 Right now it's causing cg-toolkit failure because the process doesn't have 
 the right to copy what it needs out of the DMG.
 
 Thanks,
 Blair
 ___
 macports-dev mailing list
 macports-dev@lists.macosforge.org
 http://lists.macosforge.org/mailman/listinfo/macports-dev

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101504] trunk/base/src/port1.0/portextract.tcl

2013-01-14 Thread Sean Farley
On Mon, Jan 14, 2013 at 9:07 AM, Rainer Müller rai...@macports.org wrote:
 On 2013-01-14 09:20, Sean Farley wrote:
 $ /usr/bin/find . -mindepth 1 -maxdepth 1 ! -perm -01000 -exec cp -R {} /tmp 
 \;

 I think all we really need to do in cases like these are ignore files
 / directories that have the sticky bit set.

 The problem is not the sticky bit, but the missing read permissions.
 I would say this should be:

 /usr/bin/find . -mindepth 1 -maxdepth 1 -perm -+r -exec cp -R {} /tmp \;

 The syntax is strange, but I think -+r is really what we want:
 read permissions for at least one of owner, group or others.

You and Jeremy are right about the stick bit. Sigh, that's what I get
for trying to think after my bedtime.
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101504] trunk/base/src/port1.0/portextract.tcl

2013-01-14 Thread Sean Farley
On Mon, Jan 14, 2013 at 11:09 AM, Blair Zajac bl...@orcaware.com wrote:
 On 01/13/2013 06:46 PM, Ryan Schmidt wrote:


 On Jan 13, 2013, at 18:53, Blair Zajac wrote:

 On 01/13/2013 03:36 PM, Ryan Schmidt wrote:

 https://trac.macports.org/ticket/21117

 I think the problem still remains when you have a non-root MacPorts
 installation; that's the configuration I was using when I initially filed
 the ticket, before the privilege-dropping code was added to MacPorts and
 made it an issue for everyone. The way I was thinking of fixing it was to
 exclude those files from copying that we don't need anyway and I think that
 still might be a better way, but I didn't really know how to do that which
 is why I never did anything about the ticket.


 If you're doing this as non-root, then presumably you have permissions
 yourself to mount a DMG.  Are you saying that even if you can mount it,
 there's files in there you cannot see?



 I haven't tried using a non-root MacPorts installation in awhile; it just
 seemed to become totally impossible once the privilege-dropping branch got
 merged in. Maybe those bugs have been fixed by now.

 But here's an example from outside of MacPorts, using the distfile for the
 cliclick port:


 $ open cliclick/2.1/cliclick.dmg
 $ cd /Volumes/cliclick
 $ find . -print0 | xargs -0 ls -ld
 find: ./.Trashes: Permission denied
 drwxr-xr-x  12 rschmidt  rschmidt476 Sep 26 02:12 .
 -rw-r--r--@  1 rschmidt  rschmidt  12292 Sep 26 02:14 ./.DS_Store
 d-wx-wx-wt   2 rschmidt  rschmidt 68 Sep 26 02:15 ./.Trashes
 drwxr-xr-x   8 rschmidt  rschmidt272 Sep 26 02:13 ./.assets
 -rw-r--r--   1 rschmidt  rschmidt   5639 Sep 26 02:11
 ./.assets/AppIcon.png
 -rw-r--r--   1 rschmidt  rschmidt 95 Sep 26 02:11 ./.assets/bar.gif
 -rw-r--r--   1 rschmidt  rschmidt   4535 Sep 14 05:24
 ./.assets/diskimage-background.png
 -rw-r--r--   1 rschmidt  rschmidt 67 Sep 26 02:11 ./.assets/li.gif
 -rw-r--r--   1 rschmidt  rschmidt   1193 Sep 26 02:11 ./.assets/logo.gif
 -rw-r--r--   1 rschmidt  rschmidt   1301 Sep 26 02:11 ./.assets/style.css
 drwx--   4 rschmidt  rschmidt136 Sep 26 02:15 ./.fseventsd
 -rw---   1 rschmidt  rschmidt209 Sep 26 02:15
 ./.fseventsd/6365733132517f42
 -rw---   1 rschmidt  rschmidt 36 Sep 26 02:15
 ./.fseventsd/fseventsd-uuid
 -rw-r--r--   1 rschmidt  rschmidt277 Sep 26 02:11 ./Contact.webloc
 -rw-r--r--@  1 rschmidt  rschmidt   4676 Sep 26 02:11 ./Read me.html
 -rw-r--r--   1 rschmidt  rschmidt265 Sep 26 02:11 ./Website.webloc
 -rwxr-xr-x   1 rschmidt  rschmidt  89216 Sep 26 02:11 ./cliclick


 So .Trashes cannot be seen. One solution I thought of was to just not copy
 anything beginning with a period. In other words, cp * ${worksrcpath}.
 (* expansion does not include items starting with .)

 A more elaborate and more correct solution would be to actually look at
 the permissions of each item and just not copy those we're not allowed to,
 but doing that in a single-line command execution, such as is required by
 the extract system, was daunting.


 Instead of tar, you can use find's -perms flag.  I haven't tried this, but
 this may work:

 $ find PATH -depth -perms +r -print0 | cpio -0 -p -d -m -u -v $worksrcpath

I would agree with Jeremy's suggestion to use rsync. I think that will
be the most elegant and not involve any piping or redirection, etc.
Though, I haven't tried to formulate the command yet; I'm just
thinking out loud here.
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: New committers: larryv and sean

2013-01-14 Thread Sean Farley
On Mon, Jan 14, 2013 at 12:36 PM, Clemens Lang c...@macports.org wrote:
 Hi,

 On Fri, Jan 04, 2013 at 10:00:42PM +0100, Rainer Müller wrote:
 Please join us in welcoming the following new MacPorts committers:

  - Larry Velásquez (larryv)
  - Sean Farley (sean)

 We look forward to continued excellent contributions from these new
 team members.

 welcome to MacPorts. Maybe now all those patches Sean wrote that I've
 never gotten around to commiting will be integrated after all? :)

That's my plan :-) … a little slower than I hoped as I try to wrestle
with preparing for my Ph.D oral exam (not defense) :-(
___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev


Re: [101504] trunk/base/src/port1.0/portextract.tcl

2013-01-14 Thread Blair Zajac

On 01/14/2013 05:33 PM, Sean Farley wrote:

On Mon, Jan 14, 2013 at 11:09 AM, Blair Zajac bl...@orcaware.com wrote:

On 01/13/2013 06:46 PM, Ryan Schmidt wrote:



On Jan 13, 2013, at 18:53, Blair Zajac wrote:


On 01/13/2013 03:36 PM, Ryan Schmidt wrote:


https://trac.macports.org/ticket/21117

I think the problem still remains when you have a non-root MacPorts
installation; that's the configuration I was using when I initially filed
the ticket, before the privilege-dropping code was added to MacPorts and
made it an issue for everyone. The way I was thinking of fixing it was to
exclude those files from copying that we don't need anyway and I think that
still might be a better way, but I didn't really know how to do that which
is why I never did anything about the ticket.



If you're doing this as non-root, then presumably you have permissions
yourself to mount a DMG.  Are you saying that even if you can mount it,
there's files in there you cannot see?




I haven't tried using a non-root MacPorts installation in awhile; it just
seemed to become totally impossible once the privilege-dropping branch got
merged in. Maybe those bugs have been fixed by now.

But here's an example from outside of MacPorts, using the distfile for the
cliclick port:


$ open cliclick/2.1/cliclick.dmg
$ cd /Volumes/cliclick
$ find . -print0 | xargs -0 ls -ld
find: ./.Trashes: Permission denied
drwxr-xr-x  12 rschmidt  rschmidt476 Sep 26 02:12 .
-rw-r--r--@  1 rschmidt  rschmidt  12292 Sep 26 02:14 ./.DS_Store
d-wx-wx-wt   2 rschmidt  rschmidt 68 Sep 26 02:15 ./.Trashes
drwxr-xr-x   8 rschmidt  rschmidt272 Sep 26 02:13 ./.assets
-rw-r--r--   1 rschmidt  rschmidt   5639 Sep 26 02:11
./.assets/AppIcon.png
-rw-r--r--   1 rschmidt  rschmidt 95 Sep 26 02:11 ./.assets/bar.gif
-rw-r--r--   1 rschmidt  rschmidt   4535 Sep 14 05:24
./.assets/diskimage-background.png
-rw-r--r--   1 rschmidt  rschmidt 67 Sep 26 02:11 ./.assets/li.gif
-rw-r--r--   1 rschmidt  rschmidt   1193 Sep 26 02:11 ./.assets/logo.gif
-rw-r--r--   1 rschmidt  rschmidt   1301 Sep 26 02:11 ./.assets/style.css
drwx--   4 rschmidt  rschmidt136 Sep 26 02:15 ./.fseventsd
-rw---   1 rschmidt  rschmidt209 Sep 26 02:15
./.fseventsd/6365733132517f42
-rw---   1 rschmidt  rschmidt 36 Sep 26 02:15
./.fseventsd/fseventsd-uuid
-rw-r--r--   1 rschmidt  rschmidt277 Sep 26 02:11 ./Contact.webloc
-rw-r--r--@  1 rschmidt  rschmidt   4676 Sep 26 02:11 ./Read me.html
-rw-r--r--   1 rschmidt  rschmidt265 Sep 26 02:11 ./Website.webloc
-rwxr-xr-x   1 rschmidt  rschmidt  89216 Sep 26 02:11 ./cliclick


So .Trashes cannot be seen. One solution I thought of was to just not copy
anything beginning with a period. In other words, cp * ${worksrcpath}.
(* expansion does not include items starting with .)

A more elaborate and more correct solution would be to actually look at
the permissions of each item and just not copy those we're not allowed to,
but doing that in a single-line command execution, such as is required by
the extract system, was daunting.



Instead of tar, you can use find's -perms flag.  I haven't tried this, but
this may work:

$ find PATH -depth -perms +r -print0 | cpio -0 -p -d -m -u -v $worksrcpath


I would agree with Jeremy's suggestion to use rsync. I think that will
be the most elegant and not involve any piping or redirection, etc.
Though, I haven't tried to formulate the command yet; I'm just
thinking out loud here.


That'll work also, but you'll get more errors from rsync on the files 
and directories it cannot read.  Granted, find will also warn on 
directories it cannot descend into.


Blair

___
macports-dev mailing list
macports-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macports-dev