[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