move oldfolder newfolder results in oldfolder/newfolder

Ryan Schmidt ryandesign at macports.org
Thu Feb 16 11:41:41 PST 2012


On Feb 16, 2012, at 13:34, Bradley Giesbrecht wrote:

> On Feb 16, 2012, at 11:15 AM, Ryan Schmidt wrote:
> 
>> On Feb 16, 2012, at 00:41, Bradley Giesbrecht wrote:
>> 
>>> The port I am working on uses subports and I have noticed
>>> some oddities with subports.
>>> 
>>> Here is an example: (py-cairo is a uncommitted unification port I am working on)
>>> pillbox:dports brad$ sudo port clean name:^py..-cairo$
>>> --->  Cleaning py24-cairo
>>> --->  Cleaning py25-cairo
>>> --->  Cleaning py26-cairo
>>> --->  Cleaning py27-cairo
>>> --->  Cleaning py31-cairo
>>> --->  Cleaning py32-cairo
>>> pillbox:dports brad$ sudo port extract name:^py..-cairo$
>>> --->  Fetching py24-cairo
>>> --->  Verifying checksum(s) for py24-cairo
>>> --->  Extracting py24-cairo
>>> --->  Fetching py25-cairo
>>> --->  Verifying checksum(s) for py25-cairo
>>> --->  Extracting py25-cairo
>>> --->  Fetching py26-cairo
>>> --->  Verifying checksum(s) for py26-cairo
>>> --->  Extracting py26-cairo
>>> --->  Fetching py27-cairo
>>> --->  Verifying checksum(s) for py27-cairo
>>> --->  Extracting py27-cairo
>>> --->  Fetching py31-cairo
>>> --->  Verifying checksum(s) for py31-cairo
>>> --->  Extracting py31-cairo
>>> --->  Fetching py32-cairo
>>> --->  Verifying checksum(s) for py32-cairo
>>> --->  Extracting py32-cairo
>>> pillbox:dports brad$ ls -la python/py-cairo/work/
>>> total 8
>>> drwxr-xr-x   4 macports  admin   136 Feb 15 22:38 .
>>> drwxr-xr-x   3 macports  admin   102 Feb 15 22:38 ..
>>> -rw-r--r--   1 macports  admin   100 Feb 15 22:38 .macports.py24-cairo.state
>>> drwxr-xr-x  30 macports  admin  1020 Dec 13  2007 pycairo-1.4.12
>>> pillbox:dports brad$ 
>> 
>> What about that looks odd to you?
> 
> Only py24-cairo fetches 1.4.12 sources. The other pyxx-cairo ports use different sources.
> There are a total of 4 sources for py-cairo and 6 suports. Notice that py2[67]-cairo subport distfiles have the numeral "2" in py2cairo.
> 
> pillbox:dports brad$ sudo port distfile name:^py[\\d]*-cairo$ | grep -E -- "--|\["
> --->  Distfiles for py-cairo
> --->  Distfiles for py24-cairo
> [pycairo-1.4.12.tar.gz] /opt/local/var/macports/distfiles/py-cairo/pycairo-1.4.12.tar.gz
> --->  Distfiles for py25-cairo
> [pycairo-1.8.2.tar.gz] /opt/local/var/macports/distfiles/py-cairo/pycairo-1.8.2.tar.gz
> --->  Distfiles for py26-cairo
> [py2cairo-1.10.0.tar.bz2] /opt/local/var/macports/distfiles/py-cairo/py2cairo-1.10.0.tar.bz2
> --->  Distfiles for py27-cairo
> [py2cairo-1.10.0.tar.bz2] /opt/local/var/macports/distfiles/py-cairo/py2cairo-1.10.0.tar.bz2
> --->  Distfiles for py31-cairo
> [pycairo-1.10.0.tar.bz2] /opt/local/var/macports/distfiles/py-cairo/pycairo-1.10.0.tar.bz2
> --->  Distfiles for py32-cairo
> [pycairo-1.10.0.tar.bz2] /opt/local/var/macports/distfiles/py-cairo/pycairo-1.10.0.tar.bz2

Ok. Different subports having different versions is unfortunate but sometimes necessary I suppose. I don't understand the different distnames... What if anything is the difference between pycairo-1.10.0.tar.bz2 and py2cairo-1.10.0.tar.bz2?


>> Note that when you begin work on multiple subports of a single port, only the first subport's work directory is symlinked into the port's directory. To find the others, you'll have to dig into /opt/local/var/macports/build. If you want a particular subport's work directory to be symlinked into a port's directory, make sure all of that port's other subports have been cleaned first.
> 
> This explains what I am seeing.
> So a subport cannot be reliably built without performing a clean to ensure worksrcpath does not contain source for other subports?

What I said applies only to the work symlink, which is only created for your convenience as a maintainer (and can indeed be turned off entirely in macports.conf); it does not affect how the port builds or the worksrcpath.



More information about the macports-dev mailing list