IRC channel logs

2014-06-18.log

back to list of logs

*davexunit successfully booted a guix vm image. :)
<davexunit>so cool!
<d00000>what's the proper way to edit config files in .../guix-profile/etc?
<d00000>jmd: Do you use packages from Guix daily?
<jmd>not daily.
<d00000>Okay, do you know the right way to change config files in .../guix-profile/etc?
<jmd>guix package
<d00000>May I simply change the owner, make some changes, and change the owner back?
<jmd>Well not if you want to ensure that nothing breaks.
<jmd>But in practice, you would probably get away with it.
<d00000>How can I do it with guix package?
<jmd>What do you want to change?
<d00000>I want to configure Privoxy to use Tor.
<d00000>The Privoxy manual says that I have to edit /etc/privoxy/config in order to do so.
<d00000>In Guix, the same file is located in ..guix-profile/etc/config. How can I edit it?
<jmd>The bottom line is, you can't.
<d00000>Ugh.
<jmd>guix uses packages as they are provided by upstream.
<d00000>Would you write a new recipe patching the config file with 'substitute*'?
<jmd>That would be an option, yes.
<d00000>Would it be the only option for a standalone Guix system?
<d00000>That doesn't sound convenient.
<jmd>I agree. Perhaps this should be discussed with civodul
<d00000>Okay, will do.
<d00000>Anyway, thanks for clarifying some things.
<jmd>The issue arises if we were talking about some low level library upon which a zillion things depend. If one were to arbitrarily change a config file, many things could break. That is what guix tries to avoid.
<d00000>Do you know how NixOS deals with this issue?
<jmd>No.
<jmd>But like I say, in practice, you can most likely just hack it as root and not see any ill effects.
<jmd>clear
<civodul>Hello Guix!
<civodul>i'm looking for someone with experience with httpd or nginx who could give a hand on Hydra
<civodul>anyone here? :-)
<civodul>howdy sriharsha
<sriharsha>Hello civodul
<sriharsha>the ssh I spoke about 2 weeks ago requires CLONE_NET to be removed from the clone() call in nix-deamon
<civodul>ah yes, i suspected something like that
<civodul>that's a showstopper i'm afraid
<sriharsha>hmm, :(
<civodul>do you use --keep?
<sriharsha>yes
<civodul>--keep-failed, even
<civodul>but you thought it's insufficient, right?
<civodul>i'm trying to understand the use case, because i've become biased myself
<sriharsha>yes, I always use it and I find it is still insufficient
<sriharsha>I only find it insufficient when I try to build gnunet
<civodul>so how would logging in in the chroot would help?
<civodul>ah
<sriharsha>I guess its due to the network stuff we do there.
<civodul>probably
<sriharsha>logging into the chroot would help because I would be debugging in the namespace which caused the build to fail
<civodul>right
<civodul>hmm
<sriharsha>I remember one account where testcases were failing due to shared memory access but they run fine after chrooting into --keep-failed directory
<civodul>OTOH it should be "easy" (sortof) to reason about what works and what doesn't in the build env
<civodul>yes, that happens
<civodul>BTW, i'd love to have GNS support in the system
<civodul>with the NSS plug-in and all that
<sriharsha>OK, I shall look into it
<civodul>good idea ;-)
<sriharsha>Any idea when the next release would be?
<civodul>two weeks or so
<sriharsha>OK
<phant0mas>civodul: if I use substitue-keyword there are tons of things to be removed from the glibc recipe that are linux specific
<phant0mas>should I use (remove (cut string-match ?
<d00000>civodul: I'd like to edit the config file of Privoxy. What's the proper way to do so?
<civodul>d00000: i run it as "privoxy /path/to/config-file"
<civodul>files in the store are immutable
<d00000>Will it be possible to change config files while using a standalone Guix system?
<d00000>How does NixOS deal with this issue?
<civodul>for system-wide services, there's a global configuration file
<civodul>when it's instantiated, it effectively generates configuration files for the various services
<civodul>and then the services are run with "--config=/gnu/store/....xxx.conf"
<civodul>(or similar)
<civodul>see http://www.gnu.org/software/guix/manual/guix.html#System-Configuration
<civodul>the documentation is still a bit sparse tho
<d00000>Also, the recipe of privoxy 3.0.21 (not sure if it's the case for the current version) placed the config files directly into /etc/. I believe those should be in /etc/privoxy, as suggested in the manpage.
<civodul>hmm it doesn't change --sysconfdir
<civodul>would you like to propose a change on guix-devel?
<d00000>I can only repeat the same thing but have no time to propose a patch, sorry.
<civodul>ok, but it doesn't "place" any config files, so i don't get it
<civodul>anyways
<d00000>Let me try again.
<d00000>In ../guix-profile/etc/, I see 'config', 'user.filter', etc. I assume they should be in ../guix-profile/etc/privoxy instead.
<civodul>ah ok, got it
<civodul>i should be able to fix it
<d00000>Thank you.
<civodul>you're welcome
<d00000>civodul: Last question. How do you invoke Guix programs at start up? Can it be done via /etc/rc.local?
<d00000>s/Guix programs/programs installed with Guix/
<d00000>... Such as Privoxy.
<civodul>currently i only run them as a user
<civodul>so for instance, Privoxy and Tor run as my unprivileged user
<civodul>i have dmd running as me and taking care of them
<d00000>Ah, okay.
<phant0mas>what is wrong with http://paste.lisp.org/display/142927/raw
<phant0mas>I get the error http://paste.lisp.org/display/142928/raw
<phant0mas>it should be working
<drewc>phant0mas: just looking at the error (knowing nothing beyond that) .... what is the value of cf ?
<drewc>it is a list of lists? or '() ?
<phant0mas>drewc: it's a list
<phant0mas>it's alist of the flags from glibc
<mark_weaver>Hello Guix!
<mark_weaver>I've run into problems with core-updates on MIPS. gawk fails its test suite. I sent messages to guix-devel about it.
<mark_weaver>(no rush, just got online in case anyone had ideas and wanted to increase throughput of debugging)
<drewc>phant0mas: the error says "[append # #<procedure list _> "--enable-add-ons" ...]" ... I am not familiar with it enough to know for sure, but is that not trying to append a list and a string? OR: what happens if you remove the @?
<phant0mas>drewc: I found the problem, misplaced some parenthesis
<drewc>ah, sorry about my complete unknowhow :D
<phant0mas>haha don't worry
<phant0mas> it was so hot here today that couldn't even think clear
***civodul changes topic to 'GNU Guix --- http://gnu.org/s/guix/ --- 0.7 is in the works: https://lists.gnu.org/archive/html/guix-devel/2014-05/msg00110.html --- core-updates merged real soon now'
<mark_weaver>civodul: I found the code that adds '-m elf' to LD
<mark_weaver>it's fallout from the lack of 'file'.
<mark_weaver>it's lines 9074-9108 of gawk-4.1.1/extension/configure
<civodul>hey, mark_weaver
<civodul>mark_weaver: ok, but it's probably from the new libtool
<civodul>because the one i was looking at doesn't have a literal "-m elf" or "-melf"
<civodul>the libtool.m4 file
<mark_weaver>so, apparently libtool.m4 added another clause for mips64*-*linux*
<mark_weaver>and that clause depends on 'file' being present.
<civodul>ok
<civodul>i see
<civodul>it's time to send a patch for that /usr/bin/file ;-)
<mark_weaver>it sets "emul=elf", and then uses 'file' to determine whether to add 32 or 64 (or some other possibilities) to that before adding " -m $emul" to LD.
<mark_weaver>what do you suppose we should do in the short term?
<mark_weaver>maybe add 'file' as an input and then substitute "/usr/bin/file" in the relevant configure script?
<mark_weaver>or would that lead to a circular dependency?
<civodul>perhaps just patch for mips only configure such that it does -m elf-the-right-thing
<mark_weaver>I see that I hadn't built 'file' yet at this point.
<mark_weaver>civodul: hmm, well, that will build in an assumption about the ABI currently in use, so it wouldn't work for the N64 ABI.
<civodul>well, that's for now
<mark_weaver>okay, fair enough :)
<civodul>on the next cycle we can add 'file' to the implicit inputs
<civodul>the thing is that i'd like to avoid rebuilding everything on x86 now :-)
<mark_weaver>civodul: hmm, I'm a bit rusty on how to make the change in MIPS without forcing a rebuild on the other platforms.
<mark_weaver>I think we need to force: emul=elfn32
<mark_weaver>(before line 9105 of extension/configure
<mark_weaver>)
<civodul>lemme see
<mark_weaver>or perhaps just substitute "$emul" for "elfn32", since that's the only occurrence of "$emul" in that file.
<civodul>perfect, then
<civodul>in the recipe there's already an additional phase, with ",@(if (%current-target-system) ... '()"
<civodul>we could do something similar here:
<civodul>,@(if (equal? "mips64el-linux" (%current-target-system)) ... '())
<civodul>that way, other platforms wouldn't be affected
<mark_weaver>okay
<civodul>should be (or (%current-target-system) (%current-system)) actually
<mark_weaver>thanks, I'll cook up a patch.
<civodul>excellent, thank you
<mark_weaver>*nod*
<mark_weaver>np, thanks for the help tracking it down :)
<civodul>np!
<civodul>i wonder what they're doing with this libtool pre-release
<civodul>perhaps that IBM person that insisted on ppc64le support...
<mark_weaver>could be
<mark_weaver>civodul: to match "$emul" should I use "$emul" or "\\\\$emul", or does it not matter? do you know off-hand?
<mark_weaver>(in substitute*)
<civodul>mark_weaver: "\\\\$emul", so $ doesn't act as end-of-line
<mark_weaver>thanks!
<mark_weaver>okay, trying a rebuild
<mark_weaver>hmm, elfn32 is not the right thing apparently. hmm.
<mark_weaver>I guess maybe "elf32ltsmipn32" is what I want. maybe I'll have to try building gawk out of a chroot, with file available, and see what it does.
<mark_weaver>oh yes, this makes sense now.