Date: Sat, 15 Jan 2005 08:12:06 +1100 From: Edwin Groothuis <edwin@mavetju.org> To: Kirill Ponomarew <krion@voodoo.oberon.net> Cc: freebsd-ports@freebsd.org Subject: Re: HEADS UP: pkg-plist strict enforcement starting Message-ID: <20050114211206.GF1175@k7.mavetju> In-Reply-To: <20050114112918.GF69532@voodoo.oberon.net> References: <20050113062739.GA28658@xor.obsecurity.org> <Pine.LNX.4.44.0501131148520.25402-100000@pancho> <20050113180504.GA26064@xor.obsecurity.org> <20050114130404.250d6e26@apircalabu.dsd.ro> <20050114112918.GF69532@voodoo.oberon.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jan 14, 2005 at 12:29:18PM +0100, Kirill Ponomarew wrote: > On Fri, Jan 14, 2005 at 01:04:04PM +0200, Adi Pircalabu wrote: > > > I'm going to be careful about not allowing the "questionable" packages > > > to fall foul of the pkg-plist checking, until we decide one way or the > > > other whether they should be considered "broken". > > > > This is a tricky situation from my point of view. I'm following this > > thread with a lot of interest since I'll be managing a port which CAN > > NOT honor pkg-plist strict checking. Here are few details: > > > > - The configuration files are created and heavily modified at install > > time from .dist files, will be modified as needed and should not be > > deleted at uninstall - the configuration should be kept for a later > > upgrade. This will definitely break "make install deinstall" on the > > packages cluster, but the files are required since they must contain > > information about various modules and plugins of the port, and this > > information must be written through a daemon started at post-install. > > You can try cmp(1) in pkg-plist to compare configurations files. > Take a look at ports collection, there are enough examples. Maybe we need two additional @ commands for pkg-plist: - @dirrmifempty foo/bar does do what "@unexec rmdir %D/foo/bar 2>/dev/null || true" does. - @rmifdifferent foo/bar foo/baz does do what "@unexec cmp %D/foo/bar %D/foo/baz && rm %D/foo/bar" does. This way we - have an easy and consistent syntax for a difficult command - have less chance for errors (forgetting %D, && instead of ||) Comments? Edwin -- Edwin Groothuis | Personal website: http://www.mavetju.org edwin@mavetju.org | Weblog: http://weblog.barnet.com.au/edwin/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050114211206.GF1175>