mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-25 05:48:07 -05:00
build: Make 'chroot' a hard requirement.
* config-daemon.ac: Error out when $ac_cv_func_chroot is not "yes". * nix/nix-daemon/guix-daemon.cc (options): Remove #ifdef HAVE_CHROOT. (main): Likewise.
This commit is contained in:
parent
6a070700df
commit
3b9855f496
2 changed files with 12 additions and 19 deletions
|
@ -75,6 +75,10 @@ if test "x$guix_build_daemon" = "xyes"; then
|
||||||
AC_CHECK_FUNCS([chroot unshare])
|
AC_CHECK_FUNCS([chroot unshare])
|
||||||
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h tr1/unordered_set])
|
AC_CHECK_HEADERS([sched.h sys/param.h sys/mount.h tr1/unordered_set])
|
||||||
|
|
||||||
|
if test "x$ac_cv_func_chroot" != "xyes"; then
|
||||||
|
AC_MSG_ERROR(['chroot' function missing, bailing out])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl lutimes and lchown: used when canonicalizing store items.
|
dnl lutimes and lchown: used when canonicalizing store items.
|
||||||
dnl posix_fallocate: used when extracting archives.
|
dnl posix_fallocate: used when extracting archives.
|
||||||
dnl vfork: to speed up spawning of helper programs.
|
dnl vfork: to speed up spawning of helper programs.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* GNU Guix --- Functional package management for GNU
|
/* GNU Guix --- Functional package management for GNU
|
||||||
Copyright (C) 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
Copyright (C) 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
|
||||||
This file is part of GNU Guix.
|
This file is part of GNU Guix.
|
||||||
|
|
||||||
|
@ -82,19 +82,9 @@ static const struct argp_option options[] =
|
||||||
{ "max-jobs", 'M', "N", 0,
|
{ "max-jobs", 'M', "N", 0,
|
||||||
"Allow at most N build jobs" },
|
"Allow at most N build jobs" },
|
||||||
{ "disable-chroot", GUIX_OPT_DISABLE_CHROOT, 0, 0,
|
{ "disable-chroot", GUIX_OPT_DISABLE_CHROOT, 0, 0,
|
||||||
"Disable chroot builds"
|
"Disable chroot builds" },
|
||||||
#ifndef HAVE_CHROOT
|
|
||||||
" (chroots are not supported in this configuration, so "
|
|
||||||
"this option has no effect)"
|
|
||||||
#endif
|
|
||||||
},
|
|
||||||
{ "chroot-directory", GUIX_OPT_CHROOT_DIR, "DIR", 0,
|
{ "chroot-directory", GUIX_OPT_CHROOT_DIR, "DIR", 0,
|
||||||
"Add DIR to the build chroot"
|
"Add DIR to the build chroot" },
|
||||||
#ifndef HAVE_CHROOT
|
|
||||||
" (chroots are not supported in this configuration, so "
|
|
||||||
"this option has no effect)"
|
|
||||||
#endif
|
|
||||||
},
|
|
||||||
{ "build-users-group", GUIX_OPT_BUILD_USERS_GROUP, "GROUP", 0,
|
{ "build-users-group", GUIX_OPT_BUILD_USERS_GROUP, "GROUP", 0,
|
||||||
"Perform builds as a user of GROUP" },
|
"Perform builds as a user of GROUP" },
|
||||||
{ "no-substitutes", GUIX_OPT_NO_SUBSTITUTES, 0, 0,
|
{ "no-substitutes", GUIX_OPT_NO_SUBSTITUTES, 0, 0,
|
||||||
|
@ -255,12 +245,13 @@ main (int argc, char *argv[])
|
||||||
See <http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html>. */
|
See <http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html>. */
|
||||||
umask (S_IWGRP | S_IWOTH);
|
umask (S_IWGRP | S_IWOTH);
|
||||||
|
|
||||||
#ifdef HAVE_CHROOT
|
#ifndef HAVE_CHROOT
|
||||||
settings.useChroot = true;
|
# error chroot is assumed to be available
|
||||||
#else
|
|
||||||
settings.useChroot = false;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Always use chroots by default. */
|
||||||
|
settings.useChroot = true;
|
||||||
|
|
||||||
/* Turn automatic deduplication on by default. */
|
/* Turn automatic deduplication on by default. */
|
||||||
settings.autoOptimiseStore = true;
|
settings.autoOptimiseStore = true;
|
||||||
|
|
||||||
|
@ -335,7 +326,6 @@ main (int argc, char *argv[])
|
||||||
fprintf (stderr, "warning: daemon is running as root, so "
|
fprintf (stderr, "warning: daemon is running as root, so "
|
||||||
"using `--build-users-group' is highly recommended\n");
|
"using `--build-users-group' is highly recommended\n");
|
||||||
|
|
||||||
#ifdef HAVE_CHROOT
|
|
||||||
if (settings.useChroot)
|
if (settings.useChroot)
|
||||||
{
|
{
|
||||||
foreach (PathSet::iterator, i, settings.dirsInChroot)
|
foreach (PathSet::iterator, i, settings.dirsInChroot)
|
||||||
|
@ -344,7 +334,6 @@ main (int argc, char *argv[])
|
||||||
format ("directory `%1%' added to the chroot") % *i);
|
format ("directory `%1%' added to the chroot") % *i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
printMsg (lvlDebug,
|
printMsg (lvlDebug,
|
||||||
format ("automatic deduplication set to %1%")
|
format ("automatic deduplication set to %1%")
|
||||||
|
|
Loading…
Reference in a new issue