Hi! csanchez...@gmail.com (Carlos Sánchez de La Lama) skribis:
> I think I can shed some light on the problem. *If* during mutt configure > step, "/var/mail" is found to be group-writable, then mutt makefiles > decide mutt has to be setgid, to group "mail" unless overriden by > configure parameters. If "/var/mail" is not group-writable, then mutt is > built without setgid. > > This is performed by a test program in configure.ac which is: > > #include <sys/stat.h> > #include <stdlib.h> > > int main (int argc, char **argv) > { > struct stat s; > > stat ("$mutt_cv_mailpath", &s); > if (s.st_mode & S_IWGRP) exit (0); > exit (1); > } > > where $mutt_cv_mailpath is "/var/mail" (passed as configure parameter). > > The problem happens when "/var/mail" does not exist. "stat" return value > is not checked, so whatever garbage happens to be in s.st_mode can > randomly lead to detecting it as group-writable or not. Terrible. > If I create "/var/mail" on my system, I can build & install mutt in > "guix environment mutt". However, building in the chroot (with "guix > build") still fails. I am reaching the limits of my guix knowledge > here... how/where are chroot contents defined? The chroot content is described in the bullet list at: https://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.html The code that populates it is in nix/libstore/build.cc:1825. There’s no /var in the chroot. > I was going to report the bug to mutt (strictly speaking, it's theirs), > but seems it was already reported *and fixed* as bug #3810: > > https://dev.mutt.org/trac/ticket/3810 > > So reconfiguring with an updated tree would fix my problem (it's > building now). Great. Thanks, Ludo’.