From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nikita Karetnikov Subject: Re: package.scm: (profile-derivation (%store) '()) Date: Sat, 21 Sep 2013 01:08:29 +0400 Message-ID: <87a9j7b3qq.fsf@karetnikov.org> References: <87r4cjjsu2.fsf@karetnikov.org> <877gebdz2c.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45193) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VN7rg-0008Uf-Ou for guix-devel@gnu.org; Fri, 20 Sep 2013 17:03:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VN7rf-0004Rt-Ty for guix-devel@gnu.org; Fri, 20 Sep 2013 17:03:48 -0400 In-Reply-To: <877gebdz2c.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Fri, 20 Sep 2013 22:21:15 +0200") List-Id: 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > =E2=80=98%store=E2=80=99 is a SRFI-39 parameter (info "(guile) Parameters= "), aka. a > dynamically-scoped variable. > It is initialized with the =E2=80=98parameterize=E2=80=99 form, which set= s its value for > the dynamic extent of its body. I don=E2=80=99t understand what code initializes =E2=80=98%store=E2=80=99. For example, I have one generation in the =E2=80=98test=E2=80=99 profile. = So =E2=80=98test=E2=80=99 points to =E2=80=98test-1-link=E2=80=99. If I do scheme@(guix scripts package)> (roll-back "test") I get an error guix/derivations.scm:428:17: In procedure derivation->output-path: guix/derivations.scm:428:17: In procedure struct_vtable: Wrong type argumen= t in position 1 (expecting struct): #f Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guix scripts package) [1]>=20 This error is produced by (profile-derivation (%store) '()) since =E2=80=98%store=E2=80=99 is set to #f. But why does this command work? $ ./pre-inst-env guix package -p test --roll-back switching from generation 1 to 0 As far as I understand, this code is called when the above command is invoked: ;; First roll back if asked to. (if (and (assoc-ref opts 'roll-back?) (not dry-run?)) (begin (roll-back profile) I don=E2=80=99t see any references to =E2=80=98%store=E2=80=99 here. --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJSPLlQAAoJEM+IQzI9IQ38gIgQAKBmByJ2RgNNnJwRFRis1Cpg pkYlVffK3mIrdpQbvlANRZrg76SdVORlkWBmuWlgjWKlHAiV1R/8ib39qNaPSog4 KZB2vCpgIKPOua0JgLwuCqwwtVf+zZrSH6H70FWN/OIvBcS0mU6ibR7g9klapyhB huOgO5sPsB983iYPbz6Ey7a8Mgjroqg5RLlYxVR55ntcmxBdVFKkmMEnFuSVt84P T2CZNn8zsPP6HQMlfPhyJsJPPbhx11Xov7PU8zI2TsJ7MaKGPYMTr6RXY9mQFWE+ zg2CKRbIx0JL34Tswd+QPScmDPkNRP7Bkt8M5fFnttRy79kPu/GrMmLVA9z/i1Ct cGchGR/RwmYHbJ8JkPQ1dJws6i1YHIVy+OSj+ZhIxw4QvkC7Vg7WYy2O46pj0fGn ZJKrPm05CU546sNYbroLhVBXK2o173STSSDNDsUR6v+BvzCIDDCvAlLHZ7z1VmL3 nAi4toMiJ4qFWu+qQbYX4HmcGnc9YolLMiv9hNAZ7hO8ObbL3/ky78Pl17eUVYwp 1LJp1rik0iif1NGCEl1GPRON163yn8+aOa2cFKYtH7F2Jg10KVnQl42HITPu+pa+ wQHw0O9ZPhtZGEwn6FdTSbzYs8RDg7X4Wn5N8Vl6i6Sd1HhYruACqI66z2z0wBlz wvnWOVXq2j5i0+eks0u4 =Cwqv -----END PGP SIGNATURE----- --=-=-=--