[37697] trunk/dports/science/glue/Portfile

Ryan Schmidt ryandesign at macports.org
Fri Jun 20 14:39:13 PDT 2008


On Jun 20, 2008, at 1:44 PM, Rainer Müller wrote:

> Joshua Root wrote:
>
>>> dist_subdir ${name}/${version}_${revision}
>>>
>>> If you want, you could remove this later, once the next version  
>>> of  the software is released.
>>
>> Won't this result in one of the distfiles being orphaned, i.e. it  
>> won't be removed by clean --dist?
>
> ${distpath}/${name} is hardcoded to be removed additionally to $ 
> {distpath}/${dist_subdir} on clean --dist.
>
> But you are right, if you change it from a non-standard location to  
> another non-standard location (e.g. if you have the definition from  
> above and increment the Portfile revision), it will leave orphaned  
> files.
>
> Is there something we could do against it?

Upgrading any port to a new version leaves distfiles behind. However,  
"sudo port clean --dist foo" will remove them. You just need to make  
sure that dist_subdir is ${name} (the default) or begins with $ 
{name}/. I just verified this for the dcraw port which I maintain and  
which uses "dist_subdir ${name}/${version}_${revision}". IMHO this is  
the preferred alternate form of dist_subdir which is currently in use  
by dcraw, sicp, and libuninum. (Funny, I thought there were a lot  
more ports using this.) A slightly different form is currently in use  
by the sword-* ports.

Back when we didn't have a distfiles mirror it might've been possible  
to tell anyone who encountered these checksum errors to just "sudo  
port clean --dist foo" and fetch again. But now that we have a  
permanent distfiles mirror, we must always take special care that any  
given path in the distfiles directory will only ever be used for a  
single unique file, forever. If a distfile changes, it MUST go to a  
different unique path in the distfiles directory.



More information about the macports-dev mailing list