guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mutt builds to fail on a barebones sytem


From: Ludovic Courtès
Subject: Re: mutt builds to fail on a barebones sytem
Date: Fri, 15 Jul 2016 16:27:33 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hi!

address@hidden (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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]