On Fri, 31 Oct 2014 19:56:21 +0100 Baptiste Daroussin <b...@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 > > 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. pkg-descr and pkg-plist will be around for a while I think but maybe pkg could support an alternative syntax that is similar to the manifest file included in the package. This file (named Manifest maybe?) would include a comment, description, install/deinstall scripts and a list of files and directories like this (copied from https://github.com/freebsd/pkg): comment: Short package description desc: |- Long package description goes here www: http:///www.example.com/ files: |- bin/foo lib/bar dirs: |- some/dir scripts: post-install: |- #!/bin/sh echo post-install pre-install: |- #!/bin/sh echo pre-install _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"