source: xincludes/mozshm.xml@ 875b3b57

12.1 ken/TL2024 lazarus plabs/newcss python3.11 rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 875b3b57 was 96e0c171, checked in by Xi Ruoyao <xry111@…>, 7 months ago

mozilla: Drop SHELL=/bin/bash

Note that if you build something relying on $SHELL, it may still fail to
build in chroot.

In the chroot we first use "env -i" to clean the environment variables.
When bash starts with no $SHELL set, it *sets* SHELL=(the login shell
of current user specified in /etc/passwd), but it *does not export this
variable*.

For example:

$ cat > t.c << EOF
#include <stdio.h>
#include <stdlib.h>
int main() { puts (getenv ("SHELL") ?: "(nullptr)"); }
$ ./a.out
/bin/zsh/
$ cc t.c
$ env -i bash -c "echo $SHELL"
/bin/zsh
$ env -i bash -c "./a.out"
(nullptr)

We can remove this now only because Mozilla has added a workaround into
their building system at
https://hg.mozilla.org/mozilla-central/rev/5afe7b911f61 for some Mac
builder, inadvertently fixing our issue.

Link: https://lists.linuxfromscratch.org/sympa/arc/blfs-support/2014-11/msg00050.html
Link: https://lists.linuxfromscratch.org/sympa/arc/blfs-dev/2023-11/msg00136.html

  • Property mode set to 100644
File size: 1.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE note PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;]>
6
7
8 <!-- to go inside a NOTE on mozilla packages which need shm
9 mounted when configured or similar in chroot.
10 Unfortunately, the DTD says an xinclude can only include
11 one paragraph.
12
13 We now have exactly one paragraph, git blame this line for
14 details. -->
15
16 <para>
17 If you are compiling this package in chroot you must
18 ensure that <filename>/dev/shm</filename> is mounted. If you do not
19 do this, the <application>Python</application> configuration will fail
20 with a traceback report referencing
21 <filename>/usr/lib/pythonN.N/multiprocessing/synchronize.py</filename>.
22 As the &root; user, run:
23
24<screen role="nodump"><userinput>mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm</userinput></screen>
25
26 </para>
Note: See TracBrowser for help on using the repository browser.