From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: Re: Guix on other distros: Gentoo. [You run Gentoo? Please help testing.] Date: Fri, 05 Aug 2016 19:02:14 +0000 Message-ID: <878twb11l5.fsf@we.make.ritual.n0.is> References: <87invg42ik.fsf@we.make.ritual.n0.is> <20160805180702.GA27500@jasmine> 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]:47131) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bVkNx-000113-25 for guix-devel@gnu.org; Fri, 05 Aug 2016 15:02:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bVkNv-0005Y8-F4 for guix-devel@gnu.org; Fri, 05 Aug 2016 15:02:21 -0400 Received: from mithlond.libertad.in-berlin.de ([2001:67c:1400:2490::1]:60849 helo=beleriand.n0.is) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bVkNv-0005XV-2E for guix-devel@gnu.org; Fri, 05 Aug 2016 15:02:19 -0400 In-Reply-To: <20160805180702.GA27500@jasmine> 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: Leo Famulari Cc: guix-devel@gnu.org Leo Famulari writes: > On Thu, Aug 04, 2016 at 10:01:39PM +0000, ng0 wrote: >> TL;DR: Guix on Gentoo, need testers with moar isolated Gentoo >> VMs/systems. Don't blame me when it breaks your precious system, I said >> I needed testers. >> >> >> Hi, >> >> Since Gentoo upstream decided to finally solve their very old #355355 >> bug on ~20:00 UTC today, I take this opportunity to clean our Gentoo >> overlay from ebuilds we needed for guix so far and ask for potential >> testers. >> >> For people interested in debugging and participation: >> >> Guix is now available from within Gentoo for a while already, as a >> development (request for debugging help) package. With the inclusion of >> our collaborative overlay in Gentoo's in/official list of overlays, >> Guix on Gentoo is only 2 commands away in Gentoo and Gentoo >> based systems: >> layman -a youbroketheinternet >> emerge --ask sys-apps/guix >> >> When you torsocks/torify this or all your connections go through tor, >> it should pick up one of 2 onionland instances this is available on, >> else it falls back to .is and .org >> >> >> It's not 100% finished yet (openrc service is not fully functional), >> please read the included TODO.org file in the overlay. >> >> The overlay is also accessible from direct git checkouts, read the page >> on wiki.gentoo.org keyword search for Overlay youbroketheinternet or >> visit http://youbroketheinternet.org/#overlay or >> http://we.make.ritual.n0.is [section: CODE]. > > Thanks for leading this work! I don't have Gentoo experience, so I can't > offer much help, but I'm glad to see this being done. I probably should've asked for help here earlier, the first commit of guix in the overlay was probably some time back in january, but only now you do no longer require the workarounds for outdated guile on gentoo we had, so less annoyance if you don't run many test VMs. The disfunctional thing currently is: guixbuilder01 ... guixbuilder10 get created and added to guixbuild group. Post-setup I let root authorize hydra's pubkey, then I run `rc-service start guix' which sadly makes the terminal unusable if you don't append "&". running guix pull then as root downloads happen, but as soon as builder should start, it fails: shikahr ~ # guix pull Starting download of /tmp/guix-file.RpedfI >From http://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.gz... ….tar.gz 1.1MiB/s 00:10 | 10.3MiB transferred unpacking '/gnu/store/h33fva5hvrw7z99vrn3ivnh07mgg55qc-guix-latest.tar.gz'... substitute: updating list of substitutes from 'https://mirror.hydra.gnu.org'... 100.0% The following derivations will be built: /gnu/store/yw3dzq3nlngki5bd8z5yp1aslvzsjh1n-guix-latest.drv /gnu/store/2gyrssyswj0p2z6yr7938kln20piy4w6-module-import.drv /gnu/store/jb6ir2q5j8lwmdcqlhs7c4vdkgllcjga-module-import-compiled.drv building path(s) `/gnu/store/35xw5kccyq76v8zgkdrnx1z9w8s6ll7m-module-import' guix pull: error: build failed: the build users group `guixbuild' has no members shikahr ~ # id -nG guixbuilder01 guixbuild shikahr ~ # id -nG guixbuilder1 id: guixbuilder1: no such user I know the openrc service is total crap because if you don't kill every instance of guix-daemon before shutdown/reboot, you have almost 30 minutes delay. OpenRC services are not my favorit thing to write, but it should just work. Also strange enough a sequence from 1 - 10 in ebuild creates users 01 - 10. #!/sbin/openrc-run # Copyright 2016 the youbroketheinternet-overlay team # Distributed under the terms of the GNU General Public License v2 or later PIDFILE=/var/run/guix/guix-daemon.pid #GRACEFUL_TIMEOUT=${GRACEFUL_TIMEOUT:-60} #extra_commands="checkconfig" description="The GNU Guix Daemon" depend() { need net } #SUID_ROOT_HELPERS="guix guix-daemon" # #chmodown_execbin() { # if [ -x $1 ]; then # if [ "$3" ]; then # chown $3 $1 2>/dev/null && chmod $2 $1 # else # chmod $2 $1 # fi # fi #} # #checkconfig() { # for helper in $SUID_ROOT_HELPERS; do # chmodown_execbin ${libexec} start() { checkpath -d -m 0755 -o :guixbuild /var/run/guix ebegin "Starting Guix" start-stop-daemon --start --pidfile "${PIDFILE}" --quiet --exec /usr/bin/guix-daemon -- --build-users-group=guixbuild --listen=/var/lib/guix/daemon-socket/socket > /dev/null 2>&1 eend $? } #start() { # local piddir=$(dirname ${PIDFILE}) # if [ ! -d ${piddir} ] ; then # ebegin "Making ${piddir}" # eend $? # ebegin "Changing permissions of ${piddir}" # chown :guixbuild ${piddir} # eend $? # fi # # ebegin "Starting ${SVCNAME}" # start-stop-daemon --start --name guix-daemon --pidfile ${PIDFILE} \ # --exec /usr/bin/guix-daemon -- --debug --build-users-group=guixbuild # eend $? #} stop() { ebegin "Stopping Guix" start-stop-daemon --stop --pidfile "${PIDFILE}" --exec /usr/bin/guix-daemon #start-stop-daemon --stop --signal QUIT --pidfile "${PIDFILE}" sleep 1 #killall guix-daemon #sleep 1 eend $? } #stop() { # ebegin "Stopping ${SVCNAME}" # start-stop-daemon --stop --signal QUIT --pidfile ${PIDFILE} # sleep 1 # killall guix-daemon # sleep 1 # eend $? #} #[Unit] #Description=Build daemon for GNU Guix # #[Service] #ExecStart=/usr/bin/guix-daemon --build-users-group=guixbuild #RemainAfterExit=yes #StandardOutput=syslog #StandardError=syslog # #[Install] #WantedBy=multi-user.target -- ♥Ⓐ ng0 Current Keys: https://we.make.ritual.n0.is/ng0.txt For non-prism friendly talk find me on http://www.psyced.org