aboutsummaryrefslogtreecommitdiff
Derive([("out","/nix/store/yd0v41r8kj49xcjric62gk47lss9vdyg-hurd-qemu-test-build","","")],[("/nix/store/2fgw8gkxs1k8hfcsvir3q9wnkifdzs2s-bash-4.2-p20.drv",["out"]),("/nix/store/31n2fn5h1gydqs3a9zm5g40d2f886i7g-gnused-4.2.1-i586-pc-gnu.drv",["out"]),("/nix/store/34y69yzzb9a1v1fmixiqfhip9s57pybf-gnugrep-2.10-i586-pc-gnu.drv",["out"]),("/nix/store/6n80yhr7cwip45w8rccyk4bp7g7zlkwq-gnu-global-user-environment.drv",["out"]),("/nix/store/88ymj8xwrkmadyabbc1z96x4prabkhsx-gnumake-3.82-i586-pc-gnu.drv",["out"]),("/nix/store/8c61y42zw57axxixl0wikq6vszjbf9bw-qemu-kvm-0.15.1.drv",["out"]),("/nix/store/8dd520i02y7pkh5ynm7d5jb2lk0m7wzn-mig-20100512-i586-pc-gnu.drv",["out"]),("/nix/store/b4lcngrsl838jg37yn510g888nlf0f1v-gawk-4.0.0-i586-pc-gnu.drv",["out"]),("/nix/store/c4bq6crxpl4y9wd18fkvn81vj93m9wph-findutils-4.4.2-i586-pc-gnu.drv",["out"]),("/nix/store/dgbh8qzl4rr89jsrlsy382z84lmfwsj1-bzip2-1.0.6-i586-pc-gnu.drv",["out"]),("/nix/store/dsplzdbcqwgi9ybb7pfk5z9w6vxbn48h-diffutils-3.2-i586-pc-gnu.drv",["out"]),("/nix/store/f6d7aw8ji6yx715hr91a5bvlbr8hp818-hurd-tarball-0.drv",["out"]),("/nix/store/i81h625d3f6m8v587hx5mq6z6agkg221-gnused-4.2.1.drv",["out"]),("/nix/store/j3kf9392mxcs81vqnn06p5npb8lz4wn8-vm-run.drv",["out"]),("/nix/store/jqv7c1znv48c4w0vk4lmsczjxy0n0hjd-unionfs-20120313-i586-pc-gnu.drv",["out"]),("/nix/store/k34s0wnr7g7bshs61whzrp1vsg8gxzvq-gnutar-1.26-i586-pc-gnu.drv",["out"]),("/nix/store/m56fidnal30ns3zv7bqsxncnmpbqqymq-gnumach-20120303-i586-pc-gnu.drv",["out"]),("/nix/store/phn4yvgccfqyw6izcjbj1kh7lbxkkz4a-bash-4.2-p20-i586-pc-gnu.drv",["out"]),("/nix/store/q86x3m69wq2inrrgsa28d09aapah3nsq-hurd-0.drv",["out"]),("/nix/store/s79ij8nbf48ib60xdwpgf70jhksga31n-stdenv.drv",["out"]),("/nix/store/shsa80axsaxfkdlzpbw5d9ijgjqlmn05-gcc-wrapper-4.6.3-i586-pc-gnu.drv",["out"]),("/nix/store/x55vzgh17b41g1p1c6wf97pjy5mnww1d-gzip-1.4-i586-pc-gnu.drv",["out"]),("/nix/store/y7s99gdw53gf7d7bzhq9snbpdwjqa1ih-smbfs-2012-03-15-i586-pc-gnu.drv",["out"]),("/nix/store/yjq2plg890za7s16mm08x1jyfzj0q5hz-hurd-qemu-image.drv",["out"]),("/nix/store/yjzyf7ngsk816c2al76yprplnxysiwpz-xz-5.0.3-i586-pc-gnu.drv",["out"])],[],"x86_64-linux","/nix/store/xl3xf36l7mzwnl0fr6wxajhzhnm95ygm-bash-4.2-p20/bin/sh",["-e","/nix/store/yrzi7zsymp1a4hrjz75k4fk32kag4pzl-vm-run"],[("QEMU_OPTS","-m 512"),("buildCommand","echo 'Hey, this operating system works like a charm!'\n              echo \"Let's see if it can rebuild itself...\"\n\n              ( tar xvf \"/nix/store/kck9pjd6y2l1q15384sxywaknfm6b78f-hurd-tarball-0/tarballs/\"*.tar.gz ;\n                cd hurd-* ;\n                export PATH=\"/nix/store/svz656lvxh0li2pndfgdmgr4i48kbrv8-gawk-4.0.0-i586-pc-gnu/bin:$PATH\" ;\n                set -e ;\n                ./configure --without-parted --prefix=\"/host/xchg/out\" ;\n                make                             # sequential build\n              )\n\n              # FIXME: \"make install\" not run because `rm' fails on SMBFS.\n              mkdir /host/xchg/out\n\n              echo $? > /host/xchg/in-vm-exit\n"),("buildInputs",""),("buildNativeInputs",""),("builder","/nix/store/xl3xf36l7mzwnl0fr6wxajhzhnm95ygm-bash-4.2-p20/bin/sh"),("diskImage","/nix/store/2gqgnw6nmh8ksr5l05cqirw3mdcrnf5p-hurd-qemu-image"),("diskImageBuildInputs","/nix/store/laqpxpssky7v039ga4mvk1c3b36r4gf4-gnumach-20120303-i586-pc-gnu /nix/store/9ypm9rs110msqgb8qykzsxgiab2a6rd7-hurd-0 /nix/store/mkcd3692mkd0llswx3cr9ca6vl12nqzk-gnused-4.2.1-i586-pc-gnu /nix/store/z3zw00xy4ik8b8d6qnaqwbkybr0p2m69-gnugrep-2.10-i586-pc-gnu /nix/store/280rn2c6b6gfg9ynl3qs3zxbgrlkg06d-findutils-4.4.2-i586-pc-gnu /nix/store/wmq0mp74p5ksigq7mpl709l1w8685zqs-diffutils-3.2-i586-pc-gnu /nix/store/b4c3gmg90xyyk13kqwz8hqikjyq1vxyd-bash-4.2-p20-i586-pc-gnu /nix/store/hsxib1jm1ksxnlhxsm00zqhfwln3vp5c-gcc-wrapper-4.6.3-i586-pc-gnu /nix/store/zdjgbwh43yl9kq3j6h5ri3bylinkinzl-gnumake-3.82-i586-pc-gnu /nix/store/xb9llifg0hy342rnj96j70lkbvdmf13h-gnutar-1.26-i586-pc-gnu /nix/store/y8cdvni1hqwmzfwm2ija9v2xb6iqflnx-gzip-1.4-i586-pc-gnu /nix/store/7p7gjd7d605sg1z6m2kvg0zqwylqz4z1-bzip2-1.0.6-i586-pc-gnu /nix/store/0b93rb8x7wh439glp6278xzsq0gf0xcd-xz-5.0.3-i586-pc-gnu /nix/store/6ikghbgf3s71ar1rswk3zczsj03ca3pn-mig-20100512-i586-pc-gnu /nix/store/3jqfrl6f69h65bmx7yzc1prk64993929-smbfs-2012-03-15-i586-pc-gnu /nix/store/nqscl1nn75353qcr9qq5v7w58c24gj12-unionfs-20120313-i586-pc-gnu /nix/store/kp99qz7whrpfc7jy3ycssr3gvrbdz8ra-gnu-global-user-environment /nix/store/laqpxpssky7v039ga4mvk1c3b36r4gf4-gnumach-20120303-i586-pc-gnu /nix/store/9ypm9rs110msqgb8qykzsxgiab2a6rd7-hurd-0 /nix/store/3jqfrl6f69h65bmx7yzc1prk64993929-smbfs-2012-03-15-i586-pc-gnu/hurd/smbfs -s 10.0.2.4 -r smb://10.0.2.4/xchg -u root -p '' /nix/store/3jqfrl6f69h65bmx7yzc1prk64993929-smbfs-2012-03-15-i586-pc-gnu/hurd/smbfs -s 10.0.2.4 -r smb://10.0.2.4/store -u root -p ''"),("memSize","512"),("name","hurd-qemu-test-build"),("out","/nix/store/yd0v41r8kj49xcjric62gk47lss9vdyg-hurd-qemu-test-build"),("postVM","cp -prvd xchg/out \"$out\"\n"),("preVM","diskImage=$(pwd)/disk-image.qcow2\norigImage=\"/nix/store/2gqgnw6nmh8ksr5l05cqirw3mdcrnf5p-hurd-qemu-image\"\nif test -d \"$origImage\"; then origImage=\"$origImage/disk-image.qcow2\"; fi\n/nix/store/sxczq7kv8265b41yr03s4c41pklyq0ih-qemu-kvm-0.15.1/bin/qemu-img create -b \"$origImage\" -f qcow2 $diskImage\n\n# XXX: Until the guest's /nix/store is a unionfs of its actual\n# store and the host's one (i.e., when both unionfs and smbfs\n# implement `io_map', so that ld.so can load binaries off them),\n# rewrite store paths.\necho \"$buildCommand\" | \\\n  /nix/store/w5hacn80b04v1f09nkyypc0sd7bhrknb-gnused-4.2.1/bin/sed -r \\\n    -e's|/nix/store/([0-9a-z]{32})-([^ ]+)|/host/store/\\1-\\2|g' \\\n  > xchg/cmd\n\neval \"$postPreVM\"\n"),("propagatedBuildInputs",""),("propagatedBuildNativeInputs",""),("requiredSystemFeatures","kvm"),("stdenv","/nix/store/7c8asx3yfrg5dg1gzhzyq2236zfgibnm-stdenv"),("system","x86_64-linux")])
ss='msg-tooltip'>* nix/libstore/schema.sql: Rename to... * guix/store/schema.sql: ... this. * Makefile.am (nobase_dist_guilemodule_DATA): Add it. * nix/local.mk (%D%/libstore/schema.sql.hh): Adjust accordingly. * guix/store/database.scm (sql-schema): New variable. (sqlite-exec, initialize-database, call-with-database): New procedures. (with-database): Rewrite in terms of 'call-with-database'. * tests/store-database.scm ("new database"): New test. * guix/self.scm (compiled-guix)[*core-modules*]: Add 'schema.sql' to #:extra-files. Ludovic Courtès 2018-06-08build: Do not add all of $(BUILT_SOURCES) to $(CLEANFILES)....Reported by Gábor Boskovits <boskovits@gmail.com>. Fixes <https://bugs.gnu.org/31700>. * nix/local.mk (CLEANFILES): Add nothing but schema.sql.hh. Ludovic Courtès 2018-05-17daemon: Allow building for armhf-linux on aarch64-linux....* nix/libstore/build.cc (canBuildLocally): Allow building armhf-linux builds on aarch64-linux. (DerivationGoal::runChild) Throw error if attempting to build for armhf-linux on an unsupported platform. * doc/guix.texi (Invoking guix build): Document how to build natively for armhf-linux on aarch64-linux. Add note that on some aarch64 machines this is unsupported. Efraim Flashner 2018-04-19guix-daemon: Disable garbage collection for remote connections....* nix/nix-daemon/nix-daemon.cc (isRemoteConnection): New variable. (performOp): For wopCollectGarbage, throw an error when isRemoteConnection is set. (acceptConnection): Set isRemoteConnection when connection is not AF_UNIX. * tests/guix-daemon.sh: Add a test for the new behavior. Roel Janssen 2018-03-30daemon: Remove unused schema upgrade code....* nix/libstore/local-store.cc (LocalStore): Remove upgrade code. (LocalStore::queryValidPathsOld, LocalStore::queryPathInfoOld) (LocalStore::upgradeStore6, makeMutable) (LocalStore::upgardeStore7): Remove. * nix/libstore/local-store.hh: Adjust accordingly. Ludovic Courtès 2018-03-30daemon: Remove dead code....* nix/libstore/globals.cc (Settings::loadConfFile, Settings::unpack): Remove. * nix/libstore/globals.hh: Adjust accordingly. * nix/libstore/misc.cc (queryMissing): Remove. * nix/libstore/misc.hh: Adjust accordingly. * nix/libstore/store-api.cc (followLinksToStore) (followLinksToStorePath, computeStorePathForHash): Remove. * nix/libstore/store-api.hh: Adjust accordingly. Ludovic Courtès 2018-01-11daemon: Always try to execute the builder regardless of the platform....* nix/libstore/build.cc (runChild): Move platform check after 'execve' call. Check specifically for ENOEXEC. Ludovic Courtès 2018-01-07daemon: Make libbz2 an optional dependency....* config-daemon.ac: Don't bail out when libbz2 is missing. Define 'HAVE_LIBBZ2' Automake conditional. * nix/libstore/build.cc: Wrap relevant bits in '#if HAVE_BZLIB_H'. * nix/libstore/globals.cc (Settings::Settings): 'logCompression' defaults to COMPRESSION_GZIP when HAVE_BZLIB_H is false. * nix/libstore/globals.hh (CompressionType): Make 'COMPRESSION_BZIP2' conditional on HAVE_BZLIB_H. * nix/local.mk (guix_register_LDADD, guix_daemon_LDADD): Add -lbz2 only when HAVE_LIBBZ2. * nix/nix-daemon/guix-daemon.cc (parse_opt): Ignore "bzip2" when not HAVE_BZLIB_H. Ludovic Courtès 2018-01-07daemon: Add gzip log compression....* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LOG_COMPRESSION): New macro. (options): Mark "disable-log-compression" as hidden and add "log-compression". (parse_opt): Handle GUIX_OPT_LOG_COMPRESSION. * nix/libstore/build.cc (DerivationGoal): Add 'gzLogFile'. (openLogFile): Initialize it when 'logCompression' is COMPRESSION_GZIP. (closeLogFile, handleChildOutput): Honor 'gzLogFile'. * nix/libstore/globals.hh (Settings)[compressLog]: Remove. [logCompression]: New field. (CompressionType): New enum. * nix/libstore/globals.cc (Settings::Settings): Initialize it. (update): Remove '_get' call for 'compressLog'. * nix/local.mk (guix_daemon_LDADD, guix_register_LDADD): Add -lz. * guix/store.scm (log-file): Handle '.gz' log files. * tests/guix-daemon.sh: Add test with '--log-compression=gzip'. * doc/guix.texi (Invoking guix-daemon): Adjust accordingly. * config-daemon.ac: Check for libz and zlib.h. Ludovic Courtès 2017-12-31list-runtime-root: Fix off-by-one in 'strip-drop' call....Fixes <https://bugs.gnu.org/29862>. Reported by Danny Milosavljevic <dannym@scratchpost.org>. * nix/scripts/list-runtime-roots.in (canonicalize-store-item): Define 'store' with a trailing "/". Have the 'string-prefix?' call match the 'string-drop' call. Ludovic Courtès 2017-11-26list-runtime-roots: Ignore ESRCH while reading from /proc....Fixes <https://bugs.gnu.org/29368>. Reported by Martin Castillo <castilma@uni-bremen.de>. * nix/scripts/list-runtime-roots.in (referenced-files): Ignore ESRCH. Ludovic Courtès 2017-11-12list-runtime-roots: Ignore PIDs we cannot access....This allows running as non-root. Fixes a regression introduced in b8f59cdc20e9d83ce63523ef917e95fcee07f134. * nix/scripts/list-runtime-roots.in (referenced-files): Handle EACCES in addition to ENOENT. Ludovic Courtès 2017-11-12list-runtime-roots: Canonicalize store items....Looking at 'addAdditionalRoots' in libstore/gc.cc, it looks like it should always have been this way. In practice it probably doesn't make much of a difference. * nix/scripts/list-runtime-roots.in (canonicalize-store-item): New procedure. <top level>: Use it. Ludovic Courtès 2017-11-12list-runtime-roots: Do not use 'lsof'....This makes things a bit faster (0.8s instead of 1.4s on my laptop). * nix/scripts/list-runtime-roots.in (lsof-roots): Remove. (proc-fd-roots): Return the empty list when 'scandir' returns #f. (referenced-files): New procedure. Use it at the top level. Ludovic Courtès 2017-08-18nix: Remove unused function....* nix/libutil/util.hh: * nix/libutil/util.cc (decodeOctalEscaped): Remove unused and buggy function. Andy Wingo 2017-08-18Simplify remouting with MS_PRIVATE in sandbox build...also fix race condition if mounts are added after mountinfo is read. Jörg Thalheim 2017-08-07daemon: Ensure the child stack is aligned on a 16-byte boundary....* nix/libstore/build.cc (DerivationGoal::startBuilder): When calling 'clone', ensure that the stack is aligned on a 16-byte boundary. Mark H Weaver 2017-08-05daemon: On aarch64, use increments of 16 on the stack....* nix/libstore/build.cc (DerivationGoal::startBuilder): When on aarch64, when calling clone(), increment the stack by 16. Efraim Flashner 2017-08-05Revert "daemon: Ensure proper alignment on the stack."...This reverts commit ab4ccc8fcfaf2215d4b33b1376147e4c2c70426a. Mark H Weaver 2017-07-17daemon: Flush the sink upon 'exportPath' errors....Prior to this change, errors such as wrong permissions on /etc/guix/signing-key.sec would give: guix-daemon: nix/libutil/serialise.cc:15: virtual nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed. This patch correctly propagates the error to the client and thus changes that to: error: build failed: file `/etc/guix/signing-key.sec' should be secret (inaccessible to everybody else)! * nix/nix-daemon/nix-daemon.cc (performOp): Wrap 'exportPath' call in 'try' block. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Jan Nieuwenhuizen 2017-07-10daemon: Allow compilation with GCC 4.9....Reported by Ricardo Wurmus. * nix/nix-daemon/nix-daemon.cc (acceptConnection): Remove intermediate 'inaddr' variables that relied on implicit casts. This fixes compilation with GCC 4.9. Ludovic Courtès 2017-06-22daemon: Set TCP_NODELAY and TCP_QUICKACK on remote sockets....* nix/nix-daemon/nix-daemon.cc (acceptConnection): Set TCP_NODELAY and TCP_QUICKACK on REMOTE. Ludovic Courtès 2017-06-22daemon: '--listen' can be passed several times, can specify TCP endpoints....* nix/nix-daemon/guix-daemon.cc (DEFAULT_GUIX_PORT): New macro. (listen_options): New variable. (parse_opt): Push back '--listen' options to LISTEN_OPTIONS. (open_unix_domain_socket, open_inet_socket) (listening_sockets): New functions. (main): Use it. Pass SOCKETS to 'run'. * nix/nix-daemon/nix-daemon.cc (matchUser): Remove. (SD_LISTEN_FDS_START): Remove. (acceptConnection): New function. (daemonLoop): Rewrite to take a vector of file descriptors, to select(2) on them, and to call 'acceptConnection'. (run): Change to take a vector of file descriptors. * tests/guix-daemon.sh: Add test. Ludovic Courtès 2017-06-04daemon: Add '--timeout' and '--max-silent-time'....* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_TIMEOUT) (GUIX_OPT_MAX_SILENT_TIME): New macros. * nix/nix-daemon/guix-daemon.cc (options): Add '--timeout' and '--max-silent-time'. (parse_opt): Honor them. * tests/guix-daemon.sh: Add test. * doc/guix.texi (Invoking guix-daemon): Document the options. (Common Build Options): Properly describe default timeout/max-silent-time value. Add cross-ref to "Invoking guix-daemon". Ludovic Courtès 2017-05-30daemon: Report hash mismatches in a cleaner way....Suggested by Hartmut Goebel. * nix/libstore/build.cc (DerivationGoal::registerOutputs): Report hash mismatches on 3 lines for clarity. (SubstitutionGoal::finished): Likewise. Ludovic Courtès