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