github fetch not working (solved, mostly)

Gary Aitken freebsd at dreamchaser.org
Mon Mar 19 04:36:49 UTC 2018


On 03/18/18 18:13, Miroslav Lachman wrote:
> Gary Aitken wrote on 2018/03/19 00:02:
> 
>> fetch: https://codeload.github.com/sergiomb2/ufraw/tar.gz/g20161113?dummy=/sergiomb2-ufraw-g20161113_GH0.tar.gz: Not Found
>>>> => Attempting to fetch
>>>> http://distcache.FreeBSD.org/ports-distfiles/ufraw-devel/sergiomb2-ufraw-g20161113_GH0.tar.gz
>>>>
>>>>
>> fetch: http://distcache.FreeBSD.org/ports-distfiles/ufraw-devel/sergiomb2-ufraw-g20161113_GH0.tar.gz: Not Found
>>>> => Couldn't fetch it - please try to retrieve this => port manually
>>>> into ../../distfiles/ufraw-devel and try again.
>>>>
>>>> It was my understanding that the USE_GITHUB target would somehow magically clone the tree and build the requisite tarball, or
>>>> unpack the whole thing into distfiles.  Obviously I'm missing
>>>> something. Clues?
>>>>
>>>> Makefile: # $FreeBSD$
>>>>
>>>> DISTDIR=        ../../distfiles PORTNAME=       ufraw-devel DISTVERSION=    g20161113 CATEGORIES=     graphics #MASTER_SITES=
>>>> https://github.com/sergiomb2/ufraw.git
>>>>
>>>> USE_GITHUB=     yes GH_ACCOUNT=     sergiomb2 GH_PROJECT=
>>>> ufraw #GH_TAGNAME=    g6d3259aa
>>>>
>>>> DIST_SUBDIR=${PORTNAME}
>>>>
>>>> MAINTAINER=     freebsd at dreamchaser.org COMMENT=        Read and
>>>> manipulate raw images from digital cameras LICENSE=        GPLv2
>>>>
>>>> .include <bsd.port.mk>
>>>
>>>
>>> Where did you get this version number? DISTVERSION=    g20161113
>>
>> I was trying to follow example 5.13 in the porter's handbook.
>> However, this particular git tree has only a main branch and no
>> tags, so it's not a perfect fit.
>>
>>> What about this
>>>
>>> PORTNAME=       ufraw-devel PORTVERSION=    g20161113 CATEGORIES=
>>> graphics MASTER_SITES=   GH
>>>
>>> MAINTAINER=     freebsd at dreamchaser.org COMMENT=        Read and
>>> manipulate raw images from digital cameras
>>>
>>> LICENSE=        GPLv2
>>>
>>> USE_GITHUB=     yes GH_ACCOUNT=     sergiomb2 GH_PROJECT=     ufraw GH_TAGNAME=     6d3259a
>>>
>>> .include <bsd.port.mk>
>>
>> Unfortunately, that yields the same results.
>> However, thanks for the hints;
>> I did get it to work as follows:
>>
>> MASTER_SITES=   https://github.com/sergiomb2/ufraw/archive/
>> DISTNAME=       master
>>
>> The link shown on the website for a "Download zip file" is
>>    https://github.com/sergiomb2/ufraw/archive/master.zip
>> But the file fetched was
>>    ufraw-devel/master.tar.gz
>>
>> $ make fetch
>> ...
>> => Attempting to fetch https://github.com/sergiomb2/ufraw/archive/master.tar.gz
>> fetch: https://github.com/sergiomb2/ufraw/archive/master.tar.gz: size of remote file is not known
>>
>> However, I'm still puzzled because this method totally ignores all the
>> special hooks that are supposed to make a git repository work.
> 
> Your first version was trying to fetch https://codeload.github.com/sergiomb2/ufraw/tar.gz/g20161113?dummy=/sergiomb2-ufraw-g20161113_GH0.tar.gz
> But you should fetch this (note the tag 6d3259a after tar.gz/)
> https://codeload.github.com/sergiomb2/ufraw/tar.gz/6d3259a?dummy=/sergiomb2-ufraw-6d3259a_GH0.tar.gz
> 
> So you need to tune your Makefile to create link like above.
> 
> According to this https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-distfiles.html#makefile-master_sites-popular
> you need to set GH_ACCOUNT,  GH_PROJECT and GH_TAGNAME=6d3259a to create right URL:
> 
> ${GH_ACCOUNT}/${GH_PROJECT}/tar.gz/${GH_TAGNAME}?dummy=/
> 
> This works for me
> 
> PORTNAME=       ufraw-devel
> PORTVERSION=    g20161113
> CATEGORIES=     graphics
> MASTER_SITES=   GH
> #DISTNAME= ${GH_ACCOUNT}-${GH_PROJECT}-${GH_TAGNAME}${DISTVERSIONSUFFIX}
> 
> MAINTAINER=     freebsd at dreamchaser.org
> COMMENT=        Read and manipulate raw images from digital cameras
> 
> LICENSE=        GPLv2
> 
> USE_GITHUB=     yes
> GH_ACCOUNT=     sergiomb2
> GH_PROJECT=     ufraw
> GH_TAGNAME=     6d3259a
> 
> .include <bsd.port.mk>

Thank you, Miroslav.
My original problem was I mistakenly prepended a 'g' on the GH_TAGNAME
value.  I probably was remembering reading the example 5.13 where it
was prepending a 'g' for the artificial DISTVERSION.
Duh.  I will go bang my head against the wall a few times...
Again, thank you.

Gary


More information about the freebsd-ports mailing list