From owner-freebsd-ports@FreeBSD.ORG Thu Feb 1 23:35:38 2007 Return-Path: X-Original-To: ports@FreeBSD.org Delivered-To: freebsd-ports@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3646616A408 for ; Thu, 1 Feb 2007 23:35:38 +0000 (UTC) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (xorpc.icir.org [192.150.187.68]) by mx1.freebsd.org (Postfix) with ESMTP id 0F51A13C4B5 for ; Thu, 1 Feb 2007 23:35:37 +0000 (UTC) (envelope-from rizzo@icir.org) Received: from xorpc.icir.org (localhost [127.0.0.1]) by xorpc.icir.org (8.12.11/8.13.6) with ESMTP id l11NZbLa087237; Thu, 1 Feb 2007 15:35:37 -0800 (PST) (envelope-from rizzo@xorpc.icir.org) Received: (from rizzo@localhost) by xorpc.icir.org (8.12.11/8.12.3/Submit) id l11NZbhg087236; Thu, 1 Feb 2007 15:35:37 -0800 (PST) (envelope-from rizzo) Date: Thu, 1 Feb 2007 15:35:37 -0800 From: Luigi Rizzo To: Stanislav Sedov Message-ID: <20070201153537.A86979@xorpc.icir.org> References: <20070201110345.A83474@xorpc.icir.org> <20070202015414.1cd70d3d.stas@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20070202015414.1cd70d3d.stas@FreeBSD.org>; from stas@FreeBSD.org on Fri, Feb 02, 2007 at 01:54:14AM +0300 Cc: ports@FreeBSD.org Subject: Re: proper way to do a recursive install ? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Feb 2007 23:35:38 -0000 On Fri, Feb 02, 2007 at 01:54:14AM +0300, Stanislav Sedov wrote: > On Thu, 1 Feb 2007 11:03:45 -0800 > Luigi Rizzo mentioned: > > > > #--- this is pkg-plist 000 > > @exec mkdir -p %D/share/linux-bsd-kmod > > @exec echo "installing into %D/share/linux-bsd-kmod" > > @unexec echo "uninstalling into %D/share/linux-bsd-kmod" > > @unexec rm -rf %D/share/linux-bsd-kmod > > > > That seems to me to be not particulary good. That way you'll delete > files installed by user into ${PREFIX}/share/linux-bsd-kmod/ by hand. > It's not good to deinstall files not installed but port, as the one of > the major properties of ports system to not touch the target file > system at all. in this particular case the intention is to have a directory which is private for a port and not supposed to be manipulated by others. At least, that's the requirement of my application - i don't want that someone installs a file in linux-bsd-kmod/linux_compat/asm/videodev.h that will hide linux-bsd-kmod/linux_compat/asm/videodev.h So conflict detection should be at the subtree level instead of being at the file level. And this is trival to implement - checksum the entire subtree after the install, and verify the checksum before deleting. > There're also several reasons we prefer static pkg-plists over > dynamics. For the first, we has a lot of tools that deals with > pkg-plists so we can gather some information based on ports pkg-plists again - for small number of entries, this is perfectly fine. But when a port installs over 500 files as in one of the examples, managing information at the file level seems too fine grained. > automatically. The second reason - you can't be certainly sure that the > port will behave on the user's systems the same way as on your own. yes but... > Having static plists this behaviour can be checked and ensured that > all files was installed. and that's the only thing that this tells you, which is not the same as 'behave as on the other system'. it depends on a case-by-case basis. anyways - i can live with a pkg-plist generated at install time and listing individual files, for deinstall purposes. But I don't think it is always expresses the integrity requirements that the application has (see the inclusion problem above). cheers luigi