From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Alexandrov <321942@gmail.com> Subject: bug#27244: Should not $GUIX_LOCPATH belong to =?UTF-8?Q?=E2=80=98glibc-locales=E2=80=99?= rather than =?UTF-8?Q?=E2=80=98glibc=E2=80=99=3F?= Date: Wed, 07 Jun 2017 10:06:09 +0300 Message-ID: <87k24oz38e.fsf@gmail.com> References: <87shjf8abx.fsf@gmail.com> <87inka9nk4.fsf@gnu.org> <87zidl294a.fsf@gmail.com> <87tw3s7mi3.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]:47508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dIV3a-0000iT-Vc for bug-guix@gnu.org; Wed, 07 Jun 2017 03:07:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dIV3W-0007HS-Hd for bug-guix@gnu.org; Wed, 07 Jun 2017 03:07:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:57579) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dIV3W-0007HM-DU for bug-guix@gnu.org; Wed, 07 Jun 2017 03:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dIV3W-0007mW-4G for bug-guix@gnu.org; Wed, 07 Jun 2017 03:07:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87tw3s7mi3.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 07 Jun 2017 00:57:24 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 27244@debbugs.gnu.org >>>> As of now [0] a search path ‘GUIX_LOCPATH’ is exported when ‘glibc’ >>>> package, which does not comprise any locales, is installed. I guess, >>>> it should belong to ‘glibc-locales’ and ‘glibc-utf8-locales’ instead. >>> >>> The idea of search path specifications like ‘GUIX_LOCPATH’ is that the >>> package that honors them defines them. >>> >>> For example, Python defines ‘PYTHONPATH’, Guile defines >>> ‘GUILE_LOAD_PATH’, and so on. >> >> But locales are honoured by nearly every program. And nearly every >> program complains when they are not found: >> >> $ guix >> guile: warning: failed to install locale >> warning: failed to install locale: Invalid argument > > Yeah. > >>> In this case, ‘GUIX_LOCPATH’ is honored by glibc, so glibc defines it. >> >> From the user point of view ‘glibc’ is a package that installs >> catchsegv(1), getconf(1), getent(1), iconv(1), ldd(1), locale(1), >> localedef(1), makedb(1), mtrace(1), pcprofiledump, sprof(1), >> tzselect(1) and xtrace(1). >> >> At least on top of a foreign distro, when Guix is used as a >> language-specific package manager for GNU Guile for instance, that is a >> quite unlikely a package to be installed in the profile. > > Right. > >>> If instead ‘glibc-utf8-locales’ defined it, then you’d immediately get >>> the recommendation about setting ‘GUIX_LOCPATH’, which I guess is what >>> you’d like to see. >> >> Yes, that is exactly what I expected as a user: when locales are >> installed they come into play. >> >>> However, every locale-providing package would need to define it, >>> which is not great. >> >> But would not thorough following “search paths are exported by the >> active side” convention implies that every single package that ships a >> localized program has to define $GUIX_LOCPATH? That would be about >> 100 % of packages, I guess. > > Correct. So...? If moving search path definitions to the packages that actually provide searchable stuff is not feasible, another foreign-distro-user-friendly option, I can imagine, is to have a package (a ‘virtual package’, if you will) that would only add a search path to etc/profile without installing any executables. That approach might benefit to a user of Guix on top of a another distro not only with respect to $GUIX_LOCPATH. I hope, to be able, for example, to read documentation of Guix-installed programs with /usr/bin/emacs or /usr/bin/info or even /usr/bin/tkinfo rather than emacs(1) / info(1) from Guix is a fairly reasonable wish, so having a package that only appends $INFOPATH would be nice. ‘emacs’ and ‘texinfo’ packages would have it as propagated dependency. >> On the other hand, now there are only two locale-providing packages, >> as I can see: ‘glibc-locales’ and ‘glibc-utf8-locales’. Are there >> plans to split them up? Is not that supposed to be done by means of >> ‘outputs’: glibc-locales:en, glibc-locales:fr, etc? > > There are no concrete plans no. The problem is that any split is really > arbitrary. > >> (By the way, ‘glibc-utf8-locales’ looks like a misnomer to me, on the >> first glance on it a user have nothing but to think that it comprises >> UTF-8 locales for all supported languages.) > > It is! The manual clearly warns about it, saying that it’s “limited to > a few UTF-8 locales”: > . > > Note that the Guix 0.13.0 binary tarball comes with glibc-utf8-locales > and glibc, such that its etc/profile defines ‘GUIX_LOCPATH’. Excuse me? I far as I understand, etc/profile is managed on per-profile (i. e. per-user) basis. Thus $GUIX_LOCPATH is not exported until every user explicitly installs ‘glibc’ (along with all its bin/ldd, etc). Or did I miss something? >>> On a related note, see this issue about indirect search path >>> specifications: . >> >> Oops. My bad, I indeed should search for opened bugs more carefully. >> (I hope it should be possible to merge two issues within debbugs, is >> not it?) > > Yes we can merge them.