Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Nov 2014 18:16:23 +0000
From:      RW <rwmaillists@googlemail.com>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 1 Nov 2014 00:07:23 +0100
Tijl Coosemans wrote:

> On Fri, 31 Oct 2014 19:56:21 +0100 Baptiste Daroussin
> <bapt@FreeBSD.org> 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 <<EOD
> > 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.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141102181623.463fff71>