summaryrefslogtreecommitdiff
path: root/build_stage3.sh
blob: da59246f3ce555ad199f87dad60be94614c07542 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/bin/sh

# shellcheck source=./default.conf
. "./default.conf"

# build all packages for stage 3 using the target system with stage 2
# packages.  packages will be installed with pacman onto the target
# system once built sucessfully. The artifacts are also copied back
# to the $STAGE3_PACKAGES to speed up rebuild of the state of the stage 3
# system in case of destroying it.

PACKAGES="iana-etc filesystem linux-api-headers tzdata
ncurses readline bash joe
attr acl m4 gmp gdbm db perl openssl
libunistring gettext perl-locale-gettext help2man
autoconf automake perl-error pcre2 git libtool
zlib pambase cracklib flex libcap coreutils
e2fsprogs expat bzip2 lz4 xz pcre less gzip
tar libarchive
icu
mpdecimal libffi 
nettle libidn libtasn1 p11-kit gnutls libgpg-error libassuan
libksba libgcrypt pinentry gnupg
elfutils sed texinfo grep findutils file diffutils ed patch
fakeroot
check kbd bison shadow
inetutils bc kmod
net-tools libmnl
libedit
mpfr gawk libmpc binutils gcc glibc
gc guile make guile2.0 gdb
libatomic_ops gc
libunwind strace
argon2
groff
jfsutils
json-c
libcap-ng
libnftnl
libidn2 libnghttp2 libpsl
libpipeline libseccomp man-db man-pages
libmicrohttpd
libssh2
mdadm
nano
npth
popt logrotate
hwids pciutils
keyutils
tcl sqlite libsasl chrpath unixodbc openldap
krb5 libtirpc pam
reiserfsprogs
sysfsutils iputils
s-nail
vi
which
xfsprogs
psmisc
gpgme
sudo
autoconf-archive
linux-atm iproute2
curl pacman-mirrorlist archlinux-keyring archlinux32-keyring
pacman
wget
python quota-tools perl-xml-parser intltool
re2c python2 ninja
python-pip-bootstrap python-pip
python-pyparsing python-packaging python-appdirs python-six python-setuptools
meson
gperf systemd dbus libusb usbutils libpcap iptables util-linux
procps-ng pcmciautils openresolv netctl dhcpcd
mkinitcpio-busybox mkinitcpio
glib2 pkg-config
ldns openssh
zip nspr gyp nss
libaio boost
thin-provisioning-tools lvm2
nasm syslinux
linux linux-firmware
"

# gyp used for mozilla sub certs, continue to use shim?
# ca-certificates-cacerts ca-certificates
# nss:
# gyp fails with:
# ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.
# => recompile python2 with a shm filesystem!
#   File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
#    raise CalledProcessError(retcode, cmd)
# subprocess.CalledProcessError: Command '['/build/nss/src/nss-3.35/dist/Release/bin/shlibsign', '-v', '-i', '/build/nss/src/nss-3.35/dist/Release/lib/libfreebl3.so']' returned non-zero exit status -11
# => https://groups.google.com/forum/#!searchin/mozilla.dev.platform/2fa%7Csort:relevance/mozilla.dev.platform/eemHHhf3lBM/k9cyMceyAQAJ
# => https://bugzilla.mozilla.org/show_bug.cgi?id=1400603
# => https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221466
# patches make situation much worse!

for p in $PACKAGES; do
	"$SCRIPT_DIR/build_stage3_package.sh" "$p" || exit 1
done