pkg-plist, +CONTENTS, make package, and the ports cluster

Kris Kennaway kris at
Mon Jan 29 00:06:51 UTC 2007

On Sun, Jan 28, 2007 at 05:25:56PM -0600, Jon Passki wrote:
> Hello,
> Ports such as mysql-server, apache22 and many others I've noticed  
> have a disconnect between pkg-plist entries and what actually gets  
> installed.  Some especially annoying components missed are etc/rc.d  
> scripts or in the case of gettext, a library file.  In the short term  
> I was going to create a PR for some of these ports.  My major  
> assumption, with variables enumerated,  a +CONTENTS file should be a  
> subset of a pkg-plist file.  With this, my basic approach was to diff  
> the +CONTENTS file from the build system and the +CONTENTS file from  
> the install via pkg_add system (ignoring comments, sample output  
> below).  Should these files be the same?  When would they not be  
> (again, stripping comments)?  This output could be used to check the  
> pkg-plist file, accepting that variables in the pkg-plist will need  
> to be enumerated.  Is this a decent method?
> In the long term, would this be something that makes sense for the  
> ports cluster to check on?  Are there situations where a port may  
> install something that a pkg-plist file should never record?

This is already checked and enforced using different means.  If you're
seeing differences, this is presumably for some other local reason.

In particular gettext, mysql-server and apache22 do not install extra
files or have missing files when built in a default freebsd

> diff -u /tmp/+CONTENTS_make_install_apache22 /tmp/ 
> +CONTENTS_make_package_apache22 | head
> --- /tmp/+CONTENTS_make_install_apache22        Sun Jan 28 21:52:47 2007
> +++ /tmp/+CONTENTS_make_package_apache22        Sun Jan 28 21:53:39 2007
> @@ -567,739 +567,16 @@
> @unexec rmdir %D/etc/apache22 2> /dev/null || echo "===> If you plan  
> to do not reinstall apache22, you can safely remove %D/etc/apache22."
> @exec /sbin/ldconfig -m /usr/local/lib
> @unexec /sbin/ldconfig -R
> -share/doc/apache22/LICENSE
> -share/doc/apache22/NOTICE
> -share/doc/apache22/bind.html
> -share/doc/apache22/

I am unable to replicate this: the apache22 port does not install
these files on my system.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url :

More information about the freebsd-ports mailing list