Reducing the size of the ports tree (brainstorm v2)

Alfred Perlstein alfred at
Sat Nov 1 04:22:24 UTC 2014

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
> 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.

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.


More information about the freebsd-ports mailing list