From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dX4bF-0002wk-8Y for guix-patches@gnu.org; Mon, 17 Jul 2017 07:54:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dX4bC-0004iA-5W for guix-patches@gnu.org; Mon, 17 Jul 2017 07:54:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:40617) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dX4bC-0004hx-1s for guix-patches@gnu.org; Mon, 17 Jul 2017 07:54:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dX4bB-0001ui-RF for guix-patches@gnu.org; Mon, 17 Jul 2017 07:54:01 -0400 Subject: [bug#27675] [PATCH] gnu: kbd: Recursively search $LOADKEYS_KEYMAP_PATH. Resent-Message-ID: From: Tobias Geerinckx-Rice References: <20170713003425.31282-1-me@tobias.gr> <87poczctc8.fsf@gnu.org> <383b1065-2c96-4982-2fc1-92b356a50838@tobias.gr> <87d18z9vks.fsf@gnu.org> Message-ID: <193d8037-1817-bca7-231b-b58a8cbddb99@tobias.gr> Date: Mon, 17 Jul 2017 13:54:48 +0200 MIME-Version: 1.0 In-Reply-To: <87d18z9vks.fsf@gnu.org> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="lxConaGjMlTwXa0Kgi2JQbm9RUb9VvcJN" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: ludo@gnu.org, 27675@debbugs.gnu.org This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --lxConaGjMlTwXa0Kgi2JQbm9RUb9VvcJN Content-Type: multipart/mixed; boundary="b5CVFcXwJkUJgdnWWmIh5l5iHNFdKr0lS"; protected-headers="v1" From: Tobias Geerinckx-Rice To: ludo@gnu.org, 27675@debbugs.gnu.org Message-ID: <193d8037-1817-bca7-231b-b58a8cbddb99@tobias.gr> Subject: Re: [bug#27675] [PATCH] gnu: kbd: Recursively search $LOADKEYS_KEYMAP_PATH. References: <20170713003425.31282-1-me@tobias.gr> <87poczctc8.fsf@gnu.org> <383b1065-2c96-4982-2fc1-92b356a50838@tobias.gr> <87d18z9vks.fsf@gnu.org> In-Reply-To: <87d18z9vks.fsf@gnu.org> --b5CVFcXwJkUJgdnWWmIh5l5iHNFdKr0lS Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable [Sent to the list this time. Replying is hard.] Ludo', I don't think there's anything to =E2=80=98fix=E2=80=99 here. On 17/07/17 13:00, Ludovic Court=C3=A8s wrote: > I mean, it works because it turns out that we pass those ** to Bash,=20 > which does the right thing. But that's not true: /* Search a list of directories and directory hierarchies */ for (i =3D 0; dirpath[i]; i++) { recdepth =3D 0; dl =3D strlen(dirpath[i]); /* trailing stars denote recursion */ while (dl && dirpath[i][dl - 1] =3D=3D '*') dl--, recdepth++; (src/libkeymap/findfile.c:269). > However, a search-path specification is supposed to be > understandable internally by =E2=80=98evaluate-search-paths=E2=80=99 Erk. So you're saying Guix tries to do clever things (beyond separator concatenation) to search-paths before exporting them? That won't work. If that is the case, we'll have to use something other than search-paths for kbd (and any packages that interpret things like =E2=80=98*=E2=80=99 = themselves, without a shell). But again, at least in the installer image, LOADKEYS_KEYMAP_PATH is properly untouched as far as I've tested. > The ** expansion would not happen in contexts where Bash is not > involved, which is not great. Bash isn't involved at all in this case: "/**" is a signal to loadkeys itself to recurse. I think that's where the confusion comes from. Kind regards, T G-R --b5CVFcXwJkUJgdnWWmIh5l5iHNFdKr0lS-- --lxConaGjMlTwXa0Kgi2JQbm9RUb9VvcJN Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQFBBAEBCgArFiEEeqzfDJ8DWw5d4xcqkczbm0hUG5kFAllspYgNHG1lQHRvYmlh cy5ncgAKCRCRzNubSFQbmenoB/9B+stIKM6bzMLhkOhiGUbueAEAmxyHy3zvKmwN e1JnByGW8pJbcJVhUXcjDoERYFUNKOYXYLjUgIYzznW93hOWKNZsd6tHsCwr9xen uyIRkyp5m8l8meSd36XPm+gPdSGcvvpN0B6d8+OPpOC2JaE4k3N8p3P6IptyJspX 7llx0LmtZuIr4NHYuoTCMD+RvUlbPmbBqJgFs9yuUxg48KAww955ASR7bP0TvUPV xdzMwWs0GzHZcq98jlRlf/QOQ2R3+M+WDM6NXtgryiSZqNIOBwhqttdwLbaBoIsn 3s8CjyWiROoEjyRfis0Wobgbt2elRVEv66Zh1jSc7mVE4TyZ =gZay -----END PGP SIGNATURE----- --lxConaGjMlTwXa0Kgi2JQbm9RUb9VvcJN--