Position of '--check' makes or breaks 'guix shell'

  • Open
  • quality assurance status badge
Details
2 participants
  • Felix Lechner
  • zimoun
Owner
unassigned
Submitted by
Felix Lechner
Severity
normal
F
F
Felix Lechner wrote on 30 Oct 2022 22:57
(address . bug-guix@gnu.org)
CAFHYt57cMhycKVDOMKmP_yT9-6cbRTsq8dUkMR=X54pLyO+dJQ@mail.gmail.com
Hi,

For the Guix file below, which is also available here [1], the
position of the --check makes or breaks the command.

With

guix shell --development --check --file=guix.scm

$ which autopoint

which: no autopoint in
(/home/lechner/.guix-home/profile/bin:/home/lechner/.guix-home/profile/sbin:/run/setuid-programs:/home/lechner/.config/guix/current/bin:/home/lechner/.guix-profile/bin:/home/lechner/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin)

while with

guix shell --development --file=guix.scm --check

$ which autopoint
/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/bin/autopoint

The list of the working and non-working environment variables can be
found at the very bottom of this message.

Kind regards
Felix Lechner


* * *

(use-modules
(gnu packages autotools)
(gnu packages gettext)
(gnu packages guile)
(gnu packages guile-xyz)
(gnu packages linux)
(gnu packages mes)
(gnu packages pkg-config)
(gnu packages)
(guix build-system gnu)
(guix download)
(guix gexp)
(guix git-download)
((guix licenses) #:prefix license:)
(guix packages)
(guix utils))

(define-public my-linux-pam
(package
(inherit linux-pam)
(version "1.5.2")
(source
(origin
(method url-fetch)
(uri (string-append
version "/Linux-PAM-" version ".tar.xz"))
(sha256
(base32
"0kgrsj2scv5mx6w925h9hxf11jnqqs9z8s22aw94b90xm4qp3v74"))
(patches (search-patches "linux-pam-no-setfsuid.patch"))))
(arguments (substitute-keyword-arguments
(package-arguments linux-pam)
((#:configure-flags flags)
;; explicit libdir; drop when
;; was resolved
'(list (string-append "--includedir="
(assoc-ref %outputs "out")
"/include/security")
(string-append "--libdir="
(assoc-ref %outputs "out")
"/lib")))))))

(define-public guile-pam
(let ((commit "65fef0971761f5b70191350884429da5bddcb4fa")
(revision "0"))
(package
(name "guile-pam")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"16zvwyv6hp58lffsniaas9kw23vlpwgzbrr7zs4p7391ybxx5gmm"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake libtool pkg-config
guile-3.0 my-linux-pam nyacc gnu-gettext))
(inputs (list guile-3.0 guile-lib my-linux-pam))
(synopsis "Write your Linux-PAM authentication logic in Guile Scheme")
(description
"Guile-PAM provides a way to rewrite your authentication logic in the
Linux PAM (pluggable authentication modules) in Guile Scheme. It should make
those modules more transparent to the administrator and more intuitive to
use.")
(license license:gpl3+))))

guile-pam

* * *

Working output of 'env':

