From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: 02/02: services: Add Gitolite. Date: Sun, 30 Sep 2018 22:17:51 +0200 Message-ID: <87muryspsg.fsf@gnu.org> References: <20180928200104.10056.60968@vcs0.savannah.gnu.org> <20180928200105.E0B4F20476@vcs0.savannah.gnu.org> <871s9b69mg.fsf@netris.org> <87d0sv7001.fsf@cbaines.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54994) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g6iDL-0002yC-SK for guix-devel@gnu.org; Sun, 30 Sep 2018 16:21:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g6iA6-00036x-5E for guix-devel@gnu.org; Sun, 30 Sep 2018 16:17:54 -0400 In-Reply-To: <87d0sv7001.fsf@cbaines.net> (Christopher Baines's message of "Sun, 30 Sep 2018 11:28:14 +0100") 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: Christopher Baines Cc: guix-devel@gnu.org Christopher Baines skribis: > Mark H Weaver writes: [...] >>> +(define-gexp-compiler (gitolite-rc-file-compiler >>> + (file ) system target) >>> + (match file >>> + (($ umask git-config-keys roles enable) >>> + (apply text-file* "gitolite.rc" >>> + `("%RC =3D (\n" >>> + " UMASK =3D> " ,(format #f "~4,'0o" umask) ",\n" [...] >> --8<---------------cut here---------------start------------->8--- >> 0 (simple-format #f "~4,'0o" 63) >> >> ERROR: In procedure simple-format: >> In procedure simple-format: FORMAT: Unsupported format option ~4 - use (= ice-9 format) instead >> --8<---------------cut here---------------end--------------->8--- [...] > It sounds to me like adding #:use-modules (ice-9 format) to (gnu > services version-control) would fix this, but I'll wait until I can > reproduce the failure before re-adding the service. Yes, adding #:use-module (ice-9 format) will fix the problem. You should be able to reproduce it by running =E2=80=9Cmake hydra-jobs=E2= =80=9D. As to why you can=E2=80=99t necessarily reproduce it=E2=80=A6 It turns out= that loading (ice-9 format) has the effect of set!ting the global =E2=80=98format=E2=80= =99 binding. So if some unrelated piece of code loads (ice-9 format), you don=E2=80=99t = have any problems; but if that doesn=E2=80=99t happen, you get the error. This terrible behavior has been in Guile forever and nobody has dared changing it so far. :-) The -Wformat warning tries hard to diagnose the issue though. HTH! Ludo=E2=80=99.