From owner-freebsd-ports@FreeBSD.ORG Wed Sep 3 10:07:58 2014 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1330275F; Wed, 3 Sep 2014 10:07:58 +0000 (UTC) Received: from mail-wi0-x22c.google.com (mail-wi0-x22c.google.com [IPv6:2a00:1450:400c:c05::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 786891E55; Wed, 3 Sep 2014 10:07:57 +0000 (UTC) Received: by mail-wi0-f172.google.com with SMTP id n3so563487wiv.17 for ; Wed, 03 Sep 2014 03:07:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=9THdwxUmL4rKlGh/8urMWyzDigTVMYWb9D8OOVxz9LU=; b=QoJwAHsm+abpfPkgy0Sy+EJqa1aQixiTk6esCU5x/cOcxQCus92xSN/s8CdFwJ/TR3 LvJ8q+4Q/YAYOWDdmJ0cU3DzfBywm1somG1gPwfbaWZjylnnKNx/rSk7Xv9kaAwyXS9X g0SJHEHeK8PBg8c9EpStkY7zF1Httveqbyj6ItPU/IVmTRNFt7ft0loBFfwVR7qOG7Q0 4PHWQTDqYyiOu3rbFT3X2J24ld6xA0oHRIMwZK1nBqRJHpRoExcbLnXRh+whvFowooGu icAK6HplOyk7UM2FJ0PhQ8MtPib5E37Mw5FESvzmMV0iRzhrxg/LjseWwX962acO0MAj 2pSw== X-Received: by 10.194.87.102 with SMTP id w6mr44674457wjz.24.1409738875764; Wed, 03 Sep 2014 03:07:55 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by mx.google.com with ESMTPSA id uk7sm14895888wjc.34.2014.09.03.03.07.53 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Sep 2014 03:07:53 -0700 (PDT) Sender: Baptiste Daroussin Date: Wed, 3 Sep 2014 12:07:51 +0200 From: Baptiste Daroussin To: Tijl Coosemans Subject: Re: [BRAINSTORMING] simplifying maintainer's life Message-ID: <20140903100751.GG63085@ivaldir.etoilebsd.net> References: <20140903082538.GE63085@ivaldir.etoilebsd.net> <20140903120144.5bfc3fde@kalimero.tijl.coosemans.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="6BvahUXLYAruDZOj" Content-Disposition: inline In-Reply-To: <20140903120144.5bfc3fde@kalimero.tijl.coosemans.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: ports@freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Sep 2014 10:07:58 -0000 --6BvahUXLYAruDZOj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Sep 03, 2014 at 12:01:44PM +0200, Tijl Coosemans wrote: > On Wed, 3 Sep 2014 10:25:39 +0200 Baptiste Daroussin w= rote: > > On of the most borring thing IMHO in the plist maintainance is all the > > directories. > >=20 > > I have been working on some evolutions I want to share and discuss befo= re > > making them official. > >=20 > > First you have to know that since pkg 1.3 @dirrm and @dirrmtry are > > equivalent. > >=20 > > Evolutions: > > 1/ stop prepending directories in plist with @dir*: let pkg discover > > the path correspond to a directory and handle it as such (easy) >=20 > Good. >=20 > > 2/ make pkg automatically remove directories under PREFIX without the > > need of adding them in plist, such as only empty directories and > > directories not under PREFIX will have to be listed. Of course pkg will > > not try to remove directories owned by another package. > >=20 > > To achieve the point 2 that will mean we will stop using the mtree > > inside packages and create a "hier" package that will have the default > > hierarchy and every package but pkg will depend on this hier package > > (except if PREFIX !=3D LOCALBASE) >=20 > I think you can avoid the hier package and thus the PREFIX !=3D LOCALBASE > problem. >=20 > Assume there are no packages with empty directories, then pkg can > always remove empty directories when deinstalling a package, because > no files in the directory means no package requires it. You don't need > a hier package in this case. >=20 > You can add support for packages with empty directories in two ways: > - Put a dummy file in the directory, e.g. .PKGNAME.keepme > (simple to implement, but maybe some packages really need the > directory to be empty or maybe they only expect a specific type of > files) > - Record something like .PKGNAME.keepme in the pkg db but don't > actually create that file. We do already support empty directories natively we do not need the .keep whatever and this works pretty well :) if a line in the plist is a directory (or @dirrm* ) then the directory is considered as owned by the package and always created My only problem is to still provide the default grobal hier in provided by BSD.local.dist (like etc/rc.conf.d etc/libmap.d etc) that said we have actu= ally only 4 empty directories all documented in the respective manpages from base where they are used, so yes probably I can just ignore the mtree at all Which makes the feature easy to implement then. In anycase I will limit auto removal to PREFIX (the one supplied when creat= ing the package) because base has its own mtree and I do not want to delete any empty directory from base at least until base is package itself. regards, Bapt --6BvahUXLYAruDZOj Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlQG6HcACgkQ8kTtMUmk6Ex2jACgj74RVUo3ZcP+z9TT7Eorb2Sr mIoAn2HJQNoz1wMWDGhtWs0uJHWXdmqc =WBqD -----END PGP SIGNATURE----- --6BvahUXLYAruDZOj--