Re: [Distutils] Including symlinked data files in an egg

2011-04-21 Thread Éric Araujo

Hi,

Le 20/04/2011 10:56, Wichert Akkerman a écrit :

I've finally gotten around to doing this. I have attached test.tar.gz
with a minimal package that demonstrates this.


Distutils is frozen except for bug fixes (i.e. discrepancies between 
the documentation and the behavior), but distutils2 is open to feature 
requests.  Can you open such a request on bugs.python.org, with a 
rationale (use cases)?  (Note that if you include files such as your 
test, one or more files or diffs is preferred to binary archives.) 
Thanks in advance.


Regards
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Including symlinked data files in an egg

2011-04-21 Thread P.J. Eby

At 06:00 PM 4/21/2011 +0200, Éric Araujo wrote:
Note that if you include files such as your test, one or more files 
or diffs is preferred to binary archives.)


Note that since the issue is symlink support, uploading one or more 
files rather than an archive won't work.  ;-)


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Including symlinked data files in an egg

2011-04-20 Thread Wichert Akkerman

On 12/16/10 00:52 , P.J. Eby wrote:

At 04:18 PM 12/15/2010 +0100, Wichert Akkerman wrote:

On 12/15/10 16:15 , P.J. Eby wrote:

Most likely, the problem is with the file finder being used. Are you
using a git plugin for setuptools, or simply listing everything in
MANIFEST.in? If the former, it may be that the git plugin you're using
simply doesn't support symlinks. If you're not using a git plugin,
perhaps there is something amiss in the MANIFEST.in, and setuptools'
built-in support for subversion is hiding the problem by picking up the
symlinks.


I am not using a git (or other) plugin. I tried listing things in
MANIFEST.in, for example using:

graft my/package/templates/
graft my/package/templates/libraries

unfortunately that had no effect: libraries was not included, not as
symlink nor as a copy of the symlink target.


I don't know whether MANIFEST.in is supposed to support symlinks or not,
but the fact that it's working with subversion is strongly indicative
that setuptools' file finder is picking up stuff that MANIFEST.in is not.

I don't know *why* MANIFEST.in wouldn't pick up symlinks, though.
Perhaps you could try boiling this down to a simpler test case (e.g.,
subversion and git versions of the same minimal package containing only
a symlink referred to by MANIFEST.in) so we can narrow it down some more?


I've finally gotten around to doing this. I have attached test.tar.gz 
with a minimal package that demonstrates this.


Wichert.



test.tar.gz
Description: GNU Zip compressed data
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Including symlinked data files in an egg

2011-04-20 Thread P.J. Eby

At 10:56 AM 4/20/2011 +0200, Wichert Akkerman wrote:

On 12/16/10 00:52 , P.J. Eby wrote:

At 04:18 PM 12/15/2010 +0100, Wichert Akkerman wrote:

On 12/15/10 16:15 , P.J. Eby wrote:

Most likely, the problem is with the file finder being used. Are you
using a git plugin for setuptools, or simply listing everything in
MANIFEST.in? If the former, it may be that the git plugin you're using
simply doesn't support symlinks. If you're not using a git plugin,
perhaps there is something amiss in the MANIFEST.in, and setuptools'
built-in support for subversion is hiding the problem by picking up the
symlinks.


I am not using a git (or other) plugin. I tried listing things in
MANIFEST.in, for example using:

graft my/package/templates/
graft my/package/templates/libraries

unfortunately that had no effect: libraries was not included, not as
symlink nor as a copy of the symlink target.


I don't know whether MANIFEST.in is supposed to support symlinks or not,
but the fact that it's working with subversion is strongly indicative
that setuptools' file finder is picking up stuff that MANIFEST.in is not.

I don't know *why* MANIFEST.in wouldn't pick up symlinks, though.
Perhaps you could try boiling this down to a simpler test case (e.g.,
subversion and git versions of the same minimal package containing only
a symlink referred to by MANIFEST.in) so we can narrow it down some more?


I've finally gotten around to doing this. I have attached 
test.tar.gz with a minimal package that demonstrates this.


Ah.  It appears MANIFEST.in simply doesn't support 
symlinks.  (Distutils has explicit code to filter them out, in 
fact.)  This is a distutils issue, which setuptools can't do anything about.


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Including symlinked data files in an egg

2011-04-20 Thread Wichert Akkerman

On 4/20/11 18:04 , P.J. Eby wrote:

At 10:56 AM 4/20/2011 +0200, Wichert Akkerman wrote:

On 12/16/10 00:52 , P.J. Eby wrote:

