Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 21 Jan 2005 12:18:32 -0800
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        Alexander Leidinger <Alexander@Leidinger.net>
Cc:        ports@freebsd.org
Subject:   Re: Why does everybody switch to dynamic plists?
Message-ID:  <20050121201832.GB2866@odin.ac.hmc.edu>
In-Reply-To: <20050121205202.4092fc5a@Magellan.Leidinger.net>
References:  <20050121205202.4092fc5a@Magellan.Leidinger.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--eAbsdosE1cNLO4uF
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Jan 21, 2005 at 08:52:02PM +0100, Alexander Leidinger wrote:
> Hi,
>=20
> can someone please tell me why people enjoy to use dynamic plists, even
> when there was a static plist already?
>=20
> 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.
>=20
> 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.
>=20
> 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

--=20
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

--eAbsdosE1cNLO4uF
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFB8WOXXY6L6fI4GtQRAtcHAJoCK/RQcCi5aecOl5yGGRh0h2mNeQCghotx
TzHcV0g6R+yKS8uklH4ERys=
=MRB+
-----END PGP SIGNATURE-----

--eAbsdosE1cNLO4uF--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050121201832.GB2866>