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. _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev