GNU bug report logs - #43061
freedink package is needlessly complex

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Jesse Gibbons <jgibbons2357@HIDDEN>; dated Wed, 26 Aug 2020 16:56:02 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 43061 <at> debbugs.gnu.org:


Received: (at 43061) by debbugs.gnu.org; 28 Aug 2020 14:07:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Aug 28 10:07:42 2020
Received: from localhost ([127.0.0.1]:47026 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kBf2c-0000ZJ-BH
	for submit <at> debbugs.gnu.org; Fri, 28 Aug 2020 10:07:42 -0400
Received: from eggs.gnu.org ([209.51.188.92]:36580)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1kBf2b-0000Yz-4l
 for 43061 <at> debbugs.gnu.org; Fri, 28 Aug 2020 10:07:41 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:58907)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1kBf2V-0003Jy-VK; Fri, 28 Aug 2020 10:07:35 -0400
Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=49282 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1kBf2V-00054j-Hx; Fri, 28 Aug 2020 10:07:35 -0400
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Jesse Gibbons <jgibbons2357@HIDDEN>
Subject: Re: bug#43061: freedink package is needlessly complex
References: <5dadebde-37e5-ce5e-6107-8e45dfeefa8d@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 12 Fructidor an 228 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: Fri, 28 Aug 2020 16:07:34 +0200
In-Reply-To: <5dadebde-37e5-ce5e-6107-8e45dfeefa8d@HIDDEN> (Jesse Gibbons's
 message of "Wed, 26 Aug 2020 10:55:10 -0600")
Message-ID: <871rjqq2xl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 43061
Cc: 43061 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Jesse,

Jesse Gibbons <jgibbons2357@HIDDEN> skribis:

> If anyone knows why freedink is packaged the way it is and thinks it
> is better that way, I want to know your reasons before I begin to
> attempt to fix this issue, because those reasons could lead me to a
> different approach.

I reviewed the initial submission and tweaked it afterwards but=E2=80=A6 I =
don=E2=80=99t
remember.

However, if you propose a patch to improve the situation, I=E2=80=99ll glad=
ly
apply it.  How does that sound?  :-)

Thanks,
Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#43061; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 26 Aug 2020 16:55:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 26 12:55:26 2020
Received: from localhost ([127.0.0.1]:40635 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kAyhq-0005p0-2b
	for submit <at> debbugs.gnu.org; Wed, 26 Aug 2020 12:55:26 -0400
Received: from lists.gnu.org ([209.51.188.17]:45674)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jgibbons2357@HIDDEN>) id 1kAyhl-0005oh-4b
 for submit <at> debbugs.gnu.org; Wed, 26 Aug 2020 12:55:21 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:57226)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <jgibbons2357@HIDDEN>)
 id 1kAyhj-0000rS-QH
 for bug-guix@HIDDEN; Wed, 26 Aug 2020 12:55:20 -0400
Received: from mail-pf1-x430.google.com ([2607:f8b0:4864:20::430]:40624)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <jgibbons2357@HIDDEN>)
 id 1kAyhg-0002yY-UE
 for bug-guix@HIDDEN; Wed, 26 Aug 2020 12:55:19 -0400
Received: by mail-pf1-x430.google.com with SMTP id k18so1277238pfp.7
 for <bug-guix@HIDDEN>; Wed, 26 Aug 2020 09:55:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=to:from:subject:message-id:date:user-agent:mime-version
 :content-transfer-encoding:content-language;
 bh=oirC6NXR7BzyDbPIFtiOdPMEIAatg2XFAl3d40RQg9Y=;
 b=OUKIGNzGKiuE8gzekfmRmrSoL5DGpG1gttCrAmykFO7FO+iRaKVbrDqqoTAI0v19aI
 AjZVQpOIj+ndKcvyfcDUtJ6bcUhX2GOxIarv0WG0tPoOo2BiIclIB7AKlLEsXHp1uwr/
 vzeFCmieLpqULMkw/2PPcTbpnzNnfQDKIWRMWjQ6L95QjvNOlYVfxis7x+567zlUJpLD
 Pjvivc4c+CfXvnRkyi2sD3TKypEUDzN/XYs39wNC3zxhCPcLRrVlh0oATyH99Y45NtDa
 CYsB6QNEtvVjVIFHVkDpN5dLe2wAbv1jzXDY//zFtCwS4Bf6g8MUoMdAINGnKf5Z9u5h
 0Rgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:to:from:subject:message-id:date:user-agent
 :mime-version:content-transfer-encoding:content-language;
 bh=oirC6NXR7BzyDbPIFtiOdPMEIAatg2XFAl3d40RQg9Y=;
 b=e/2SbKJusQohdo6au2e9mRASPr4bedhhB8dkZAafgcsD+dBHMoYIcb56z22RIis5gZ
 X3UMSzx3g6Mzvt8WOs4W6KnXILx+bB/CxC53QASotZzP1UfxNF7obR8KtXpRM+u5ud5F
 mY5xZXoioyRkg8sDDxitPQBmMBqcdb6PnY0zETbB6DSjCXOIUBn0+PvVppmcZNbrKZxz
 Wcrjj/LnaxDaEFI6CrlO+G0dpZkShxpH3ZDEftUdCg/5B3p3asY/QCdbhqrbrr3Bp35q
 YM4VvoQfaix448LwKXkhTkjZBIBtDI/sdHy1hWI8U2ZcZkBPOKbvWTA8yCRIGynWMkt3
 gyfg==
