Igor Zornik writes:
> One question: I've noticed they're distributing dependencies in
> an archive on their GitHub publish page. I could use that instead
> of making the modules-get dance. The thing is the filename isn't
> versioned. How does one get around that to make makesum pick up the new
> file when the version changes? Is there some kind of tuple trick you
> can use on DISTFILES where the first item would be the source name and
> the second how to save the file as? Something like this:
>
> DISTFILES = minify-deps minify-deps-${V}
>
> This isn't an isolated case. A lot of maintainers aren't adding any
> kind of identifiers to their published files, so I guess this is sort
> of a general question.
There are two ways to handle unversioned distfiles. One is to set a
versioned DIST_SUBDIR:
DIST_SUBDIR = minify-$V
The other is to use the DISTFILES syntax that exists for this purpose.
It's documented in bsd.port.mk(5):
Each entry may optionally be of the form ‘filename{url}sufx’ to
deal with sites that only offer archives as weird urls, doing the
transfer of urlsufx into result file filenamesufx. For instance,
if
DISTFILES = minetest-{minetest/archive/}${V}${EXTRACT_SUFX}
then fetch will retrieve from url
‘minetest/archive/${V}${EXTRACT_SUFX}’ into
‘minetest-${V}${EXTRACT_SUFX}’.
Personally, I find the versioned DIST_SUBDIR approach much clearer and
more understandable. Either way is fine though. What's important is that
if a SHA256 changes in distinfo, the pathname in distinfo (whether the
file part or the directory part or both) *must* *always* change too.
Otherwise the official package bulk builds will break.