We want to allow builds in chroots that lack /bin/sh. Thus, system(3) and popen(3) need to be tweaked to use the right shell. For the bootstrap glibc, we just use whatever `sh' can be found in $PATH. The final glibc instead uses the hard-coded absolute file name of `bash'. --- a/sysdeps/posix/system.c +++ b/sysdeps/posix/system.c @@ -106,8 +106,8 @@ do_system (const char *line) (void) UNBLOCK; /* Exec the shell. */ - (void) __execve (SHELL_PATH, (char *const *) new_argv, __environ); + (void) execvp (SHELL_NAME, (char *const *) new_argv); _exit (127); } else if (pid < (pid_t) 0) /* The fork failed. */ --- a/libio/iopopen.c +++ b/libio/iopopen.c @@ -170,7 +170,7 @@ _IO_new_proc_open (fp, command, mode) for (p = proc_file_chain; p; p = p->next) _IO_close (_IO_fileno ((_IO_FILE *) p)); - _IO_execl ("/bin/sh", "sh", "-c", command, (char *) 0); + execlp ("sh", "sh", "-c", command, (char *) 0); _IO__exit (127); } _IO_close (child_end); ummaryrefslogtreecommitdiff
path: root/HACKING
h>
AgeCommit message (Expand)Author
Commit message (Expand)Author
2020-11-17gnu: bootloader: efi-bootloader-chain: Allow multiple HOOKS....* gnu/bootloader.scm (efi-bootloader-profile): Allow multiple HOOKS. (efi-bootloader-chain): Allow multiple HOOKS. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Stefan
2020-11-16gnu: bootloader: Support chain loading to an EFI bootloader....* gnu/bootloader.scm (efi-bootloader-profile): New function. (efi-bootloader-chain): New function. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Stefan
2020-06-08bootloader: Extend `<menu-entry>' for multiboot....* gnu/bootloader.scm (<menu-entry>)[multiboot-kernel,multiboot-arguments, multiboot-modules]: New fields. [linux,initrd]: Add default value '#f'. (menu-entry->sexp, sexp->menu-entry): Support multiboot entry. * doc/guix.texi (Bootloader Configuration): Document them. Jan (janneke) Nieuwenhuizen
2020-05-29bootloader: Add 'disk-image-installer'....* gnu/bootloader.scm (<bootloader>)[disk-image-installer]: New field, (bootloader-disk-image-installer): export it. * gnu/bootloader/grub.scm (install-grub-disk-image): New procedure ... (grub-bootloader): ... used as "disk-image-installer" here. (grub-efi-bootloader): set "disk-image-installer" to #f. * gnu/system/image.scm (root-partition?, find-root-partition): Move to "Helpers" section. (root-partition-index): New procedure. (system-disk-image): Honor disk-image-installer, and use it to install the bootloader directly on the disk-image, if supported. Mathieu Othacehe
2019-08-30system: Add 'bootloader-menu-entries' field to <boot-parameters>....This allows us to keep track of the extra menu entries specified in the OS configuration. * gnu/system.scm (<boot-parameters>)[bootloader-menu-entries]: New field. (read-boot-parameters): Initialize it. (operating-system-boot-parameters): Likewise. (operating-system-boot-parameters-file): Serialize it. * gnu/bootloader.scm (menu-entry->sexp, sexp->menu-entry): New procedures. Ludovic Courtès
2019-08-30bootloader: Fix comment about 'menu-entries'....* gnu/bootloader.scm (<bootloader-configuration>)[menu-entries]: Fix margin comment. Ludovic Courtès
2019-03-24bootloader: Add a 'keyboard-layout' field....* gnu/bootloader/grub.scm (keyboard-layout-file): New procedure. (grub-configuration-file)[keyboard-layout-file]: New variable. [builder]: Use it. * gnu/bootloader.scm (<bootloader-configuration>)[keyboard-layout]: New field. * doc/guix.texi (Bootloader Configuration): Document it. Co-authored-by: nee <nee-git@hidamari.blue> Ludovic Courtès
2019-03-24bootloader: Reindent record type definition....* gnu/bootloader.scm (<bootloader-configuration>): Reindent. Ludovic Courtès
2019-03-24bootloader: Remove unused 'additional-configuration' field....* gnu/bootloader.scm (<bootloader-configuration>)[additional-configuration]: Remove. Ludovic Courtès