X-Gm-Message-State: AOAM5300pVgkGq843DpRwm/VIey2bgpe5kOXcJSQn7PzWjyHK9C08Cxm
 T89cRTr+IrKySCy1sqMdOG0uMysG0RKBRw==
X-Google-Smtp-Source: ABdhPJzdoWy36VcFDB2/syLkhBQ7lfdQIDy01tvmZWyGGKYFCeDJ6Yed/Z00uNC6STmRmpN2hxag+g==
X-Received: by 2002:a63:60e:: with SMTP id 14mr11028767pgg.343.1598460913948; 
 Wed, 26 Aug 2020 09:55:13 -0700 (PDT)
Received: from [192.168.1.25] ([38.141.58.134])
 by smtp.gmail.com with ESMTPSA id d4sm2572534pju.56.2020.08.26.09.55.12
 for <bug-guix@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 26 Aug 2020 09:55:13 -0700 (PDT)
To: bug-guix@HIDDEN
From: Jesse Gibbons <jgibbons2357@HIDDEN>
Subject: freedink package is needlessly complex
Message-ID: <5dadebde-37e5-ce5e-6107-8e45dfeefa8d@HIDDEN>
Date: Wed, 26 Aug 2020 10:55:10 -0600
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Icedove/68.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: en-US
Received-SPF: pass client-ip=2607:f8b0:4864:20::430;
 envelope-from=jgibbons2357@HIDDEN; helo=mail-pf1-x430.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
 That's all we know.
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.2 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.1 (--)

TL;DR The freedink package is defined in a complex way that breaks 
guix's custom source build features and the GUI wrapper.

The freedink package wraps the freedink-engine and freedink-data 
packages so the resulting executable bin/freedink runs the freedink 
engine pointed at the output of freedink-data. The wrapped packages are 
not exported from gnu/packages/games.scm. Because of these two design 
choices,

-> guix build --sources=all freedink does not list the freedink-data source.

-> the only way to get the freedink-data source is to run guix build 
--sources=transitive freedink. This is not ideas because it gets the 
source for bash as well.

-> "guix build --with-source=freedink-data=..." has no effect on 
freedink, so guix cannot be used to facilitate freedoms 1 and 3 with 
freedink, unlike most other packages. To be clear,  freedoms 1 (to 
modify the software) and 3 (to distribute the modified software) are not 
violated, but a very nice feature of guix that makes them less complex 
does not work with freedink. To achieve a guix install or pack of 
freedink as it is currently defined with custom sources and/or data, one 
must define new freedink packages, which is more work than one or two 
simple command-line flags.

-> freedink-dfarc does not find "dinkedit" or "dink", which are links to 
binaries built in freedink-engine. Once again, freedoms 1 and 3 are a 
little more difficult to exercise than reasonably expected given what 
guix provides, but not violated. To point freedink-dfarc to the correct 
binaries, one must copy the store location in the wrapper script 
produced by freedink. Obviously, this store location will not 
automatically be updated when freedink-engine is upgraded.

-> Because the wrapper hard-codes a location to look for the data, I 
suspect (but have yet to confirm) that an attempt to use freedink-dfarc 
to build a modified version of freedink will ultimately throw an error.

There must be a way to re-package freedink such that:

1) It works with the custom source build features provided by guix.

2) The guix wrapper freedink-dfarc is neither necessary for running 
freedink, nor broken when used to run freedink.

The solution could be as simple as publicly exposing freedink-engine and 
freedink-data, and redefining the freedink package to simply take the 
two packages as inputs and produce a wrapper script. The script should 
probably have a name other than "freedink" or "dink" so all three 
packages can optionally co-exist in the same profile without a name 
conflict. I will try this solution and send a patch if it passes the 
following tests:

-> The sources for all freedink-related packages can be produced with 
"guix build --source" or "guix build --sources=all"

-> all freedink-related packages can be installed and packed with 
modified local sources specified by --with-source

-> installing freedink does not add anything to the profile other than a 
wrapper script.

-> There is no name conflict between the executables provided by 
freedink-engine and freedink

If anyone knows why freedink is packaged the way it is and thinks it is 
better that way, I want to know your reasons before I begin to attempt 
to fix this issue, because those reasons could lead me to a different 
approach.

I suspect freedink is not the only package with these issues.

-Jesse





Acknowledgement sent to Jesse Gibbons <jgibbons2357@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#43061; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 28 Aug 2020 14:15:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.