At 04:18 PM 12/15/2010 +0100, Wichert Akkerman wrote:

On 12/15/10 16:15 , P.J. Eby wrote:

Most likely, the problem is with the file finder being used. Are you
using a git plugin for setuptools, or simply listing everything in
MANIFEST.in? If the former, it may be that the git plugin you're using
simply doesn't support symlinks. If you're not using a git plugin,
perhaps there is something amiss in the MANIFEST.in, and setuptools'
built-in support for subversion is hiding the problem by picking up
the
symlinks.


I am not using a git (or other) plugin. I tried listing things in
MANIFEST.in, for example using:

graft my/package/templates/
graft my/package/templates/libraries

unfortunately that had no effect: libraries was not included, not as
symlink nor as a copy of the symlink target.


I don't know whether MANIFEST.in is supposed to support symlinks or not,
but the fact that it's working with subversion is strongly indicative
that setuptools' file finder is picking up stuff that MANIFEST.in is
not.

I don't know *why* MANIFEST.in wouldn't pick up symlinks, though.
Perhaps you could try boiling this down to a simpler test case (e.g.,
subversion and git versions of the same minimal package containing only
a symlink referred to by MANIFEST.in) so we can narrow it down some
more?


I've finally gotten around to doing this. I have attached test.tar.gz
with a minimal package that demonstrates this.


Ah. It appears MANIFEST.in simply doesn't support symlinks. (Distutils
has explicit code to filter them out, in fact.) This is a distutils
issue, which setuptools can't do anything about.


Is there another way to get this working? I'ld hate to have to resort to 
monkeypatching distutils.


Wichert.
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Including symlinked data files in an egg

2011-04-20 Thread P.J. Eby

At 08:12 PM 4/20/2011 +0200, Wichert Akkerman wrote:
Is there another way to get this working? I'ld hate to have to 
resort to monkeypatching distutils.


Well, you could have the symlinks go the other way around, I suppose.  ;-)

Alternately, you could write a file finder plugin for setuptools, 
or see whether one of the git plugins for setuptools fixes the problem.


(Note: the plugin would only be needed when building from a direct 
git checkout - building from an sdist (source .tar.gz or .zip) will 
not need it.)


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


Re: [Distutils] Including symlinked data files in an egg

2010-12-15 Thread P.J. Eby

At 04:18 PM 12/15/2010 +0100, Wichert Akkerman wrote:

On 12/15/10 16:15 , P.J. Eby wrote:

Most likely, the problem is with the file finder being used. Are you
using a git plugin for setuptools, or simply listing everything in
MANIFEST.in? If the former, it may be that the git plugin you're using
simply doesn't support symlinks. If you're not using a git plugin,
perhaps there is something amiss in the MANIFEST.in, and setuptools'
built-in support for subversion is hiding the problem by picking up the
symlinks.


I am not using a git (or other) plugin. I tried listing things in 
MANIFEST.in, for example using:


  graft my/package/templates/
  graft my/package/templates/libraries

unfortunately that had no effect: libraries was not included, not as 
symlink nor as a copy of the symlink target.


I don't know whether MANIFEST.in is supposed to support symlinks or 
not, but the fact that it's working with subversion is strongly 
indicative that setuptools' file finder is picking up stuff that 
MANIFEST.in is not.


I don't know *why* MANIFEST.in wouldn't pick up symlinks, 
though.  Perhaps you could try boiling this down to a simpler test 
case (e.g., subversion and git versions of the same minimal package 
containing only a symlink referred to by MANIFEST.in) so we can 
narrow it down some more?






Wichert.


___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig


[Distutils] Including symlinked data files in an egg

2010-12-14 Thread Wichert Akkerman

I have a package with a source that looks like this:

 setup.py
 MANIFEST.in
 Prototype/libraries/jquery.js
 Prototype/style/main.css
 my/
 my/package/
 my/package/templates/libraries - ../../../Prototype/libraries
 my/package/templates/style - ../../../Prototype/style

what I would like to accomplish is that when a bdist is made either 
Prototype/ is installed somewhere and the symlinks point to it, or the 
symlinks are replaced with a copy of the data they point to.


For a package maintained in subverion this works: when the sdist is 
created the symlink is replaced with a copy of the thing it points to, 
which is then included in the bdist. For a package maintained in git 
this does not work: the symlink always appears to be ignored. Is there

a way to accomplish this?

Wichert.

--
Wichert Akkerman wich...@wiggy.net   It is simple to make things.
http://www.wiggy.net/  It is hard to make things simple.
___
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig