IRC channel logs

2019-03-04.log

back to list of logs

<mikadoZero>What am I supposed to put for PACKAGE in `guix lint PACKAGE`?
<mikadoZero>ngz: Okay I will give it a try.
<evhan>Hi folks. Does there exist anything like nixos-infect for guix? That is, a script that will replace a running host OS with Guix, in-place.
<evhan>That is: https://github.com/elitak/nixos-infect
<evhan>Sorry if this is documented somewhere and I couldn't find it.
<rekado_>evhan: we simply install Guix and run “guix system init /”
<mikadoZero>ngz: Where is the Guix source tree? Where does my modified version of emacs-xyz.scm need to be located?
<ngz>mikadoZero: I assumed you had cloned the Guix repository and modified "emacs-xyz.scm" there.
<mikadoZero>ngz: Yes that is what I should have done. I will now.
<evhan>rekado_: Hmmmm, that looks promising. Looking into it.
<rvgn>DOUBT! Are docker (daemon and engine) and its tools (compose and machine) free software?
<mikadoZero>rvgn: Take a closer look at the pieces you are interested in but it looks like a lot of thing listed on github.com/docker are listed as apache 2.
<evhan>rekado_: OK, looks like I can run with this. Thank you!
<mikadoZero>rvgn: gnu.org/licenses/license-list.html says Apache 2 is a free software license.
<mikadoZero>I have cloned the guix repository and added emacs-ace-link to emacs-xyz.scm in the cloned repository. In the root of the repository these comands are not working for me:
<mikadoZero>`./pre-inst-evn guix lint emacs-ace-link` says no pre-inst-env.
<mikadoZero>`guix lint emacs-ace-link` says unknown package.
***daviid is now known as Guest31336
***Guest31336 is now known as daviid
<evhan>rekado: I guess I need to move some stuff out of the way before rebooting? I'm running into ERROR: In procedure symlink: File exists when populating /etc from /gnu/store/[...]-etc.
<evhan>rekado: While symlinking /etc/ssl it seems from the backtrace.
***vagrantc_ is now known as vagrantc
***catonano_ is now known as catonano
<rvgn>@mikadoZero Thanks!
<civodul>Hello Guix!
<janneke>hello civodul!
<civodul>hey janneke
<civodul>tricky to get back from long vacations :-)
<civodul>i still have to catch up on email
<efraim>i almost have mkvtoolnix built with modular-qt, which would be our last package using the monolithic qt
<janneke>civodul: yeah, never do that :)
<civodul>:-)
<civodul>efraim: yay!
***rekado_ is now known as rekado
<rekado>civodul: welcome back!
<g_bor>hello guix!
<g_bor>Is there a way to access stdout and stderr of a command that is invoked?
<g_bor>never mind, I have it already...
<g_bor>It was just earlier in the output.
<g_bor>I am trying to create a script like we have for the website, but for the videos.
<g_bor>fc-cache is failing, as it tries to write to the store.
<rekado>you can provide a different configuration file, I think.
<g_bor>yes, I will try that.
<g_bor>Now the shell scripts work fine, so I'm not in a hurry, but would be nice to get it working.
<g_bor>I can supply a sysrootdir, the it misses a config file, what I can supply.
<g_bor>rekado: I accidentally pushed and unsigned commit to the video repository. What is the protocol to get that straightened?
<g_bor>civodul: Welcome back!
<rekado>g_bor: there is no way other than to rewrite history, which I think is not an option.
<civodul>too bad we didn't make it for this Outreachy round
<civodul>well, next time!
<g_bor>civodul,rekado: I just got a mail from gnu-soc, that we can register our GSoC mentors.
<g_bor>rekado: I came to the same conclusion regarding the repo, sorry about that. I will be more careful next time.
<civodul>g_bor: re GSoC, cool! i hope some of us will volunteer this time
<notnotdan[m]>hey guix
<rekado>python-matplotlib-documentation fails to build. I wanted to replace texlive with a texlive-union, but it doesn’t build with either of them.
<rekado>already patched it a bit and added inputs, but it still fails to build the PDF.
<rekado>I’m tempted to remove the PDF output and be satisfied with just the HTML output.
<rekado>would be better than a broken package.
<notnotdan[m]>yeah. plus requiring a massive tex installation is a bit of a downside i guess?
<civodul>rekado: removing the PDF output sounds good to me
<civodul>we don't usually provide documentation in PDF in our packages
<civodul>i don't think it makes much sense for on-line use
<rekado>notnotdan[m]: not requiring a massive tex installation is the point of texlive-union.
<rekado>civodul: okay, I’ll try to fix this today
*rekado goes afk
<civodul>rekado: Singularity is "secure": https://cloud.sylabs.io/home
<civodul>it seems to have a new image format called "SIF"
<civodul>and it's apparently been rewritten in Go
<nckx>‘Singularity 3.0 introduces the abilities to create and manage PGP keys and use them to sign and verify containers. This provides a trusted method for Singularity users to share containers. It ensures a bit-for-bit reproduction of the original container as the author intended it.’
<nckx>What's better than blobs? Signed blobs!
<civodul>yup!
<roptat>hi guix!
<civodul>if it's signed, then you have guaranteed bit-for-bit reproduction
<civodul>and of course, if it's signed, it's secure :-)
<roptat>I think I found a way to translate the website, but it means that we need to change most of the files :/
<civodul>roptat: perhaps that's the price to pay!
<civodul>what would be the changes required?
<roptat>basically, I add a _ sxml tag, so gettext can find translatable strings.
<roptat>then I use a modified version of make-page that creates one page per locale, using gettext to replace the content of that _ tag
<civodul>note that you can use any tag and then tell xgettext to search for that tag
<civodul>it doesn't have to be _
<roptat>sure
<civodul>i see
<roptat>I just need it to not be a valid html tag :)
<civodul>it could be a no-op macro or function
<civodul>like: (p ,(_ "hello"))
<roptat>it can't be a function because then it's not executed at the right time
<civodul>oh right
<roptat>I need to change the locale settings at runtime
<civodul>got it
<civodul>too bad we have to change the process locale instead of just passing the language as an argument to gettext
<roptat>and the content must be an html string (for instance if it contains a link, it must contain it in html form, not sxml)
<civodul>right
<civodul>we discussed it at FOSDEM 2018 IIRC
<roptat>yes, I was inspired by the discussions that took place on the mailing list
<civodul>and there was the idea that we should somehow validate those strings beforehand
<roptat>"validate"?
<civodul>well yes, stringly DSLs are "bad"
<civodul>you could produce invalid HTML in the end
<roptat>in my case it's converted back to sxml
<civodul>so it'd bee good to ensure that these strings contain valid HTML
<civodul>ok
<roptat>because sxml->html would remove all the tags in the strings
<civodul>so authors would have to escape ampersands and the likes?
<roptat>mh... I didn't think of that
<roptat>I think they should use the html code, like "&amp;"
<roptat>but sxml->html doesn't understand sxml entities...
<roptat>also, I found a bug in https://git.savannah.gnu.org/cgit/guix/guix-artwork.git/tree/website/apps/base/templates/theme.scm
<roptat>lang-tag is never used ^^'
<civodul>HTML escapes are hard to use
<civodul>oh?
<civodul>fix it! :-)
<roptat>I still need to find how to properly internationalize and link blog posts
<roptat>there doesn't seem to be any ampersand on the guix website though
<roptat>except for a blog title which I can't translate anyway
<rekado>civodul: re Singularity: admins are totally buying this kind of PR, unfortunately.
<rekado>About texlive: we only have one package left that uses the big texlive package: Octave. Tried to replace it, but I haven’t been very successful yet.
<rekado>the lack of error messages makes this quite hard to debug.
<civodul>yeah it's terrible
<civodul>it's good that there's only one package left tho!
<civodul>roptat: for blog posts i guess we could have separate files, like .fr.md, and have manual machinery (no gettext)
<civodul>or maybe po4a
<roptat>civodul, then the generated page are, for instance index.html (default locale), index.en.html, index.fr.html, ...
<roptat>civodul, yes, that's what I was thinking
<civodul>it would be nice to have the default be English, regardless of the current locale
<civodul>(or to have no default actually)
<civodul>and have URLs like /en, /fr, rather than index.fr.html, etc.
<civodul>really a detail though
<roptat>I tried that already on my website: the browser locale is detected and the right file is served. index.html is served only when no browser locale matches the list of available locales
<roptat>so if you prefer breton over french over english, you'll get the content of index.fr.html when you ask index.html
<roptat>and there's a cookie that's set when you visit expilcitly index.eo.html for instance, that makes sure that you will get the esperanto version of the pages you visit next
<roptat>I don't know if that's the best solution, since it requires a lot of server support
<civodul>roptat: it sounds like the "right" solution in terms of interface, but i agree that it'd need a bit of work server-side
<civodul>rekado: i'll do the CVS thing for cmarusich' blog post if that's fine with you
<civodul>i think it fell through the cracks
<rekado>I remember doing this a while ago.
<rekado> http://www.gnu.org/software/guix/blog/2019/guix-days-bootstrapping-arm/
<civodul>then maybe you didn't commit all the files?
<civodul>like the front page and the feeds?
<rekado>urgh, maybe :(
<civodul>i usually do "cvs ci" at the top level
<rekado>Okay, I just did that.
<civodul>thanks!
<civodul>hmm it hasn't shown up yet
<civodul>are you sure /guix.html in your checkout refers to the new post?
<rekado>hmm, it’s just missing on the front page.
<rekado>I’ll redo it.
<mikadoZero>On savannah.gnu.org/git/?group=guix there is a typo I think represenging should be representing. What mailing list should I submit this to?
<mikadoZero>The bug mailing list?
<civodul>mikadoZero: or just guix-devel@gnu.org
<civodul>thanks for letting us know
<roptat>shouldn't it be "presenting"?
<mikadoZero>civodul: I will submit it to guix-devel.
<nckx>Who has write access to that stuff? (I don't.)
<mikadoZero>roptat: That sounds like a better word for it.
<civodul>rekado: yup, works now!
<mbakke>civodul: Any idea why core-updates fails on berlin? https://berlin.guixsd.org/jobset/core-updates-core-updates
<mbakke>Welcome back btw! :)
<rvgn>Hi Guix!
<rvgn>Do anyone know best alternative for docker? I would like to deploy multiple apps with one host using containerization. I want things to be modular and simple. Since there docker images are pre-made and easy to deploy, are there any close alternative to that?
<mikadoZero>In regards to rvgn question about a docker alternative. How well would `guix environment --container` work?
<efraim>emacs-minimal is missing gnutls
<efraim>maybe emacs-minimal doesn't need module support?
<efraim>ok, i'm testing a fix for emacs-minimal
<efraim>well that was fast
<mikadoZero>I just did `guix pull` and `guix system reconfigure`. emacs-minimal-26.1 failed with exit code 1. emacs-guix-0.5.1.1 1 dependencies couldn't be built. emacs-guix-0.5.1.1 failed.
<mikadoZero>When I get error like this doing a system reconfiguration should I search the bug database and if its not there submit it to the bug-guix mailing list?
<efraim>mikadoZero: it's been fixed
<efraim>go ahead and pull again
<rvgn>@mikadoZero Thanks for the support :)
<mikadoZero>rvgn: Your welcome.
<mikadoZero>efraim: I am doing a pull now.
<mikadoZero>A guix pull takes a while for me. I looked at the manual section `Invoking guix pull`. Is there a way to take a subset of what `guix pull` fetches. Could I for example exclude packages for graphical user interface programs?
<rekado>mikadoZero: no, that’s not possible.
<rekado>we’re trying to reduce the number of modules that need to be compiled for guix pull, but it’s surprisingly difficult to achieve.
<tune>my last pull just finished. took well over 8 hours as it was doing something with rust before I went to bed and after waking up
<rekado>“guix pull” does not depend on rust.
<rekado>do you mean “guix package -u”?
<tune>no
<tune>I just did the guix package -u and it took a few minutes at most
<tune>downloading things and building things seemed to be what happened during my guix pull
<mikadoZero>rekado: Thanks
<civodul>heya mbakke!
<civodul>mbakke: apparently there was a transient build failure for guile, which in turn prevented the whole evaluation from completing
<civodul>retrying now
<civodul>bummer these messages are only visible in cuirass.log
<roptat>I'm thinking about the DNS config for guix, and am wondering if we want DNSSEC?
<roptat>if so, I'm not sure how to implement that
<roptat>knot supports it, but we need a way to share key material between servers, and I think we can't have a master-master architecture in that case
<tune>rekado: http://chunk.io/bard/e8ec35f505494b3a8a882024a527d204 I put a * at the start of the pull and the start of the update so it can collapse in org although that doesn't help on this webpage much
<roptat>every ns server must have the same signing key(s)
<tune>I often have to delete a couple files before I can guix pull so perhaps that's causing an issue like having to build rust for no good reason
<tune>I do notice it's building several versions for some reason
<rekado>tune: the output shows that “guix pull” completed fine. It’s the “guix package … -u” command that took longer.
<rekado>rust is not involved in “guix pull”.
<rekado>roptat: let’s skip DNSSEC.
<roptat>well, if we use dnssec, then we'll have one master and one slave, that's not too difficult, but there's a secret key that needs to be managed
<roptat>also, it'd be nice to have IPv6 on berlin and bayfront :D
<mikadoZero>efraim: Thanks the reconfigure worked this time.
<rvgn>Woah! Are you all talking about rust? I just did guix pull and guix package -u, the process is stuck at building rust... for really long time O_o
<rekado>rvgn: icecat needs rust. If you have that in your profile that might be why.
<rekado>I’d suggest trying again later.
<rekado>building rust locally can take a very long time.
<tune>hm maybe I updated twice in a row without realizing
<mikadoZero>When I run `autoconf` in a local guix repository I get an error:
<mikadoZero>error: possibly undefined macro: AM_INIT_AUTOMAKE
<rekado>mikadoZero: run “./bootstrap”
<rekado>I suggest doing this inside of “guix environment guix”
<mikadoZero>rekado: `guix environment guix` gives me this warning:
<mikadoZero>warning: collision encountered:
<mikadoZero> /gnu/store/9ysmg2739n1ms84lx6hifncgc5l2hiy9-ld-wrapper-0/bin/ld
<mikadoZero> /gnu/store/02iklp4swqs0ipxhg5x9b2shmj6b30h1-binutils-2.31.1/bin/ld
<mikadoZero>warning: choosing /gnu/store/9ysmg2739n1ms84lx6hifncgc5l2hiy9-ld-wrapper-0/bin/ld
<mikadoZero>Do I need to be concerned about this. It still said at the end that it was successful building profile.drv.
<mikadoZero>rekado: Thanks `./bootstrap` worked.
<mikadoZero>`./configure` gives me this error:
<mikadoZero>configure: error: chosen localstatedir '/usr/local/var' does not match that of the existing installation '/var'
<mikadoZero>Installing may corrupt /gnu/store!
<mikadoZero>Use './configure --localstatedir=/var'.
<roptat>yes, do as it says: ./configure --localstatedir=/var
<mikadoZero>roptat: Thanks
<mikadoZero>Now I have pre-inst-env in the guix repo. But when I run `./pre-inst-env guix lint emacs-ace-link` I get the error:
<mikadoZero>guix lint: error: emacs-ace-link: unknown package
<mikadoZero>emacs-ace-link is a package I have put together that I want to lint.
<roptat>have you added it to a file in your git checkout?
<mikadoZero>roptat: I did not. I will try it.
<roptat>if you don't, how can guix find it? :)
<mikadoZero>roptat: Good point thanks.
<mikadoZero>I have commited it on a checkedout branch. `./pre-inst-env guix lint emacs-ace-link` is still giving me the same unknown package error.
<rekado>mikadoZero: can you show us the diff?
<mikadoZero>Do I need to use guix build before I can do guix lint?
<rekado>no
<nckx>roptat: I've read nothing but the backlog here, but what's the advantage of having two independent (I assume that's what you mean by master-master?) name servers? Is it just to avoid managing TSIG keys?
<rekado>ugh… “tex exited with bad status, quitting.”
<rekado>that’s the complete error message.
<mikadoZero>rekado: I put a diff up at paste.debian.net called diffAceLin.
<mikadoZero>paste.debian.net/1071485
<rekado>mikadoZero: is there any more output than just “unknown package”?
<mikadoZero>rekado: The full output is:
<mikadoZero>guix lint: error: emacs-ace-link: unknown package
<Formbi>can I force Guix to use substitutes?
<cbaines>Formbi, they'll be used if available by default, you can only require not using substitutes
<Formbi>:(
<pkill9>formbi do you mean force it to not build from source?
<Formbi>yes
<pkill9>oh that's not really possible, although it would be a nice option to have it error out if substitute isn't available, or skip it if running `guix package -u`
<mikadoZero>Formbi: since it is atomic you could kill the process if it starts to build and then take that package out of your configuration if you are using Guix SD.
<Formbi>btw I use Arch
***rvgn-net is now known as rvgn
<mikadoZero>Formbi: I have found packages that I need to build at one point have become substitutes eventually given time.
<Formbi>I know
<Formbi>but it would be nice if Guix said something like «the build farm hasn't built it yet, do you want to build it yourself?»
<nckx>How'd we differentiate between derivations that might have substitutes and ones that never will (e.g. info dirs, profiles, …)?
<nckx>An (plz keep it optional and no interactive nonsense) ‘--only-substitutes’ switch will be useless otherwise, no?
<Formbi>dunno
<bavier`>packages can be marked local-build-only, I assume that makes it's way to the derivation level; and could ultimately be used by other local-only derivations to distinguish
<nckx>bavier`: substitutable #f?
<bavier`>nckx: right
<bavier`>I could also be misundertanding the mechanism behind that option
<lfam>There is also #:local-build?
<nckx>bavier`: I'm not 100% familiar with it either, but it's nice that these ‘personal’ derivations *can* be substituted (e.g. a personal build farm will build some of them). *Forcing* local builds just for this is a big meh then.
<bavier`>nckx: true, I hadn't considered that case
<nckx>lfam, bavier`: Thanks :-)
<nckx>I know I'm weird, but profile creation & hooks take several minutes here. Slow HDD…
<nckx>rekado (?): bayfront's TLS certificate has expired.
<lfam>nckx: Yes, reported to guix-sysadmin
<nckx>Ah. Oh.
*nckx misread that as gnu-sysadmin. Just ‘Ah.’ then.
<rekado>I don’t have admin permissions on bayfront. (Or maybe I just failed to record the password.)
<lfam>Oof, Go 1.12 has some test failures where it can't find certain kernel headers
<lfam>asm/socket.h and linux/errno.h
<rvgn>Hello Guix!
<lfam>Hi rvgn!
<hulten>Hello all.
<rvgn>For enabling OpenVPN client, do I have do include open-vpn service in the config file and do "guix system reconfigure" (or) just installing openvpn package is enough?
<hulten>I have a Devuan server with dhcpd, and a GuixSD client.
<hulten>On the Guix system `hostname --fqdn` gives back 'localhost' and `dnsdomainname` is empty.
<hulten>How can I set these?
<lfam>hulten: Is the host-name field set in your system configuration file?
<lfam>I don't know if that is the answer but it helps us give advice when we know what you've tried
<hulten>Yes: (hostname "graviton")
<hulten>On the server I have in dhcpd.conf: ddns-updates on;
<hulten>ddns-domainname "instanton";
<hulten>So I hope that the command `dnsdomainname` would return "instanton", but it does not.
<hulten>Likewise, `hostname -f`=="localhost" instead of "graviton.instanton".
<hulten>(I know that "instanton" is not an official TLD, but I don't think that matters.)
<hulten>So, lfam, do you have other ideas?
<mikadoZero>rvgn: To use a openvpn client the package is enough.
<lfam>No, sorry hulten. But hopefully others do
<hulten>The end goal here is that I want "relay_domains = instanton" in my Postfix configuration to work in the sense that my GuixSD client may send e-mails through the relayhost.
<hulten>No problem, lfam :-) I'll just check back in a bit.
<civodul>mbakke: core-updates is being built! https://berlin.guixsd.org/jobset/core-updates-core-updates
<mbakke>civodul: Yay!
<mbakke>I think it's time to start staging on Hydra too.
<mbakke>Note that librsvg has gained a dependency on Rust@1.27 in that branch, so it will take a while just to bootstrap Rust...
<lfam>mbakke: What is the proposed timeline for the staging branch?
<lfam>I'd like to push a change that will rebuild all the Go packages
<mbakke>lfam: Not in a hurry!
<lfam>Hm, I'd prefer for it to land on master relatively quickly. It shouldn't break anything — it just removes Go 1.9. Do we have capacity for a go-updates branch?
<lfam>It will cause Go 1.11 and all the Go packages to be rebuilt
<mbakke>lfam: Most of the Go packages are fairly small, no?
<lfam>mbakke: As far as I know, they are all cheap builds, but I'm not familiar with some of the newer ones like mongo and docker
<rvgn>@mikadoZero I tried it but the openvpn option in network manager is not showing up
<rvgn>I'll brb
<mikadoZero>sneek_: tell rvgn I use openvpn on the command line. You can run `openvpn /path/to/openvpn-config-file.ovpn` You should be able to get the ovpn configuration file from your vpn provider.
<mikadoZero>How do I know if sneek will relay my message. Do I receive any confirmation?
<bavier`>mikadoZero: if sneek is listening you will, usually "got it"
<mikadoZero>bavier`: So no confirmation means sneek is not listening.
<rvgn>@mikadoZero Any idea about my VPN issue? Thanks!
<rvgn>Sorry, did not mean to interrupt.
<mikadoZero>I do not use network manager instead I use openvpn on the command line. You can run `openvpn /path/to/openvpn-config-file.ovpn` You should be able to get the ovpn configuration file from your vpn provider.
<mikadoZero>rvgn: ^
<rvgn>Cool! I'll try that. But how can I track the status? Whether it is active or ended abruptly? Or even to use kill switch?
<mikadoZero>rvgn: Its status will be obvious from its output to the terminal.
<mikadoZero>rvgn: As for kill switch. I have found that if I am using a wifi network conection if the vpn connection goes down it interferes with the interenet connection. This is not the case with an ethernet connection.
<rvgn>@mikadoZero I got confused with the latter message.
<civodul>mbakke: i wanted to talk about librsvg...
<rvgn>So you mean wifi connection will pause when VPN breaks?
<mbakke>civodul: I'm listening! :)
<civodul>well i should send an email, but later! :-)
<civodul>i wonder whether we should follow upstream, in short
<civodul>or at least have both options
<civodul>needs more thought!
<mbakke>What do you mean by follow upstream?
<civodul>use the Rust version instead of the old C version
<mbakke>By the way, I think 2.46 will require Rust 1.33 or what it is now.
<civodul>yeah
<mbakke>Oh right, we already have that on staging.
<civodul>right
<mbakke>Ah. I see. :)
<civodul>dunno what can be done
*civodul -> zZz
<mbakke>Yeah, tricky stuff. Good night!
<civodul>later!
<mikadoZero>rvgn: killswitch: wifi kind of, ethernet no. But that is not to say there is not a setting for openvpn for a kill switch. It would be something interesting to look into.
<mikadoZero>Is anyone running guix the package manager on minix 3?
<rvgn>@mikadoZero Thanks!
<adfeno>Hi there, how to delete `guix pull' generations?
<adfeno>I can `guix pull --list-generations' but can't find a way or instructions on how to delete them.
<mikadoZero>adfeno: You can rollback to a previous generation. See 4.6 Invoking ‘guix pull’ in the manual.
<adfeno>But what if I want to delete old ones?