#!/bin/sh # Create the build system. set -e -x # Generate stubs for translations. langs=`find po/doc -type f -name 'guix-manual*.po' \ | sed -e 's,guix-manual\.,,' \ | xargs -n 1 -I{} basename {} .po` for lang in ${langs}; do if [ ! -e "doc/guix.${lang}.texi" ]; then echo "@setfilename guix.${lang}.info" > "doc/guix.${lang}.texi" echo "@include version-${lang}.texi" >> "doc/guix.${lang}.texi" # Ensure .po file is newer. touch "po/doc/guix-manual.${lang}.po" fi done langs=`find po/doc -type f -name 'guix-cookbook*.po' \ | sed -e 's,guix-cookbook\.,,' \ | xargs -n 1 -I{} basename {} .po` for lang in ${langs}; do if [ ! -e "doc/guix-cookbook.${lang}.texi" ]; then echo "@setfilename guix-cookbook.${lang}.info" > "doc/guix-cookbook.${lang}.texi" # Ensure .po file is newer. touch "po/doc/guix-cookbook.${lang}.po" fi done exec autoreconf -vfi s Wojtek's customized Guix
aboutsummaryrefslogtreecommitdiff
path: root/tests/guix-pack-relocatable.sh
AgeCommit message (Expand)Author
2020-12-04tests: pack-relocatable: Ensure commands can run in the current namespace....* tests/guix-pack-relocatable (run_without_store): Use subshell to run commands in the current namespace. This avoids shell syntax and parsing errors. Paul Garlick
2020-10-31pack: Relocatable wrapper leaves root available to child processes....Fixes <https://bugs.gnu.org/44261>. Reported by Jan Nieuwenhuizen <janneke@gnu.org>. * gnu/packages/aux-files/run-in-namespace.c (exec_in_user_namespace): Add call to 'prctl'. Call 'mount' for NEW_ROOT and define 'is_tmpfs'. When IS_TMPFS is true, call 'umount' and 'rmdir' after 'waitpid'; otherwise, call 'rm_rf' only when 'waitpid' returns -1 the second time. (exec_with_loader): Call 'prctl'. Remove NEW_ROOT only when 'waitpid' returns -1 the second time, otherwise leave it behind. * tests/guix-pack-relocatable.sh (wait_for_file): New function. Add test. Ludovic Courtès
2020-10-30guix: pack: Only wrap executable files....* guix/scripts/pack.scm (wrapped-package)<build>: Build wrappers for executable files and symlink others. * tests/guix-pack-relocatable.sh: Test relocatable example of mixed executable and non-executable files. Eric Bavier
2020-09-28tests: Simplify shell exit status negation;...* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh: Use the shell '!' keyword to negate command exit status in place of 'if ...; then false; else true; fi' Eric Bavier
2020-07-28pack: "fakechroot" engine always creates its store....Previously it would silently fail to create the /gnu/store symlink when the host has a read-only /gnu as is the case in these tests. * gnu/packages/aux-files/run-in-namespace.c (exec_with_loader): Unlink the ancestor of ORIGINAL_STORE under NEW_ROOT. Check the return value of 'symlink' when creating NEW_STORE. * tests/guix-pack-relocatable.sh: Check the contents of the store as seen by the wrapped executable, with all three engines, and with both "/gnu" and "/gnu/store" erased. Ludovic Courtès
2020-07-28pack: "fakechroot" execution engine can load its audit module....Fixes <https://bugs.gnu.org/42558>. Until now, loading 'pack-audit.so' in a truly non-Guix environment would usually fail because 'pack-audit.so' depends on 'libgcc_s.so' and 'libc.so', none of which could be found. Furthermore, the test was not working as expected: the trick unshare -mrf sh -c 'mount -t tmpfs none /gnu ; ...' would allow the fakechroot engine to make its store available as /gnu/store as a result of another bug. * gnu/packages/aux-files/run-in-namespace.c (relocated_search_path): New function. (exec_with_loader): Pass "--library-path" to the loader. * guix/scripts/pack.scm (wrapped-package)[build](runpath): New procedure. (elf-loader-compile-flags): Pass "-DLOADER_AUDIT_RUNPATH". * tests/guix-pack-relocatable.sh: Remove 'STORE_PARENT'. (run_without_store): New function. Erase $NIX_STORE_DIR instead of $STORE_PARENT. Use 'run_without_store' throughout. Ludovic Courtès