Date: Fri, 31 Oct 2014 21:22:23 -0700 From: Alfred Perlstein <alfred@freebsd.org> To: freebsd-ports@freebsd.org Subject: Re: Reducing the size of the ports tree (brainstorm v2) Message-ID: <54545FFF.6070003@freebsd.org> In-Reply-To: <20141031185621.GC15967@ivaldir.etoilebsd.net> References: <20141031185621.GC15967@ivaldir.etoilebsd.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On 10/31/14, 11:56 AM, 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 > > 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 :) > > regards, > Bapt Have you asked sjg about enhancing our make(1) to make HEREDOCs inside makefiles cleaner/nicer? That would be best idea imo. Then you could get rid of multiple files and merge into makefiles. Maybe even eventually the patchfiles as well. I had some basic thoughts on this, one trick would be to do like perl(1)'s DATA section of scripts. http://stackoverflow.com/questions/13463509/the-data-syntax-in-perl Other option is to make a separate shar(1)-like file to contain all meta data and add targets to deterministically create/delete this file, this file could include patches, description, plist and everything. In fact it could contain the makefile itself... Just some random thoughts that may/may-not find useful. -Alfred
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54545FFF.6070003>