summaryrefslogtreecommitdiff
path: root/daemon.am
Commit message (Collapse)AuthorAgeFilesLines
* Rename 'guix substitute-binary' to 'guix substitute'.Ludovic Courtès2015-03-251-1/+1
| | | | | | | | | | | | | | | | | | | * guix/scripts/substitute-binary.scm: Rename to... * guix/scripts/substitute.scm: ... this. Adjust module name, entry point, comments, and help string accordingly. * nix/scripts/substitute-binary.in: Rename to... * nix/scripts/substitute.in: ... this. * pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly. * tests/substitute-binary.scm: Rename to... * tests/substitute.scm: ... this. Adjust references to (guix scripts substitute) accordingly. * guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to "substitute". * Makefile.am (MODULES, SCM_TESTS): Adjust to file renames. * daemon.am (nodist_pkglibexec_SCRIPTS): Likewise. * config-daemon.ac: Likewise. * guix/tests.scm (call-with-derivation-narinfo): Adjust comments and docstring.
* build: Remove reference to non-existent file.Ludovic Courtès2015-01-261-2/+1
| | | | * daemon.am (EXTRA_DIST): Remove nix/sync-with-upstream.
* doc: Make sure out-of-source-tree builds find os-config.tmpl.Ludovic Courtès2014-07-241-1/+1
| | | | | | | | | * Makefile.am (BUILT_SOURCES): New variable. * daemon.am (BUILT_SOURCES): Use +=. * doc.am (BUILT_SOURCES, MAINTAINERCLEANFILES, EXTRA_DIST): Add doc/os-config.texi. (doc/os-config.texi): New target. * doc/guix.texi (System Installation): Include os-config.texi.
* build: Remove now useless Boost headers.Ludovic Courtès2014-04-041-7/+1
| | | | | * daemon.am (libformat_headers): Remove 6 nix/boost files that were removed in Nix commit 1c2550a2ae826c422cf6d34f1c5c3e687474929d.
* Update 'nix-upstream' sub-module.Ludovic Courtès2014-04-031-2/+3
| | | | | * nix-upstream: Update. * daemon.am (AM_CXXFLAGS): Add -std=c++0x.
* build: Change state and log directories to $localstatedir/.../guix.Ludovic Courtès2014-03-091-2/+2
| | | | | | * daemon.am (libstore_a_CPPFLAGS): Change /nix to /guix. * guix/config.scm.in (%state-directory): Likewise. * guix/store.scm (log-file): Likewise.
* Add 'guix offload' as a daemon build hook.Ludovic Courtès2014-01-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_NO_BUILD_HOOK): New macro. (options): Add '--no-build-hook'. (parse_opt): Handle it. (main)[HAVE_DAEMON_OFFLOAD_HOOK]: Set 'useBuildHook' by default. Set $NIX_BUILD_HOOK to our offload hook unless otherwise specified. [!HAVE_DAEMON_OFFLOAD_HOOK]: Clear 'useBuildHook'. * pre-inst-env.in: Set and export NIX_BUILD_HOOK. * nix/scripts/offload.in, guix/scripts/offload.scm: New files. * guix/ui.scm (show-guix-help)[internal?]: Add "offload". * config-daemon.ac: Call 'GUIX_CHECK_UNBUFFERED_CBIP'. Instantiate 'nix/scripts/offload'. Set 'BUILD_DAEMON_OFFLOAD' conditional, and optionally define 'HAVE_DEAMON_OFFLOAD_HOOK' cpp macro. * daemon.am (nodist_pkglibexec_SCRIPTS)[BUILD_DAEMON_OFFLOAD]: Add it. * Makefile.am (MODULES)[BUILD_DAEMON_OFFLOAD]: Add 'guix/scripts/offload.scm'. (EXTRA_DIST)[!BUILD_DAEMON_OFFLOAD]: Likewise. * m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): New macro. * doc/guix.texi (Setting Up the Daemon): Move most of the body to... (Build Environment Setup): ... this. New subsection. (Daemon Offload Setup): New subsection.
* Update 'nix-upstream' sub-module; adjust build system, doc, and substituter.Ludovic Courtès2014-01-181-11/+3
| | | | | | | | | | | | | * nix-upstream: Update sub-module. * daemon.am (libutil_a_SOURCES): Add affinity.cc. (libutil_headers): Add affinity.hh. (libexec_PROGRAMS, nix_setuid_helper_SOURCES, nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): Remove. * doc/guix.texi (Setting Up the Daemon): Remove paragraph about 'nix-setuid-helper'. * guix/scripts/substitute-binary.scm (guix-substitute-binary): Exit 0 when %CACHE-URL has an HTTP scheme and looking up its host fails. Always print a newline to stdout when starting.
* build: Install 'guix-authenticate'.Ludovic Courtès2013-12-221-0/+4
| | | | * daemon.am (nodist_libexec_SCRIPTS): New variable.
* daemon: Implement signed archive import/export.Ludovic Courtès2013-12-201-2/+2
| | | | | | | | | | | | | | | | | | | | | * guix/scripts/authenticate.scm, nix/scripts/guix-authenticate.in, tests/signing-key.pub, tests/signing-key.sec: New files. * po/POTFILES.in: Add 'guix/scripts/authenticate.scm'. * guix/store.scm (dump-port): New procedure. (process-stderr): Add 'user-port' optional parameter. Handle the %STDERR-WRITE and %STDERR-READ cases as expected. (import-paths, export-path, export-paths): New procedures. * tests/store.scm ("export/import several paths", "import corrupt path"): New tests. * Makefile.am (MODULES): Add 'guix/scripts/authenticate.scm'. (EXTRA_DIST): Add 'tests/signing-key.{pub,sec}'. * daemon.am (libstore_a_CPPFLAGS)[-DNIX_CONF_DIR]: Change 'NIX_CONF_DIR' to .../guix. Change 'OPENSSL_PATH' to 'guix-authenticate'. * config-daemon.ac: Instantiate 'nix/scripts/guix-authenticate'. * nix/nix-daemon/guix-daemon.cc (main): Augment $PATH to include 'settings.nixLibexecDir'. * test-env.in: Export 'NIX_CONF_DIR' and 'NIX_LIBEXEC_DIR'. Populate $NIX_CONF_DIR.
* Add 'guix-register'.Ludovic Courtès2013-09-231-0/+16
| | | | | | | | | | * nix/guix-register/guix-register.cc, tests/guix-register.sh: New files. * Makefile.am (SH_TESTS)[BUILD_DAEMON]: Add tests/guix-register.sh. * daemon.am (sbin_PROGRAMS, guix_register_SOURCES, guix_register_CPPFLAGS, guix_register_LDADD): New variables. * test-env.in: Export 'storedir', 'prefix', 'datarootdir', 'datadir', and 'localstatedir'.
* build: Build the daemon with -Wall.Ludovic Courtès2013-09-231-0/+2
| | | | * daemon.am (AM_CXXFLAGS): New variable.
* build: Pass the appropriate flags when building `libstore.a'.Ludovic Courtès2013-04-081-1/+1
| | | | | * daemon.am (libstore_a_CFLAGS): Rename to... (libstore_a_CXXFLAGS): ... this.
* Add preliminary binary substituter.Ludovic Courtès2013-04-031-1/+2
| | | | | | | | | | | | | | | | | | * guix/scripts/substitute-binary.scm: New file. * Makefile.am (MODULES): Add it. * nix/scripts/substitute-binary.in: New file. * config-daemon.ac: Produce nix/scripts/substitute-binary. * daemon.am (nodist_pkglibexec_SCRIPTS): Add nix/scripts/substitute-binary. * guix/store.scm (substitutable-path-info): Use the `query-substitutable-path-infos' RPC. * nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'. * pre-inst-env.in: Set `NIX_SUBSTITUTERS'. * test-env.in: Leave `NIX_SUBSTITUTERS' unchanged. Set `GUIX_BINARY_SUBSTITUTE_URL, and create $NIX_STATE_DIR/substituter-data. Run `guix-daemon' within `./pre-inst-env'. * tests/store.scm ("substitute query"): New test.
* build: Add missing -I flag for the daemon.Ludovic Courtès2013-02-191-0/+1
| | | | * daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh.
* daemon: Remove reference to immutable.{cc,hh}, which no longer exist.Ludovic Courtès2013-01-151-3/+1
| | | | | | | * daemon.am (libutil_a_SOURCES): Remove nix/libutil/immutable.cc. (libutil_headers): Remove nix/libutil/immutable.hh. These files were removed in Nix commit def5160 (post 1.2). Reported by Nikita Karetnikov <nikita@karetnikov.org>.
* Update license headers.Ludovic Courtès2013-01-061-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change all license headers, except guix/build/* and ld-wrapper.scm, with this code: (use-modules (guix build utils) (srfi srfi-1)) (fluid-set! %default-port-encoding "UTF-8") (substitute* (remove (lambda (f) (or (string-contains f ".tar.") (string-contains f ".git/") (string-contains f ".so") (string-suffix? ".o" f) (string-suffix? ".a" f) (string-suffix? ".go" f) (string-suffix? ".pdf" f) (string-suffix? ".png" f) (string-suffix? ".info" f) (equal? (basename f) "guix-daemon") (equal? (basename f) "nix-setuid-helper") (string-contains f "nix-upstream/") (string-contains f "distro/packages/bootstrap/"))) (find-files "." "\\.[a-z]+$")) (("^([[:graph:]]+) This file is part of Guix." _ comment-start) (string-append comment-start " This file is part of GNU Guix.")) (("^([[:graph:]]+) Guix --- Nix package management.*" _ comment-start) (string-append comment-start " GNU Guix --- Functional package management for GNU\n")) (("^([[:graph:]]+) Guix is " _ comment-start) (string-append comment-start " GNU Guix is ")) (("^([[:graph:]]+) along with Guix." _ comment-start) (string-append comment-start " along with GNU Guix.")) (("^([[:graph:]]+) Copyright \\(C\\)" _ comment-start) (string-append comment-start " Copyright ©"))) Change headers using C-style comments manually.
* build: Avoid error message during `make clean' when `test-tmp' doesn't exist.Ludovic Courtès2012-12-311-1/+3
| | | | | * daemon.am (clean-local): Check whether $(GUIX_TEST_ROOT) exists before running `find'.
* daemon: Build `nix-setuid-helper'.Ludovic Courtès2012-12-141-0/+10
| | | | | | | * daemon.am (libexec_PROGRAMS, nix_setuid_helper_SOURCES, nix_setuid_helper_CPPFLAGS, nix_setuid_helper_LDADD): New variables. * test-env.in: Set and export `NIX_SETUID_HELPER'. * README (Installing Guix as non-root): New section.
* daemon: Use `openssl' from $PATH.Ludovic Courtès2012-12-121-1/+1
| | | | | * daemon.am (-DOPENSSL_PATH): Default to "openssl". * TODO: Mention removal of OpenSSL dependency.
* build: Add missing daemon header to the distribution.Ludovic Courtès2012-12-061-1/+4
| | | | | * daemon.am (guix_daemon_headers): New variable. (noinst_HEADERS): Add it.
* build: Run all the tests against the just-built daemon.Ludovic Courtès2012-12-061-6/+3
| | | | | | | | | | | | | | * test-env.in: New file. * configure.ac: Add it to `AC_CONFIG_FILES' and `commands-exec'. * config-daemon.ac: Set and substitute `GUIX_TEST_ROOT'. * Makefile.am (SCM_LOG_COMPILER, SH_LOG_COMPILER): Use it in lieu of `pre-inst-env'. * daemon.am (test_root): Remove (AM_TESTS_ENVIRONMENT): Remove `TEST_ROOT'. (clean-local): Use $(GUIX_TEST_ROOT); make files writable before removing them.guix_test_root * tests/guix-daemon.sh: Remove `NIX_' variable settings; don't launch `guix-daemon'.
* daemon: Add `list-runtime-roots' script.Ludovic Courtès2012-12-051-0/+4
| | | | | | | | | | * nix/scripts/list-runtime-roots.in: New file. * config-daemon.ac: Add `AC_CONFIG_FILES' invocation for it. * daemon.am (nodist_pkglibexec_SCRIPTS): New variable. (AM_TESTS_ENVIRONMENT): Define `top_builddir'. * tests/guix-daemon.sh: Export `NIX_ROOT_FINDER'. * nix/sync-with-upstream: Substitute the path to the root finder in libstore/gc.cc.
* daemon: Add test.Ludovic Courtès2012-12-041-0/+12
| | | | | | * daemon.am (test_root, AM_TESTS_ENVIRONMENT): New variables. (clean-local): New target. * tests/guix-daemon.sh: New file.
* build: Add `bootstrap' and `sync-with-upstream' scripts.Ludovic Courtès2012-12-031-0/+1
| | | | | | * bootstrap, nix/sync-with-upstream: New files. * Makefile.am (EXTRA_DIST): Add `bootstrap'. * daemon.am (EXTRA_DIST): Add `nix/sync-with-upstream'.
* build: Include a copy of Nix's libstore and daemon; build it.Ludovic Courtès2012-12-031-0/+152
* configure.ac: Call `AC_USE_SYSTEM_EXTENSIONS', and `GUIX_SYSTEM_TYPE'. Add `--with-store-dir' option, and substitute `storedir'. Include `config-daemon.ac'. * config-daemon.ac: New file. * Makefile.am [BUILD_DAEMON]: Include `daemon.am'. * daemon.am: New file. * m4/guix.m4 (GUIX_SYSTEM_TYPE): New macro. * nix/libutil/gcrypt-hash.cc, nix/libutil/gcrypt-hash.hh, nix/libutil/md5.h, nix/libutil/sha1.h, nix/libutil/sha256.h, nix/nix-daemon/guix-daemon.cc, nix/nix-daemon/shared.hh: New files.