From owner-freebsd-ports@FreeBSD.ORG Sun Nov 2 18:16:29 2014 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7F4F37C0 for ; Sun, 2 Nov 2014 18:16:29 +0000 (UTC) Received: from mail-wi0-x22b.google.com (mail-wi0-x22b.google.com [IPv6:2a00:1450:400c:c05::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1736C165 for ; Sun, 2 Nov 2014 18:16:28 +0000 (UTC) Received: by mail-wi0-f171.google.com with SMTP id q5so4805993wiv.10 for ; Sun, 02 Nov 2014 10:16:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=date:from:to:subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; bh=hGuN/h8c7RJXg6/DCISiQA/hnqAScBioN1VU5NLqdRM=; b=vQn0+DYEsmsYSTCyqxorjfUof+dQcobOHw0YFi+5p7X3BLUoLYt5v998ocfQffiBvD Rl74veMbjr08v9mxbsnaf1v5UDOnoXRe651uK3kaWYx9xWKddu5KnSpRiCVZMa+6Ivgt q4t0vj5BHuLBrQCjNU7veWDfYxOHaijrjBbdSwtwV+siBCH2QendXZ/HWjNIogQSvzTQ diSqx1kaJ/cjUMXtLBUxagIkaPlpHupU4UWwDr0iNK+oaV7yEU4xTn5RIfLEJ8NiE8PK ds0px/+FSbwgMdTAoRb3liev0eov5ZqF2UyGutwzdBEoRWEJrz0Dcx0BaOJti6AKps1f 0+2g== X-Received: by 10.194.157.137 with SMTP id wm9mr42941179wjb.5.1414952187190; Sun, 02 Nov 2014 10:16:27 -0800 (PST) Received: from gumby.homeunix.com (5ec1f671.skybroadband.com. [94.193.246.113]) by mx.google.com with ESMTPSA id t9sm19420671wjf.41.2014.11.02.10.16.25 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 02 Nov 2014 10:16:26 -0800 (PST) Date: Sun, 2 Nov 2014 18:16:23 +0000 From: RW To: ports@freebsd.org Subject: Re: Reducing the size of the ports tree (brainstorm v2) Message-ID: <20141102181623.463fff71@gumby.homeunix.com> In-Reply-To: <20141101000723.782768a3@kalimero.tijl.coosemans.org> References: <20141031185621.GC15967@ivaldir.etoilebsd.net> <20141101000723.782768a3@kalimero.tijl.coosemans.org> X-Mailer: Claws Mail 3.11.0 (GTK+ 2.24.22; amd64-portbld-freebsd10.0) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Nov 2014 18:16:29 -0000 On Sat, 1 Nov 2014 00:07:23 +0100 Tijl Coosemans wrote: > On Fri, 31 Oct 2014 19:56:21 +0100 Baptiste Daroussin > wrote: > > Hi all, > > > > tijl@ spotted an interesting point, distinfo and pkg-descr files > > files convenient are taking a lot of space for "free", we can > > reduce the size of the while ports tree by a factor 2 by simply > > merging them into one of the other files (Makefile and/or > > pkg-plist) from my testing it really devides significantly the size > > of the tree. > > > > Problem is how to merge them if we want to. > > > > What we do not want to loose: > > - Easyness of parsing distinfo > > - Easyness to get informations about the description > > I think it's worth remembering that this saves an amount of storage that can be had for around 1 penny/cent. The threshold for this being more trouble than it's worth is pretty low. > > so far I have not been able to figure out a user friendly way > > > > Ideas I got so far only concerns pkg-descr: > > Adding an entry in the Makefile for the WWW: > > WWW= bla > > or an entry in the plist: @www http... > > > > for the description the Makefile is not suitable as multi line > > entry in Makefiles are painful > > Maybe a new keyword: > > @descr < > mydesc > > in > > multiline > > EOD > > > > which could easily be added to the plist parser in pkg. But I'm do > > not find that very friendly in particular for make(1) to extract > > the data. > > > > Concerning the distinfo I have no idea. > > > > so this mail is a call of ideas :), if nothing nice ideas is found > > we will just do nothing here :) > > For distinfo I was thinking about something like this in the Makefile: > > DIST_FILES= FOO BAR > > FOO_FILE= foo-1.0 > FOO_SITES= http://www.example.com/foo/ > FOO_SIZE= 12345 > FOO_SHA256= 0123456789abcdef..... > > BAR_FILE= bar-2.0 > BAR_SITES= http://www.example.com/bar/ > BAR_SIZE= 54321 > BAR_SHA256= .....fedcba9876543210 > > If bsd.port.mk then contained this: > DIST_FILES?= DIST > DIST_FILE?= > ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX} > > Then for ports with a single distfile named after PORTNAME (the large > majority), the above would reduce to: > > DIST_SITES= http://www.example.com/foo/ > DIST_SIZE= 12345 > DIST_SHA256= 0123456789abcdef..... > > Also, if BAR_SITES is the same as FOO_SITES you can use somthing like > BAR_SITES=${FOO_SITES} of course. distviper and portsclean -D access all the distinfo files in the tree. They could be heavily slowed if that information had to be got through make targets.