ACLOCAL_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/share/aclocal:/home/lechner/.guix-home/profile/share/aclocal:/home/lechner/.guix-profile/share/aclocal
ALACRITTY_LOG=/tmp/Alacritty-18373.log
BASH_LOADABLES_PATH=/home/lechner/.guix-home/profile/lib/bash:/home/lechner/.guix-profile/lib/bash:/run/current-system/profile/lib/bash
C_INCLUDE_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/include:/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include
COLORTERM=truecolor
CPLUS_INCLUDE_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/include/c++:/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/include:/home/lechner/.guix-home/profile/include/c++:/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include/c++:/home/lechner/.guix-profile/include
DBUS_FATAL_WARNINGS=0
DICPATH=/home/lechner/.guix-profile/share/hunspell:/run/current-system/profile/share/hunspell
DISPLAY=:0.0
EMACSLOADPATH=/home/lechner/.guix-home/profile/share/emacs/site-lisp:/home/lechner/.guix-profile/share/emacs/site-lisp:/run/current-system/profile/share/emacs/site-lisp
GDK_PIXBUF_MODULE_FILE=/home/lechner/.guix-home/profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
GHC_PACKAGE_PATH=/home/lechner/.guix-home/profile/lib/ghc-8.10.7/package.conf.d
GIO_EXTRA_MODULES=/home/lechner/.guix-home/profile/lib/gio/modules:/run/current-system/profile/lib/gio/modules
GIT_EXEC_PATH=/home/lechner/.guix-home/profile/libexec/git-core
GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
_=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/bin/env
GST_PLUGIN_PATH=/home/lechner/.guix-profile/lib/gstreamer-1.0
GST_PLUGIN_SYSTEM_PATH=/home/lechner/.guix-home/profile/lib/gstreamer-1.0:/run/current-system/profile/lib/gstreamer-1.0
GTK_DATA_PREFIX=/run/current-system/profile
GUILE_LOAD_COMPILED_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib/guile/3.0/site-ccache:/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/share/guile/site/3.0:/home/lechner/.guix-home/profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0
GUILE_LOAD_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/share/guile/site/3.0:/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/share/guile/site/3.0
GUIX_ENVIRONMENT=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile
GUIX_GTK3_PATH=/home/lechner/.guix-home/profile/lib/gtk-3.0:/home/lechner/.guix-profile/lib/gtk-3.0:/run/current-system/profile/lib/gtk-3.0
GUIX_GTK4_PATH=/run/current-system/profile/lib/gtk-4.0
GUIX_LOCPATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib/locale:/run/current-system/locale:/gnu/store/mw3py6smb1pk8yx298hd9ivz9lzbksqi-glibc-utf8-locales-2.33/lib/locale
GUIX_PYTHONPATH=/home/lechner/.guix-home/profile/lib/python3.9/site-packages
HOME=/home/lechner
HUSHLOGIN=FALSE
INFOPATH=/home/lechner/.guix-home/profile/share/info:/home/lechner/.config/guix/current/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info
LANG=en_US.utf8
LIBRARY_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib:/home/lechner/.guix-home/profile/lib:/home/lechner/.guix-profile/lib
LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
LOGNAME=lechner
LV2_PATH=/home/lechner/.guix-home/profile/lib/lv2
MANPATH=/home/lechner/.guix-home/profile/share/man:/run/current-system/profile/share/man:/home/lechner/.guix-profile/share/man:/run/current-system/profile/share/man
MOTD_SHOWN=pam
NAUTILUS_EXTENSION_PATH=/run/current-system/profile/lib/nautilus/site-extensions
NM_VPN_PLUGIN_DIR=/gnu/store/s4j534jy2y6y4b5xff5adgwijxcrgjdl-network-manager-vpn-plugins/lib/NetworkManager/VPN
OLDPWD=/home/lechner
PASSWORD_STORE_SYSTEM_EXTENSION_DIR=/home/lechner/.guix-home/profile/lib/password-store/extensions
PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/bin:/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/sbin:/home/lechner/.guix-home/profile/bin:/home/lechner/.guix-home/profile/sbin:/run/setuid-programs:/home/lechner/.config/guix/current/bin:/home/lechner/.guix-profile/bin:/home/lechner/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin
PERL5LIB=/home/lechner/.guix-home/profile/lib/perl5/site_perl:/home/lechner/.guix-profile/lib/perl5/site_perl
PKG_CONFIG_PATH=/gnu/store/rcr081g34np6byhzj82m075487lnr6af-profile/lib/pkgconfig:/home/lechner/.guix-home/profile/lib/pkgconfig:/home/lechner/.guix-home/profile/share/pkgconfig:/home/lechner/.guix-profile/lib/pkgconfig:/home/lechner/.guix-profile/share/pkgconfig
PULSE_CLIENTCONFIG=/etc/pulse/client.conf
PULSE_CONFIG=/etc/pulse/daemon.conf
PWD=/lcl/lechner/guile-pam/git
QMAKEPATH=/home/lechner/.guix-home/profile/lib/qt5:/home/lechner/.guix-profile/lib/qt5
QT_PLUGIN_PATH=/home/lechner/.guix-home/profile/lib/qt5/plugins:/home/lechner/.guix-profile/lib/qt5/plugins
SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
SHLVL=4
SSL_CERT_DIR=/run/current-system/profile/etc/ssl/certs
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
TERM=alacritty
TERMINFO_DIRS=/home/lechner/.guix-home/profile/share/terminfo:/home/lechner/.guix-profile/share/terminfo
TZDIR=/gnu/store/7pjzwj9d4fnyzp9x7k8cc4hazypyrk0p-tzdata-2022a/share/zoneinfo
USER=lechner
WINDOWID=41943042
WINDOWPATH=2
XDG_CACHE_HOME=/home/lechner/.cache
XDG_CONFIG_DIRS=/home/lechner/.guix-home/profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
XDG_CONFIG_HOME=/home/lechner/.config
XDG_DATA_DIRS=/home/lechner/.guix-home/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share
XDG_DATA_HOME=/home/lechner/.local/share
XDG_LOG_HOME=/home/lechner/.local/var/log
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SESSION_CLASS=user
XDG_SESSION_ID=c3
XDG_SESSION_TYPE=tty
XDG_STATE_HOME=/home/lechner/.local/var/lib
XDG_VTNR=2
XTERM_LOCALE=en_US.utf8
XTERM_SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
XTERM_VERSION=XTerm(370)

