From mboxrd@z Thu Jan 1 00:00:00 1970 From: Giovanni Biscuolo Subject: Guix direct checkout hacking Date: Sat, 16 Mar 2019 12:24:27 +0100 Message-ID: <87y35ft638.fsf@roquette.mug.biscuolo.net> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:60942) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h57eT-00062s-Sa for guix-devel@gnu.org; Sat, 16 Mar 2019 07:38:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h57Qt-0003Lp-4f for guix-devel@gnu.org; Sat, 16 Mar 2019 07:24:56 -0400 Received: from ns13.heimat.it ([46.4.214.66]:58642) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h57Qq-0003Gv-Vi for guix-devel@gnu.org; Sat, 16 Mar 2019 07:24:55 -0400 Received: from localhost (ip6-localhost [127.0.0.1]) by ns13.heimat.it (Postfix) with ESMTP id 1EAD53021AF for ; Sat, 16 Mar 2019 11:24:49 +0000 (UTC) Received: from ns13.heimat.it ([127.0.0.1]) by localhost (ns13.heimat.it [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qdvjKwWrZK1Q for ; Sat, 16 Mar 2019 11:24:29 +0000 (UTC) Received: from bourrache.mug.xelera.it (unknown [93.56.161.211]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by ns13.heimat.it (Postfix) with ESMTPSA id 3C60C3021AE for ; Sat, 16 Mar 2019 11:24:29 +0000 (UTC) Received: from roquette.mug.biscuolo.net (roquette.mug.biscuolo.net [10.38.2.14]) by bourrache.mug.xelera.it (Postfix) with SMTP id 74902300056 for ; Sat, 16 Mar 2019 12:24:28 +0100 (CET) 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: guix-devel@gnu.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hi Guix! I'm learning to hack Guix following Pierre Neidhardt (kudos!) tutorial [1] and the contributing section [2] of the manual I want to hack Guix in my local working dir ($GUIX_CHECKOUT in the tutorial) cloned while ago and periodically updated, I'd also like to do my testing in a *separate* dedicated subdirectory, e.g. $GUIX_CHECKOUT/packaging-tutorial for *strong* separation of my high-volatile-and-useless tests from upstream (and I'm too lazy to setup a channel for this simple use-case) I still don't use "The Perfect Setup" because I want to do this "the hard way" :-), aka using a simple terminal application (no eshell) and the command line I've some question and comments... 1. the hacking environment (aka "Building from Git) I regurarly "git pull" in $GUIX_CHECKOUT and then "guix environment guix": is it sufficient and necessary to "/.bootstrap" and then "/.configure" every time I enter the environment in order to have a working build environment? Do I really need to "make check" every time I "activate" the devel environment or after every "git pull" of my $GUIX_CHECKOUT? Do I neeed to regurarly "make clean-go" to get rid of compiled .go or I can ignore this step? If this step should be regurarly done: when? (this is not documented, just my curiosity) 2. building (aka Running Guix Before It Is Installed) I start the build daemon in the environment: sudo -E ./pre-inst-env guix-daemon --build-users-group=3Dguixbuild The above command starts the deamon in foreground and should be "manually" backugrounded (CTRL-Z && bg %) to be able to continue to use the environment: further hacking *cannot* be done in another termininal, out of the environment configured in 1. Furthermore, the guix-deamon process started in the environment must be "manually killed" at the end of the "hacking session" (exit the environment): right? Should this be documented in the "7.2 Running Guix Before It Is Installed" section of the manual? Lastly, testing the building of the hello packages, gives me this error: =2D-8<---------------cut here---------------start------------->8--- (anemone)[~/{git}/giovanni.biscuolo.net/guix]- giovanni@anemone: time ./pre-inst-env guix build hello ;;; note: source file /home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/= config.scm ;;; newer than compiled /home/giovanni/.cache/guile/ccache/2.2-LE-8-3= .A/home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/config.scm.go accepted connection from pid 8872, user giovanni substitute: ;;; note: source file /home/giovanni/{git}/giovanni.biscuolo.ne= t/guix/guix/config.scm substitute: ;;; newer than compiled /home/giovanni/.cache/guile/ccach= e/2.2-LE-8-3.A/home/giovanni/{git}/giovanni.biscuolo.net/guix/guix/config.s= cm.go substitute: guix substitute: warning: ACL for archive imports seems to be u= ninitialized, substitutes may be unavailable building /gnu/store/5fb2krx4aw8i54q066x16a1k6axf0cxm-hello-2.10.tar.gz.drv.= .. error: failed to run download program '/home/giovanni/{git}/giovanni.biscuo= lo.net/guix/nix/scripts/download': Permission denied builder for `/gnu/store/5fb2krx4aw8i54q066x16a1k6axf0cxm-hello-2.10.tar.gz.= drv' failed with exit code 1 build of /gnu/store/5fb2krx4aw8i54q066x16a1k6axf0cxm-hello-2.10.tar.gz.drv = failed View build log at '/usr/local/var/log/guix/drvs/5f/b2krx4aw8i54q066x16a1k6a= xf0cxm-hello-2.10.tar.gz.drv.bz2'. cannot build derivation `/gnu/store/7b0rzwcbdml7z4njkv8jw7qb60y3hzra-hello-= 2.10.drv': 1 dependencies couldn't be built guix build: error: build of `/gnu/store/7b0rzwcbdml7z4njkv8jw7qb60y3hzra-he= llo-2.10.drv' failed Some deprecated features have been used. Set the environment variable GUILE_WARN_DEPRECATED to "detailed" and rerun the program to get more information. Set it to "no" to suppress this message. =2D-8<---------------cut here---------------end--------------->8--- what am I doing wrong? I got the same error even after deleting /home/giovanni/.cache/guile/ccache/2.2-LE-8-3.A/home/giovanni/{git}/giovann= i.biscuolo.net/guix/guix/config.scm.go I triple checked the "Running Guix Before It Is Installed" [3] section of the manual and did all described in 1. tree times, I still cannot figure out if I'm doing something wrong I suspect I have a problem with the build process started in the environment, but still don't know what and how to solve (end of the first part) Thanks! Giovanni [1] https://guix.info/blog/2018/a-packaging-tutorial-for-guix/ [2] https://www.gnu.org/software/guix/manual/en/html_node/Contributing.html#Con= tributing [3] https://www.gnu.org/software/guix/manual/en/html_node/Running-Guix-Befo= re-It-Is-Installed.html#Running-Guix-Before-It-Is-Installed =2D-=20 Giovanni Biscuolo Xelera IT Infrastructures --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEERcxjuFJYydVfNLI5030Op87MORIFAlyM3OsACgkQ030Op87M ORLROw/9HxCZfr1U75vddq6t7cpRj3eDBgFdk7zxdJRS1slXLpox+2cEHiGN8rJn DFrrjwGgHgfX1f89Hm1xzUGzb3czY/jFEQoh1FgQbMpcWkXGJMT+dKFMcXvlae4G xfE45ngHUjWg0B0TgJ8ei12H+fzcIYG7fsa/MmT5By+GZ59eXtOgTQxheFCGfJXk 9wqmWu5+HoTcjVr1mhfvwifF81A0wCfUvbu2Ebv2QGQKSp3NIGUgWnS3Vs4qeKBR bxlcwtFuBysqTx4XoBpEjimHcNaSjyBpfXAsE3AobKQfCO3HqYEcARcpgrzKtUjI Mb9fVPH1K+O7NQQm4rBU0V8M3/AWyn059sg5AsHBjT723bKHcZlIzw2ixqgKS3V8 Hs6PbNVOcN3xB4LcFOT6GdNVa1CQHuSUoBm2EuQeLO5elwOWRwgaBVdoD1y6Ua8J mckBvdUy1eb3UICcEsNVoTaRiT6/lFPuLlmwefyxe9I0gNml3W0jkiyBGLoQCF6f snNR0UaYoBWZ8Y7eBn2iccsU3Tk9sJykiFbHHSXSfRs6jRaPmZE90jE8AKx0M85i MQUicFBEbMxDw6hycmJ+Zx1idp3nUxCkhqLXjZ9WalHX2iMjUwYYXAOXYTb7PR4L To92YnWx8QzohBo4J7x0mpzyEu1P9qAuypaj0PZSgLiVkl6mDPU= =nK+B -----END PGP SIGNATURE----- --=-=-=--