Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Dec 2017 23:43:51 +0300
From:      Sergei Vyhenski <svysh.fbsd@gmail.com>
To:        freebsd-ports@freebsd.org
Subject:   github: handmade vs autogenerated distibution
Message-ID:  <d4da5e05-e0bb-b437-1db9-32c332c3fef1@gmail.com>

next in thread | raw e-mail | index | archive | help
Hi,

Some projects on Github provide handmade distribution tarball (let us 
call it H-tarball) for a release.
The contents of this H-tarball could be essentially different from the 
check-out'ed source. The latter being identical to the autogenerated 
tarball (let us call it A-tarball), which we get with USE_GITHUB 
construct in the port's Makefile.

H-tarball could contain files, which are missing from the A-tarball, 
such as:
- configure script,
- several Makefile's
- documentation prebuilt from several formats

In one example (which is expat, see below) - to build documentation 
(seems like) it requires this very expat to be installed in advance, 
thus bringing us to the cycle dependency. No wonder that the author of 
expat went into trouble and provided the H-tarball.

Hence, building from A-tarball becomes a challenging task, which goes 
far beyond from saying "USES=autoreconf gmake" and "GNU_CONFIGURE=yes".

Example for textproc/expat2 ver. 2.5.5:
H-tarball:
https://github.com/libexpat/libexpat/releases/download/R_2_2_5/expat-2.2.5.tar.bz2
source:
https://github.com/libexpat/libexpat/tree/master/expat
A-tarball:
https://codeload.github.com/libexpat/libexpat/tar.gz/R_2_2_5?dummy=/R_2_2_5_GH0.tar.bz2

Playing with GH_* variables, I was able to fetch A-tarball within 
guidelines of
bsd.sites.mk.

But to fetch H-tarball, I could only invent the following:

PORTNAME=       expat
PORTVERSION=    2.2.5
MASTER_SITES= 
https://github.com/libexpat/libexpat/releases/download/R_${PORTVERSION:S|.|_|g}/

Also, this project has declared that it moves from SF to GH. It still 
publishes H-tarballs on SF. But it seems that switching of the FreeBSD 
port to take distribution from GH is inevitable.

Do you think that explicit MASTER_SITES instead of USE_GITHUB (thus 
using H-tarball) here contradicts to some rules of good stile?

Do you think that fighting with A-tarball is always necessary?

Regards, Sergei



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d4da5e05-e0bb-b437-1db9-32c332c3fef1>