From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Darrington Subject: Re: [PATCH] gnu: Add asunder. Date: Sun, 25 Dec 2016 08:48:35 +0100 Message-ID: <20161225074835.GA9450@jocasta.intra> References: <20161217092040.3112-1-cmmarusich@gmail.com> <20161217092040.3112-2-cmmarusich@gmail.com> <20161217185621.GC1726@jasmine> <878trd7gmz.fsf@gmail.com> <87d1gj12nb.fsf@gmail.com> <20161223163640.GA8463@jasmine> <87mvfmnkin.fsf@gmail.com> <20161224070741.GA22948@jocasta.intra> <87mvfkn4se.fsf@gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="XsQoSWH+UP9D9v3l" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:37661) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cL3YF-0003wu-6h for guix-devel@gnu.org; Sun, 25 Dec 2016 02:49:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cL3YB-0006Tk-7W for guix-devel@gnu.org; Sun, 25 Dec 2016 02:49:03 -0500 Received: from de.cellform.com ([88.217.224.109]:51958 helo=jocasta.intra) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cL3YA-0006RQ-VO for guix-devel@gnu.org; Sun, 25 Dec 2016 02:48:59 -0500 Content-Disposition: inline In-Reply-To: <87mvfkn4se.fsf@gmail.com> 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: Chris Marusich Cc: guix-devel@gnu.org --XsQoSWH+UP9D9v3l Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Dec 24, 2016 at 06:03:45PM -0800, Chris Marusich wrote: Why is the wrapper not good here? What would be a better solution? =20 Here's why I think the wrapper produced by 'wrap-program' is a good solution in this case: =20 * The wrapper script allows us to package the software without modifyi= ng its source. As previously explained, Asunder is currently written und= er the assumption that the tools it requires will be made available via t= he PATH environment variable. =20 * The wrapper script guarantees "complete deployment" of Asunder (i.e., no missing dependencies). This is because the wrapper script contains references to the components in the store that provide the command-line tools that Asunder requires. =20 * The wrapper script requires less work than patching Asunder. =20 * The wrapper script is more robust than any patch we might attempt to apply to Asunder's source code. =20 This is a good argument for using a wrapper script in this case. And I believe these points apply to any component, like Asunder, which is written under the assumption that tools will be made available via PATH. I also am willing to believe there are cases where the wrapper script is undesirable, but I don't think this is one of them. =20 If there's a better way to package Asunder, I'm happy to do it. However, I haven't heard of any concrete alternatives, or any concrete explanations of why a wrapper is undesirable. Until then, I think usi= ng a wrapper like this to package components like Asunder is the best way. =20 I think all your arguments are valid, and I am not disagreeing with you. I am merely presenting a counter argument for you to consider. My problem with wrappers is that 1) it makes it difficult for a users to override environment variables, if they want to for some reason. 2) programs which the user expects to be a binary are in fact an shell=20 script, adding a layer of confusion. Just my $0.02. J' --=20 Avoid eavesdropping. Send strong encrypted email. PGP Public key ID: 1024D/2DE827B3=20 fingerprint =3D 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. --XsQoSWH+UP9D9v3l Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlhfedMACgkQimdxnC3oJ7PrbACdHE8GxW4zz6dPNbTk0kS/VP02 S2UAn3ai8w1gQ2lCF5hj+1FydEn5Lg4Q =/0hi -----END PGP SIGNATURE----- --XsQoSWH+UP9D9v3l--