[77794] trunk/dports/science

Ryan Schmidt ryandesign at macports.org
Fri Apr 15 00:45:53 PDT 2011


On Apr 14, 2011, at 08:06, Michael Dickens wrote:

> On Apr 14, 2011, at 2:48 AM, Ryan Schmidt wrote:
>> You must lock this fetch to version 003.000.001, using git.branch. Otherwise users installing the port at different times will get different versions of the software (assuming upstream is continuing to develop it), though they will all think they got version 003.000.001.
> 
> git.branch didn't work,

It should, provided you give it a valid git tag name (for example I see the developers of uhd have used the tag name release_003_000_001), or a valid git commit id (for example I see 81e891f3f38259e7450b is the latest commit id for the release_003_000_001 tag).

So for this tag naming scheme you could make it work by using this git.branch:

git.branch          release_[strsed ${version} {g/\./_/}]

Of course, if a stable distfile is available, that's greatly preferable to fetching directly from a repository. But see below:

> so I moved to using a tarball instead in r77835.  It's a bit ugly, but it works. - MLD

It doesn't work, unfortunately, because github has a nasty habit of making a distfile available at that URL only temporarily, and removing it again later.

--->  Attempting to fetch EttusResearch-UHD-Mirror-release_003_000_001-24-g5e8b075.tar.gz from https://download.github.com/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
DEBUG: Fetching failed:: The requested URL returned error: 404

See the php5-redis port for a download URL that does seem to work for github. Here is an adaptation of that technique for the uhd portfile:

master_sites		https://github.com/EttusResearch/UHD-Mirror/tarball/release_[strsed ${version} {g/\./_/}]?dummy=

However, some github downloads are generated on the fly, meaning each time they're generated their checksums will be different, thus they're unsuitable for use by MacPorts. And that does appear to be the case here for uhd, since, when I used the above mechanism, I ended up with a distfile that looks valid, but has different checksums from the ones in your portfile.





More information about the macports-dev mailing list