Why does everybody switch to dynamic plists?

Brooks Davis brooks at one-eyed-alien.net
Fri Jan 21 12:18:26 PST 2005


On Fri, Jan 21, 2005 at 08:52:02PM +0100, Alexander Leidinger wrote:
> Hi,
> 
> can someone please tell me why people enjoy to use dynamic plists, even
> when there was a static plist already?
> 
> With a dynamic plist:
>  - We lose the ability to search for files which aren't installed.
>    (useful for users)
>  - We lose the ability to determine if a particular port contains what
>    we search.
>    (useful for users)
>  - We lose the ability to check just with grep if two ports install
>    conflicting files (in case we get a report of a conflict it's very
>    nice to not need to install a port to verify the conflict).
>    (useful for users and port developers)

All of these could easily be handled by storing the generated plists
from the ports cluster.  That would also handle PLIST_FILE and
PLIST_DIRS which I use a lot for small ports.

>  - We lose the ability to use portlint to check the plist (if the
>    maintainer checks the generated one he just can use a static plist).
>    BTW.: Does portlint know how to check the embedded plist (the
>    Makefile variables)?
>    (useful for port developers)

I'm not fully convinced this is a minus.  I don't think portlint has
ever round a real issue in my plist, but it sure spews lots of marginal
warnings related to config file and state directory handling (in a large
portion of my ports I have to create directories I may not be able to
delete so I have to use the @unexec rmdir trick.  Many programs also
need directories in /var.)

>  - We lose the ability to maybe answer support requests without the need
>    to install the software.
>    (useful for "the frontliners")

Building a database from package cluster output would probably be more
useful here as well.

>  + We don't need to take care if the plist changes.
>    (useful for port developers)

I think the fact that you can't forget to update a plist that doesn't
exist is quite useful.

> I count 1 positive and 5 negative aspects.
> 
> If the developer of a port puts the dynamic plist generation into a
> Makefile target instead of inlining it into the build/install process,
> he doesn't needs to put alot more effort into the development process
> (just one "make <generate-the-plist-target>") and gets the benefits of
> static plists too.
> 
> Maybe I've overlooked something, but so far I haven't seen a dynamic
> plist which needs to be a dynamic one. So I think at least 99% of our
> dynamic plists don't need to be dynamic.

I don't have enough time to maintain my small set of ports as well as
I'd like.  Using dynamic plists save me time and is one less thing to
forget to do.  I think you raise some real issues, but I think we'd be
better off letting machines do this work.  It's tedious, error prone,
and often trivial to automate.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20050121/e421616a/attachment.bin


More information about the freebsd-ports mailing list