From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id MFvTI0rB3WCZKAAAgWs5BA (envelope-from ) for ; Thu, 01 Jul 2021 15:21:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id YDxdH0rB3WCJCQAAbx9fmQ (envelope-from ) for ; Thu, 01 Jul 2021 13:21:14 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2C5A5A2D5 for ; Thu, 1 Jul 2021 15:21:14 +0200 (CEST) Received: from localhost ([::1]:52336 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lywcy-0007rf-R6 for larch@yhetil.org; Thu, 01 Jul 2021 09:21:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lywcp-0007qE-U8 for guix-patches@gnu.org; Thu, 01 Jul 2021 09:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:48394) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lywco-0001tm-Dc for guix-patches@gnu.org; Thu, 01 Jul 2021 09:21:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lywco-0001Fm-6x for guix-patches@gnu.org; Thu, 01 Jul 2021 09:21:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#49149] [PATCH 0/7] Add deb format for guix pack. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 01 Jul 2021 13:21:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 49149 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Maxim Cournoyer Cc: 49149@debbugs.gnu.org Received: via spool by 49149-submit@debbugs.gnu.org id=B49149.16251456554785 (code B ref 49149); Thu, 01 Jul 2021 13:21:02 +0000 Received: (at 49149) by debbugs.gnu.org; 1 Jul 2021 13:20:55 +0000 Received: from localhost ([127.0.0.1]:59940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lywcg-0001F6-S4 for submit@debbugs.gnu.org; Thu, 01 Jul 2021 09:20:55 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47336) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lywcf-0001Eu-Ph for 49149@debbugs.gnu.org; Thu, 01 Jul 2021 09:20:54 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50628) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lywca-0001i0-An; Thu, 01 Jul 2021 09:20:48 -0400 Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=36604 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lywca-0003Yv-0i; Thu, 01 Jul 2021 09:20:48 -0400 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20210621061039.31557-1-maxim.cournoyer@gmail.com> <87eecsuv85.fsf@gnu.org> <87k0mcv9wh.fsf_-_@gmail.com> <87bl7npvbg.fsf@gnu.org> <87wnqb483r.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 13 Messidor an 229 de la =?UTF-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 01 Jul 2021 15:20:46 +0200 In-Reply-To: <87wnqb483r.fsf@gmail.com> (Maxim Cournoyer's message of "Wed, 30 Jun 2021 12:42:32 -0400") Message-ID: <87pmw2kw5t.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1625145674; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:resent-cc: resent-from:resent-sender:resent-message-id:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=Y+8DVnUZh/a7eFCmthKc0BicxTEAAo5ZVYSzCkdA9V4=; b=LCBo2RxTwLuVbYhuSwDsXi7iLvj8mPhSUBaY1thj7Thc05rc2iTP7QODnXxKukd2gD1xcp GJI1FjDS5+V2Z6kSZrmCjFlWEM+K2sdfQrxdBxcrLk39uM1JzAaHQn3lGW0EBzXBF6hl8g fKjwvNAlTUVbXJUox7cQtpIv0IlCzKoBBMc1xY9TcFlOtjlzqguOg/lYakUZ2c1c4prSMm 3VWgd/gMbgpmdxFCVi/1b96d4wj2HaF/HSLREJE+jfbjKVm/2e1eUmUC9txoYe6GjMmVmf Zsn/+MGDhFqPaT2M7DoaN60y/EdX7XrXBZMuhCnjK4N0Eb5XP2LeQ+S7mqF0Rw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1625145674; a=rsa-sha256; cv=none; b=dd48/BqzkYhemUgsTCQCXVTMJIJOOn+3z2NhfX0HFwnx1UeWPTuU/nX548lxIMfggK8vII WCsZUMF7z0n04uSwB3jrzNwTqjd0Sv9+jeJ60hSLc/1NXE3ohHFl4O6ezAfcZsLl+8pZFY L9QufNwzeORverZPNqRro22iWiHia5XTLfdIE0ekEKOpmdtchXiZBIStI1OVaGD7Qfv1eR qfjxrsYJk2/xzIW5UfpB02m6slrV+TI5V2bGScO5HIW2VGekn5EA5oBbMwpyYmUjMCvBBS fja3fegrxkPaursNOS9JXJE1dXQ30l+YpnDoxLxocXNLXwHVnyrumsMeYbEeTg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -2.92 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 2C5A5A2D5 X-Spam-Score: -2.92 X-Migadu-Scanner: scn0.migadu.com X-TUID: Z5ZhsoNUEVXL Hello, Maxim Cournoyer skribis: >> Will that overwrite things in /gnu/store? >> >> Admittedly it makes little sense to do something like this, but that=E2= =80=99s >> something one could do. > > It probably would conflict with what is already in the store (installed > by guix) and abort installation, guarding against this. OK. >>> Given you can't install two conflicting packages, the issue of removing >>> the files of another package cannot arise. In practice that means that >>> the current implementation of 'guix pack -f deb' would only allow >>> installing *one* such .deb package on a system at a time (most >>> applications will carry the glibc and thus conflict for example). >> >> I see. So the main value over =E2=80=9Csudo tar xf=E2=80=9D is that dpk= g knows which >> files were installed, right? > > That's one good advantage (the ease of cleanly uninstalling the .deb), > but for me the main one is the ability to plug it in already established > distribution channels (such as a 3rd party apt repository) and have it > available (and updatable) easily for their users. Right. Though setting up an apt repo is quite a lot of work. Also, would upgrading the Guix-generated package work? I suppose apt would wipe /gnu/store of the former package and then unpack the new package, right? > A real world use case I've been playing with is to have the jami-qt > package that is painstakingly built for each flavor of the leading > Deb-based distributions and available for example in various > repositories [0] built once via 'guix pack -f deb' and made available in > the same way. That'd remove the need to wrestle with OS-specifics, and > make the build (and hopefully the bugs) reproducible while preserving > the established and reliable distribution channel. Nice! That=E2=80=99s an interesting use case. > I hope this is way of doing things is obsoleted one day when Guix can be > hooked in the GNOME software "store" the same as snaps or flatpaks can, > so that users don't need to know how the command line to benefit from > the advantages provided by Guix. True, having Guix as one of the app bundle options for GNOME Software would be nice. >>> For a multi deb-pack scenario, we could have each .deb install their own >>> files under for example /opt/guix/deb-packs/$name/gnu/store... via the >>> relocatable option. >> >> Hmm yeah, though it doesn=E2=80=99t sound pretty. > > In general, I find that 'guix pack's take a step away from elegance in > exchange for convenience, so that doesn't sound too terrible in that > context (it'd actually be easier to manage than a multi-tarball guix > packs deployment, for example, especially when comes the time to reclaim > some disk space). Yes, I agree that we need to be pragmatic here. :-) Work on layered Docker images, notably by Chris Baines=C2=B9, could perhaps be handy here. Or, actually, one option would be for =E2=80=98guix pack -f deb=E2=80=99 to= generate one .deb file per store item. Does that sound reasonable?=E2=80=A6 Thanks, Ludo=E2=80=99. =C2=B9 https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00299.html