* * *

Non-working output of 'env':

ACLOCAL_PATH=/home/lechner/.guix-home/profile/share/aclocal:/home/lechner/.guix-profile/share/aclocal
ALACRITTY_LOG=/tmp/Alacritty-18373.log
BASH_LOADABLES_PATH=/home/lechner/.guix-home/profile/lib/bash:/home/lechner/.guix-profile/lib/bash:/run/current-system/profile/lib/bash
C_INCLUDE_PATH=/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include
COLORTERM=truecolor
CPLUS_INCLUDE_PATH=/home/lechner/.guix-home/profile/include/c++:/home/lechner/.guix-home/profile/include:/home/lechner/.guix-profile/include/c++:/home/lechner/.guix-profile/include
DBUS_FATAL_WARNINGS=0
DICPATH=/home/lechner/.guix-profile/share/hunspell:/run/current-system/profile/share/hunspell
DISPLAY=:0.0
EMACSLOADPATH=/home/lechner/.guix-home/profile/share/emacs/site-lisp:/home/lechner/.guix-profile/share/emacs/site-lisp:/run/current-system/profile/share/emacs/site-lisp
GDK_PIXBUF_MODULE_FILE=/home/lechner/.guix-home/profile/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
GHC_PACKAGE_PATH=/home/lechner/.guix-home/profile/lib/ghc-8.10.7/package.conf.d
GIO_EXTRA_MODULES=/home/lechner/.guix-home/profile/lib/gio/modules:/run/current-system/profile/lib/gio/modules
GIT_EXEC_PATH=/home/lechner/.guix-home/profile/libexec/git-core
GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
GST_PLUGIN_PATH=/home/lechner/.guix-profile/lib/gstreamer-1.0
GST_PLUGIN_SYSTEM_PATH=/home/lechner/.guix-home/profile/lib/gstreamer-1.0:/run/current-system/profile/lib/gstreamer-1.0
GTK_DATA_PREFIX=/run/current-system/profile
GUILE_LOAD_COMPILED_PATH=/home/lechner/.guix-home/profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/lib/guile/3.0/site-ccache:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0
GUILE_LOAD_PATH=/home/lechner/.guix-home/profile/share/guile/site/3.0:/home/lechner/.guix-profile/share/guile/site/3.0:/run/current-system/profile/share/guile/site/3.0
GUIX_ENVIRONMENT=/gnu/store/xcr6x9rkzdmah3sgdgd5sbzp9sbnzwnd-profile
GUIX_GTK3_PATH=/home/lechner/.guix-home/profile/lib/gtk-3.0:/home/lechner/.guix-profile/lib/gtk-3.0:/run/current-system/profile/lib/gtk-3.0
GUIX_GTK4_PATH=/run/current-system/profile/lib/gtk-4.0
GUIX_LOCPATH=/run/current-system/locale:/gnu/store/mw3py6smb1pk8yx298hd9ivz9lzbksqi-glibc-utf8-locales-2.33/lib/locale
GUIX_PYTHONPATH=/home/lechner/.guix-home/profile/lib/python3.9/site-packages
HOME=/home/lechner
HUSHLOGIN=FALSE
INFOPATH=/home/lechner/.guix-home/profile/share/info:/home/lechner/.config/guix/current/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info:/home/lechner/.guix-profile/share/info:/run/current-system/profile/share/info
LANG=en_US.utf8
LIBRARY_PATH=/home/lechner/.guix-home/profile/lib:/home/lechner/.guix-profile/lib
LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
LOGNAME=lechner
LV2_PATH=/home/lechner/.guix-home/profile/lib/lv2
MANPATH=/home/lechner/.guix-home/profile/share/man:/run/current-system/profile/share/man:/home/lechner/.guix-profile/share/man:/run/current-system/profile/share/man
MOTD_SHOWN=pam
NAUTILUS_EXTENSION_PATH=/run/current-system/profile/lib/nautilus/site-extensions
NM_VPN_PLUGIN_DIR=/gnu/store/s4j534jy2y6y4b5xff5adgwijxcrgjdl-network-manager-vpn-plugins/lib/NetworkManager/VPN
OLDPWD=/home/lechner
PASSWORD_STORE_SYSTEM_EXTENSION_DIR=/home/lechner/.guix-home/profile/lib/password-store/extensions
PATH=/home/lechner/.guix-home/profile/bin:/home/lechner/.guix-home/profile/sbin:/run/setuid-programs:/home/lechner/.config/guix/current/bin:/home/lechner/.guix-profile/bin:/home/lechner/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin
PERL5LIB=/home/lechner/.guix-home/profile/lib/perl5/site_perl:/home/lechner/.guix-profile/lib/perl5/site_perl
PKG_CONFIG_PATH=/home/lechner/.guix-home/profile/lib/pkgconfig:/home/lechner/.guix-home/profile/share/pkgconfig:/home/lechner/.guix-profile/lib/pkgconfig:/home/lechner/.guix-profile/share/pkgconfig
PULSE_CLIENTCONFIG=/etc/pulse/client.conf
PULSE_CONFIG=/etc/pulse/daemon.conf
PWD=/lcl/lechner/guile-pam/git
QMAKEPATH=/home/lechner/.guix-home/profile/lib/qt5:/home/lechner/.guix-profile/lib/qt5
QT_PLUGIN_PATH=/home/lechner/.guix-home/profile/lib/qt5/plugins:/home/lechner/.guix-profile/lib/qt5/plugins
_=/run/current-system/profile/bin/env
SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
SHLVL=4
SSL_CERT_DIR=/run/current-system/profile/etc/ssl/certs
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
TERM=alacritty
TERMINFO_DIRS=/home/lechner/.guix-home/profile/share/terminfo:/home/lechner/.guix-profile/share/terminfo
TZDIR=/gnu/store/7pjzwj9d4fnyzp9x7k8cc4hazypyrk0p-tzdata-2022a/share/zoneinfo
USER=lechner
WINDOWID=41943042
WINDOWPATH=2
XDG_CACHE_HOME=/home/lechner/.cache
XDG_CONFIG_DIRS=/home/lechner/.guix-home/profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/home/lechner/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
XDG_CONFIG_HOME=/home/lechner/.config
XDG_DATA_DIRS=/home/lechner/.guix-home/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share:/home/lechner/.guix-profile/share:/run/current-system/profile/share
XDG_DATA_HOME=/home/lechner/.local/share
XDG_LOG_HOME=/home/lechner/.local/var/log
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SESSION_CLASS=user
XDG_SESSION_ID=c3
XDG_SESSION_TYPE=tty
XDG_STATE_HOME=/home/lechner/.local/var/lib
XDG_VTNR=2
XTERM_LOCALE=en_US.utf8
XTERM_SHELL=/gnu/store/d99ykvj3axzzidygsmdmzxah4lvxd6hw-bash-5.1.8/bin/bash
XTERM_VERSION=XTerm(370)
Z
Z
zimoun wrote on 2 Nov 2022 14:05
87zgd9ecbx.fsf@gmail.com
Hi,

On dim., 30 oct. 2022 at 14:57, Felix Lechner via Bug reports for GNU Guix <bug-guix@gnu.org> wrote:

Toggle quote (16 lines)
> For the Guix file below, which is also available here [1], the
> position of the --check makes or breaks the command.
>
> With
>
> guix shell --development --check --file=guix.scm
>
> $ which autopoint
>
> which: no autopoint in
> (/home/lechner/.guix-home/profile/bin:/home/lechner/.guix-home/profile/sbin:/run/setuid-programs:/home/lechner/.config/guix/current/bin:/home/lechner/.guix-profile/bin:/home/lechner/.guix-profile/sbin:/run/current-system/profile/bin:/run/current-system/profile/sbin)
>
> while with
>
> guix shell --development --file=guix.scm --check

It appears to me similar as #bug58859 [1]. The issue is that almost all
Guix subcommands process command line arguments from right to left.
When mixed «behaviour» argument as ’-D’ and «action» argument as
’--check’, it seems missing a plan to always process using the same
order. Unrelated to “guix shell”, it had been discussed for “guix
package”, see [2].



Cheers,
simon
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 58908@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 58908
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch