From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: Superseded packages Date: Sat, 10 Sep 2016 13:25:14 -0400 Message-ID: <20160910172514.GA28562@jasmine> References: <20160904021256.GA21539@jasmine> <874m5vvmi8.fsf@we.make.ritual.n0.is> <20160904184416.GB29947@jasmine> <87d1kirc4r.fsf@gnu.org> <87vay8r9r3.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:51284) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bim21-0001PX-9V for guix-devel@gnu.org; Sat, 10 Sep 2016 13:25:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bim1w-0007a4-Vb for guix-devel@gnu.org; Sat, 10 Sep 2016 13:25:32 -0400 Content-Disposition: inline In-Reply-To: <87vay8r9r3.fsf_-_@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Ludovic =?iso-8859-1?Q?Court=E8s?= Cc: guix-devel@gnu.org On Tue, Sep 06, 2016 at 11:36:32PM +0200, Ludovic Courtès wrote: > Hi! > > ludo@gnu.org (Ludovic Courtès) skribis: > > > I had an idea to use a ‘superseded’ entry in ‘properties’ that would > > tell ‘guix package’ et al. to upgrade to the new package: > > > > (package > > (name "attic") > > ;; … > > (properties `((superseded . ,borg)))) > > This is now implemented both at the package lookup level and in ‘guix > package -u’ (the code is in 01afdab89c6a91f4cd05d3c4f4ff95a0402703eb and > an example is in 967cfd18f666f24ae9cbad14ea8e6921c10cba81): This is nice :) In 56ab55d1df I used it to properly replace the old letsencrypt package with certbot. In this case, I had already made letsencrypt inherit from certbot some months ago. I wanted letsencrypt users to get the latest version of the software from the EFF team, and presumably users have since fixed the breakage caused by the executable name change. Now, their profiles will finally stop including a letsencrypt package as they upgrade, and I plan to remove the letsencrypt variable completely after a couple more certbot releases. I think using this mechanism is appropriate in this case because letsencrypt / certbot are from the same team. Basically it's the same software, with 's/letsencrypt/certbot/g' applied to the codebase. I'm not sure about Attic / Borg. Superseding attic will break automation, although I did that when I made letsencrypt inherit from certbot. Also, the authors are different. Advice?