From owner-freebsd-ports@FreeBSD.ORG Mon Nov 9 15:57:04 2009 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC51B1065670 for ; Mon, 9 Nov 2009 15:57:04 +0000 (UTC) (envelope-from freebsduser@paradisegreen.co.uk) Received: from mail.paradisegreen.co.uk (almaz.paradisegreen.co.uk [81.187.228.2]) by mx1.freebsd.org (Postfix) with ESMTP id 38A1B8FC15 for ; Mon, 9 Nov 2009 15:57:04 +0000 (UTC) Received: from [10.0.0.6] (vaio.paradise [10.0.0.6]) by mail.paradisegreen.co.uk (8.13.3/8.13.3) with ESMTP id nA9FKxtU087006 for ; Mon, 9 Nov 2009 15:21:00 GMT (envelope-from freebsduser@paradisegreen.co.uk) DomainKey-Signature: a=rsa-sha1; s=default; d=paradisegreen.co.uk; c=nofws; q=dns; h=message-id:date:from:user-agent:mime-version:to:subject: references:in-reply-to:content-type:content-transfer-encoding; b=pttVuyMbWFLV8Xwy7zSr7T/OvdpP1JKz9SaGt3v3N1W30JFYLkXV6XWHBHqUY6wgn sp7VsQ9EpaccS8mr3EyoA== Message-ID: <4AF83358.5010709@paradisegreen.co.uk> Date: Mon, 09 Nov 2009 15:20:56 +0000 From: Thomas Sandford User-Agent: Thunderbird 2.0.0.23 (Windows/20090812) MIME-Version: 1.0 To: ports@freebsd.org References: <4AF7CE1D.5030401@FreeBSD.org> In-Reply-To: <4AF7CE1D.5030401@FreeBSD.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.4 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VERIFIED autolearn=failed version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on almaz.paradisegreen.co.uk Cc: Subject: Re: RFC: svn for make fetch X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 09 Nov 2009 15:57:04 -0000 Doug Barton wrote: > Eitan Adler wrote: >> I was hoping to get a bit more of a response to a recent posting of >> mine with regard to using svn to fetch files for ports >> My proposal: http://www.mail-archive.com/freebsd-ports@freebsd.org/msg23776.html >> A summary of what has been going on: >> http://wiki.freebsd.org/EitanAdler/ports-svn > > I was really hoping that others would have more to say as well. My > chief concern is that unless I'm missing something there is no way to > provide checksums for the source files, correct? If that's true my gut > reaction is "no freakin' way" but I'm willing to listen to arguments > as to why this should be ok. > > I tend to agree with the other sentiments already expressed that in > cases where svn is the only way a project distributes its source that > maintainers ought to be putting together tarballs of specific > versions. I don't really see that this is an overwhelming burden, but > again I'm open to arguments as to why I might be wrong about this. OK - "I think you might be wrong about this" A classic example is the net/freeswitch port where the porter has done exactly what you say. (IMHO they've not done it in an optimal way but...) 1) It is not clear from the Makefile what version they are actually using. 2) It is indeed unclear from the Makefile what the provenance of the fetched tarball is at all. 3) It is very difficult for anyone other than the maintainer to create an update of the port either for local use or for submission of a patch. (and writing this I note that (4) the distfile location has dropped off the net) (1) and (2) could be _improved_ by more documentation in the Makefile and better choice of versioning scheme but 3 is fairly fundamental. What _I'd_ like to see is a development of a combination of "method 1" & "method 2" from the wiki page referenced above. Running "make fetch" would perform an svn export, and would generate a tarball from this in ${DISTDIR} named as ${PORTNAME}-${PORTVERSION}.t[gb]z. A maintainer can then upload this (or the ports distfile handling system at freebsd.org could even be modified to do this automagically) BUT it now exists on the users system which means that all the rest of the ports system including * _not_ refetching every time the port is built _unless_ the distfile has changed * the ability to checksum the (generated) distfile * (depending on the exact implementation of the new fetch target) the ability to fallback on fetching a distfile copy from ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/[distfile] works as for a "normal" port. However it is now: * transparent exactly what is being fetched. * easy to update the port to fetch a later version by a one line Makefile edit followed by "make makesum" as is the case for a "standard" port. (Obviously the editor of the Makefile needs to carry out checks to ensure that the PLIST doesn't need to be updated, or other changes made, to work with the updated revision - as for any other port update). -- Thomas Sandford