Re: none
At Fri, 05 Dec 2014 00:04:23 +0100, Ludovic Courtès wrote: Tomas Cech sleep_wal...@suse.cz skribis: I tried to install Guix as alternative OS to my Gentoo and openSUSE installations to give a try. I tried unsupported scenario - installation on LVM volume and separate /boot partition until I was told it is unsupported. Separate boot wasn't hard as I had to just copy generated files so they are loaded. OK, but there’s still an open bug on that topic. :-) http://bugs.gnu.org/19220 Good, I'll give a try again. 1] if you set device to partition (and not to disk) in your grub-configuration like this: (bootloader (grub-configuration (device /dev/sda4))) Why would you want to use a partition and not a disk? I didn’t know this was even possible. Because this way I can separate Grub managed by Guix and Grub from my Gentoo. As I'm playing with that on my notebook I need for work, this way can reduce risks. I'm not sure how Guix installer can manipulate with grub.cfg and I'd like to always have some working system... `guix system init' will fail on grub installation. By default Grub tries to fit in the beginning of partition and fails if it can't fit in. I asked about this behaviour on Grub mailing list and it seems that there are two options: a] add `--force' to command line and use block list for keeping information about position of Grub's core.img b] use filesystem which allows embedding - BtrFS or ZFS I verified both options (a] and then b] with BtrFS) and it no longer fails. But, ad a] - I don't feel safe passing `--force' to grub-install every time. So if installation fails on this point and you'd like to use your FS anyway, you can pass `--no-grub' to `guix system init' and then rung grub-install manually. ad b] - I don't feel safe using still experimental BtrFS. OK. I think the conclusion for Guix is to leave the defaults unchanged. Perhaps we could add a ‘force?’ field to the ‘grub-configuration’ data type to allow those who know what they doing to get the effect of ‘--force’. WDYT? After some more mails with help-grub ML It seems that Grub can do even better - it can load core.img right from Guix's filesystem or just read new configuration (multiboot, resp. config - both shown here http://www.gnu.org/software/grub/manual/grub.html#Multi_002dboot-manual-config )... But these are just Grub chainloading Grub solutions... From Guix perspective I don't think it is possible to do it automatically. I think you can consider installation of Grub to partiotion as something just for advanced users. With that in mind I believe guix should refuse (with some warning) installing grub that way. Advanced users can use `--no-grub' option which will prevent guix from fail and do manually anything they desire. And in the documentation I'd give some short notice about that with link to Grub manual. IMHO information that only ZFS and BtrFS can embed core.img into boot sector belongs there. 2] current Grub version in Guix during boots generated this error: error: symbol 'grub_term_highlight_color' not found and started rescue shell. It seems to be a bit mystic bug: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1289977 Strange. I haven’t experienced it. Sounds like a .mod wasn’t found or something like that? That could be a bug related to separate /boot. Yes, sounds like something like that. Important for me is that the same command with same configuration worked when I used version from Gentoo so I don't think it's bug elsewhere but in Grub version. I'm also interested in running chroot in Guix. This is something I like about all Linux distribution I use - I can run Linux and at the same time I prepare another Linux root filesystem for use. It seems that chrooting into Guix may be tricky. I prepared this script to be placed somewhere into Guix: --%- #!/run/current-system/profile/bin/bash export LIBRARY_PATH=LIBRARY_PATH=/root/.guix-profile/lib export CPATH=/root/.guix-profile/include export PATH=/run/setuid-programs:/run/current-system/profile/sbin:/root/.guix-profile/bin:/run/current-system/profile/bin export INFOPATH=/root/.guix-profile/share/info:/run/current-system/profile/share/info exec bash -i --% for i in dev proc sys; do mount -R /$i /guix_mountpoint/$i; done chroot /guix_mountpoint/ /helper_script.sh I suppose this works, right? Yes :) Ludovic said that `guix packages --search-paths' should generate similar path configuration so it may be the right way, but it didn't work for me. I realize ‘guix package --search-paths’ wouldn’t suffice here. You may want to source /etc/profile from within the chroot. OK, I'll play with this to improve it. S_W
Re: Packaging Coq
On Thu, Dec 04, 2014 at 06:56:25PM -0500, Mark H Weaver wrote: Andreas Enge andr...@enge.fr writes: Instead of this, you could use #:make-flags '(world) IMO, this is a misuse of #:make-flags. 'world' is not a make flag, it is a make *target*. The make flags are also passed to 'make' during the default 'check' and 'install' phases. In that case, maybe we should add a variable 'build-target' to our build system. Andreas
Re: use zsh as login shell
Here are my new patches: Yeh, just add ~/.zshrc to source /etc/profie is enough. From 42ccd7a445c9676db6d2c7b2b0583db45be245aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= iyzs...@gmail.com Date: Fri, 5 Dec 2014 20:01:07 +0800 Subject: [PATCH 1/2] system: Cleanup bash startup files. * gnu/system.scm (etc-directory) (bashrc): Rename to (profile). 'CPATH', 'LIBRARY_PATH': Remove. 'PS1', 'alias ls', 'alias ll': Move to ... * gnu/system/shadow.scm (default-skeletons): (.bashrc): ... here. Don't source /etc/profile. (.bash_profile): New skeleton. --- gnu/system.scm| 13 - gnu/system/shadow.scm | 13 + 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index e1ed1a2..a851ff2 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -384,10 +384,9 @@ This is the GNU system. Welcome.\n) (nsswitch (text-file nsswitch.conf hosts: files dns\n)) - ;; TODO: Generate bashrc from packages' search-paths. - (bashrc(text-file* bashrc -export PS1='\\u@\\h \\w\\$ ' - + ;; Startup file for POSIX-compliant login shells, which set system-wide + ;; environment variables. + (profile(text-file* profile \ export LC_ALL=\ locale \ export TZ=\ timezone \ export TZDIR=\ tzdata /share/zoneinfo\ @@ -397,11 +396,7 @@ export LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH -export CPATH=$HOME/.guix-profile/include: profile /include -export LIBRARY_PATH=$HOME/.guix-profile/lib: profile /lib export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info -alias ls='ls -p --color' -alias ll='ls -l' )) (skel (skeleton-directory skeletons))) (file-union etc @@ -414,7 +409,7 @@ alias ll='ls -l' (nsswitch.conf ,#~#$nsswitch) (skel ,#~#$skel) (shells ,#~#$shells) - (profile ,#~#$bashrc) + (profile ,#~#$profile) (hosts ,#~#$hosts-file) (localtime ,#~(string-append #$tzdata /share/zoneinfo/ #$timezone)) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 6970021..4a2322b 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -115,9 +115,13 @@ (copy-file (car (find-files #$guile-wm wm-init-sample.scm)) #$output))) - (mlet %store-monad ((bashrc (text-file bashrc \ -# Allow non-login shells such as an xterm to get things right. -test -f /etc/profile source /etc/profile\n)) + (mlet %store-monad ((profile (text-file bash_profile \ +# Honor per-interactive-shell startup file +if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n)) + (bashrc (text-file bashrc \ +PS1='\\u@\\h \\w\\$ ' +alias ls='ls -p --color' +alias ll='ls -l'\n)) (guile-wm (gexp-derivation guile-wm copy-guile-wm #:modules '((guix build utils @@ -127,7 +131,8 @@ XTerm*metaSendsEscape: true\n)) (gdbinit (text-file gdbinit \ # Tell GDB where to look for separate debugging files. set debug-file-directory ~/.guix-profile/lib/debug\n))) -(return `((.bashrc ,bashrc) +(return `((.bash_profile ,profile) + (.bashrc ,bashrc) (.Xdefaults ,xdefaults) (.guile-wm ,guile-wm) (.gdbinit ,gdbinit) -- 2.1.2 From 043e4d9b6743654e048d3495cb5bfa592d17e6c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= iyzs...@gmail.com Date: Fri, 5 Dec 2014 21:17:49 +0800 Subject: [PATCH 2/2] system: Add skeleton '.zshrc'. * gnu/system/shadow.scm (default-skeletons): Add .zshrc. --- gnu/system/shadow.scm | 4 1 file changed, 4 insertions(+) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 4a2322b..a0b9f56 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -122,6 +122,9 @@ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n)) PS1='\\u@\\h \\w\\$ ' alias ls='ls -p --color' alias ll='ls -l'\n)) + (zshrc (text-file zshrc \ +# Honor system-wide environment variables +source /etc/profile\n)) (guile-wm (gexp-derivation guile-wm copy-guile-wm #:modules '((guix build utils @@ -133,6 +136,7 @@ XTerm*metaSendsEscape: true\n)) set debug-file-directory ~/.guix-profile/lib/debug\n))) (return `((.bash_profile ,profile) (.bashrc ,bashrc) + (.zshrc ,zshrc) (.Xdefaults ,xdefaults) (.guile-wm ,guile-wm)
Re: [PATCH] gnu: tzdata: Upgrade to 2014j.
Alex Kost alez...@gmail.com writes: If I understand correctly this upgrade should be pushed into core-updates, right? From f413da0721cbf8558a692f2707bcf9cb778def58 Mon Sep 17 00:00:00 2001 From: Alex Kost alez...@gmail.com Date: Fri, 5 Dec 2014 15:59:00 +0300 Subject: [PATCH] gnu: tzdata: Upgrade to 2014j. --- gnu/packages/base.scm | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 4f28306..85e92aa 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Andreas Enge andr...@enge.fr ;;; Copyright © 2012 Nikita Karetnikov nik...@karetnikov.org ;;; Copyright © 2014 Mark H Weaver m...@netris.org +;;; Copyright © 2014 Alex Kost alez...@gmail.com ;;; ;;; This file is part of GNU Guix. ;;; @@ -502,7 +503,7 @@ with the Linux kernel.) (define-public tzdata (package (name tzdata) -(version 2014a) +(version 2014j) (source (origin (method url-fetch) (uri (string-append @@ -510,7 +511,7 @@ with the Linux kernel.) version .tar.gz)) (sha256 (base32 - 1cg843ajz4g16axpz56zvalwsbp1s764na2bk4fb44ayx162bzvw + 038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52 (build-system gnu-build-system) (arguments '(#:tests? #f @@ -557,7 +558,7 @@ with the Linux kernel.) version .tar.gz)) (sha256 (base32 - 1xfkqi1q8cnxqbv8azdj5pqlzhkjz6xag09f1z0s8rxi86jkpf85)) + 1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z)) (home-page http://www.iana.org/time-zones;) (synopsis Database of current and historical time zones) (description The Time Zone Database (often called tz or zoneinfo) -- 2.1.3 I thinks it's fine to push. run: guix gc --referrers /gnu/store/q3w00wn1k1bv13yngyr2ysqvvspi09vf-tzdata-2014a just give me: /gnu/store/1pfk74cdy9qpc0w745k19wdb704bkmp8-environment /gnu/store/nxxmr96fsib315nrwh945833imvhqc21-etc ... (other etc and environment)
Re: Packaging Coq
Andreas Enge andr...@enge.fr writes: On Thu, Dec 04, 2014 at 06:56:25PM -0500, Mark H Weaver wrote: Andreas Enge andr...@enge.fr writes: Instead of this, you could use #:make-flags '(world) IMO, this is a misuse of #:make-flags. 'world' is not a make flag, it is a make *target*. The make flags are also passed to 'make' during the default 'check' and 'install' phases. In that case, maybe we should add a variable 'build-target' to our build system. Sounds reasonable to me, although it should be 'build-targets' since there is often more than one. Ditto for 'install-targets' and 'check-targets' (or 'test-targets') if we don't already have them. On the other hand, I'm not sure that these are needed often enough to justify these new variables. What do others think? Mark
Re: use zsh as login shell
Mark H Weaver m...@netris.org skribis: l...@gnu.org (Ludovic Courtès) writes: 宋文武 iyzs...@gmail.com skribis: + (mlet %store-monad ((bash-profile (text-file bash_profile \ +# honor ~/.bashrc if the shell is interactive +[[ $- == *i* ]] source ~/.bashrc I don’t think the test is needed, because ~/.bash_profile is only read by interactive Bash. Indeed. However, it would be good to check if ~/.bashrc exists. Section 6.2 of the Bash manual suggests this: if [ -f ~/.bashrc ]; then . ~/.bashrc; fi Yes. +# load system-wide environment varibales +source /etc/environment + +# common varibales for user profile +export PATH=$HOME/.guix-profile/bin:$HOME/.guix-profile/sbin:$PATH +export INFOPATH=$HOME/.guix-profile/share/info:$INFOPATH\n)) + (bashrc (text-file bashrc \ +PS1='\\u@\\h \\w\\$ ' I think PS1 should go to /etc/profile. WDYT? I agree with 宋文武 that the PS1 setting belongs in the default ~/.bashrc skeleton. I would prefer to keep settings like this, that are purely a matter of personal taste, out of system-wide files. Also, /etc/profile is read by other shells, and I don't know that the syntax above is portable. OK, that makes sense to me. Ludo’.
Re: poor scrolling in qemu-kvm
On Mon, Dec 01, 2014 at 09:20:49AM +0100, Federico Beffa wrote: It sounds like you did quite some work on it already. Please go on if you like. I'm not trying to step on anyone's feet :-) Difficult to step on anyone's feet by doing work ;-) I am definitely not going to work on guix refresh in the near future. I could work on updating x.org, but not before next year, or maybe leisurely during Christmas holidays. Andreas
[PATCH 2/2] gnu: fish: Use /etc as sysconfdir
From c013b47d1947b1d0f01ce95e2ed8ecf98c236b65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= iyzs...@gmail.com Date: Sat, 6 Dec 2014 14:53:00 +0800 Subject: [PATCH 2/2] gnu: fish: Use /etc as sysconfdir. * gnu/packages/fish.scm (fish) [arguments]: Add #:configure-flags. [origin]: Add snippet. --- gnu/packages/fish.scm | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm index ee11124..9398446 100644 --- a/gnu/packages/fish.scm +++ b/gnu/packages/fish.scm @@ -35,14 +35,20 @@ version /fish- version .tar.gz)) (sha256 (base32 -096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p +096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p)) + (modules '((guix build utils))) + ;; Don't try to install /etc/fish/config.fish. + (snippet + '(substitute* Makefile.in + ((.*INSTALL.*sysconfdir.*fish.*) ) (build-system gnu-build-system) (native-inputs `((doxygen ,doxygen))) (inputs `((ncurses ,ncurses))) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f ; no check target + #:configure-flags '(--sysconfdir=/etc))) (synopsis The friendly interactive shell) (description Fish (friendly interactive shell) is a shell focused on interactive use, -- 2.1.2