github fetch not working (solved, mostly)
Miroslav Lachman
000.fbsd at quip.cz
Mon Mar 19 00:13:58 UTC 2018
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>
You should create distinfo file with checksum first:
# make makesum
=> sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz doesn't seem to exist in
/var/ports/distfiles/.
https://codeload.github.com/sergiomb2/ufraw/tar.gz/6d3259a?dummy=/
http://distcache.FreeBSD.org/ports-distfiles/
=> Attempting to fetch
https://codeload.github.com/sergiomb2/ufraw/tar.gz/6d3259a?dummy=/sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz
sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz 100% of 849 kB 720 kBps
00m01s
# cat distinfo
TIMESTAMP = 1521418152
SHA256 (sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz) =
4a3b415bf86c7cadc71350a8f0a206cef79bb3c22a6a794a9d9894d6bc7ec6dc
SIZE (sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz) = 870086
# ls -l /var/ports/distfiles/sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz
-rw-r--r-- 1 root wheel 870086 Mar 19 00:09
/var/ports/distfiles/sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz
# make distclean
===> Cleaning for ufraw-devel-g20161113
===> Deleting distfiles for ufraw-devel-g20161113
# make fetch
===> License GPLv2 accepted by the user
===> ufraw-devel-g20161113 depends on file: /usr/local/sbin/pkg - found
=> sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz doesn't seem to exist in
/var/ports/distfiles/.
https://codeload.github.com/sergiomb2/ufraw/tar.gz/6d3259a?dummy=/
http://distcache.FreeBSD.org/ports-distfiles/
=> Attempting to fetch
https://codeload.github.com/sergiomb2/ufraw/tar.gz/6d3259a?dummy=/sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz
sergiomb2-ufraw-g20161113-6d3259a_GH0.tar.gz 100% of 849 kB 786 kBps
00m01s
===> Fetching all distfiles required by ufraw-devel-g20161113 for building
Miroslav Lachman
More information about the freebsd-ports
mailing list