summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2018-03-11 15:35:19 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2018-03-11 15:35:19 +0100
commit2956293319328adb8fd21e6a85a4b95ce6667594 (patch)
tree891c53454bf53ce6524315818ab20708d33e1dee
parentb5e66ba7bf57c8d012ce22e220c30057577ba021 (diff)
downloadbootstrap32-2956293319328adb8fd21e6a85a4b95ce6667594.tar.xz
building most things depending on systemd
-rw-r--r--README7
-rwxr-xr-xbuild_stage3.sh60
-rwxr-xr-xbuild_stage3_package.sh2
-rw-r--r--i486-stage3/glib2/DESCR8
-rw-r--r--i486-stage3/ldns/DESCR2
-rw-r--r--i486-stage3/libpcap/DESCR3
-rw-r--r--i486-stage3/nss/DESCR6
-rw-r--r--i486-stage3/util-linux/DESCR1
8 files changed, 41 insertions, 48 deletions
diff --git a/README b/README
index 733da90..656a6a8 100644
--- a/README
+++ b/README
@@ -210,12 +210,15 @@ su cross ./prepare_stage2_repo.sh
# - ldns unbound dnssec-anchors are all in a cyrcle
# - ca-certificates-mozilla needs gyp which need ninja which has
# a download location only verifiable by the very same certificates :-)
+# - dbus without systemd (because of a cyrcle), same goes for cryptsetup
+# - glib2 without shared-mime-info
# some packages are simply to hard or important to build:
-# - libsecret: needs glib2 which is not buildable in stage3
# - licenses: needs links, we don't care for stage3 as they will not
# go public in the end
-# - dbus without systemd (because of a cyrcle), same goes for cryptsetup
+# - libsecret, calls gtkdocize in autogen.sh
+# - systemd-sysvcompat: should be optional, I don't see why this should
+# be in base
# systemd: goal is to have a libsystemd we can link against, but stage 3
# will not have a running systemd init system!
diff --git a/build_stage3.sh b/build_stage3.sh
index ce219d4..c4bf30e 100755
--- a/build_stage3.sh
+++ b/build_stage3.sh
@@ -67,11 +67,19 @@ re2c python2 ninja
python-pip-bootstrap python-pip
python-pyparsing python-packaging python-appdirs python-six python-setuptools
meson
-gperf systemd dbus
+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
"
# 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.
# TODO: redo make with guile
# guile, guile2_0: libtool fails to find gc (threading problem?),
@@ -89,74 +97,36 @@ gperf systemd dbus
#libtool: install: error: relink `libgfortran.la' with the above command before installing it
#make: Leaving directory '/build/gcc/src/gcc-build/i486-pc-linux-gnu/libgfortran'
-# systemd: cryptsetup python-lxml gnu-efi-libs
-
-#~ util-linux: systemd, python
-
-# libxml2: python2 and python as makedepends
-#~ libxslt: libxml2 python2
-#~ xmlto: libxslt docbook-xsl
-#~ asciidoc: python
-
-#~ util-linux:
-#~ pkg-config: glib2
-#~ pkg-config: glib2
-
#~ linux build full with mkinitcpio and modules
-#~ mkinitcpio: awk mkinitcpio-busybox kmod util-linux libarchive coreutils bash findutils grep filesystem gzip systemd
#~ linux
-#~ <libedit> openssh
#~ make <mpfr> <gawk> <libmpc> <binutils> <gcc> glibc
#~ <libunwind> <strace> gdb
#~ "
#~ #TODO after nasm: syslinux
-#~ iptables: libpcap
-# libpcap: dbus libusbx
-
# stage3 (from compute_dependencies.sh)
#~ cryptsetup: device-mapper popt libutil-linux
# ldns/unbound-cyrcle
-#~ ldns: openssl dnssec-anchors libpcal
-#~ dnssec-anchors: unbound
+#~ dnssec-anchors: requires unbound
#~ unbound: ldns
-#~ openssh: ldns
-
-# the glib2 knot
-#~ glib2: libutil-linux
-#~ libsecret: glib2
-# glib2 needs dbus shared-mime-info
-# shared-mime-info needs glib2 :-)
# the systemd knot
-#~ libusb: glibc libsystemd
-#~ usbutils: libusb hwids
-#~ netctl: openresolv systemd
-#~ openresolv: systemd
-#~ pcmciautils: systemd
-#~ procps-ng: libsystemd
-#~ libpcap: libusbx dbus
-# systemd: libxslt python-lxml gnu-efi-libs meson
-#~ dbus: libsystemd expat
-#~ dhcpcd: glibc sh udev libsystemd
-#~ util-linux: systemd, python
+# lvm knot
# lvm2, device-mapper: systemd, thin-povisioning-tools
#~ thin-provisioning-tools: expat gcc-libs libaio boost
+# libaio
+# stack smashing and nostdlib?
+# compat-0_1.c:(.text+0xaf): undefined reference to `__stack_chk_fail_local'
# boost: we can build a non-python version
# cryptsetup: device-mapper
#~ base cryptsetup
#~ base device-mapper
-#~ base dhcpcd
#~ base lvm2
-#~ base netctl
-#~ base pcmciautils
-#~ base systemd-sysvcompat
-#~ base usbutils
-#~ base-devel systemd
+#~ base
for p in $PACKAGES; do
"$SCRIPT_DIR/build_stage3_package.sh" "$p" || exit 1
diff --git a/build_stage3_package.sh b/build_stage3_package.sh
index ec9efd8..3ff30a4 100755
--- a/build_stage3_package.sh
+++ b/build_stage3_package.sh
@@ -18,7 +18,7 @@ PACKAGE=$1
if test "$(find "$STAGE3_PACKAGES" -regex ".*/$PACKAGE-.*pkg\\.tar\\.xz" | wc -l)" = 0; then
echo "Building package $PACKAGE."
-
+
cd $STAGE3_BUILD || exit 1
# clean up old build
diff --git a/i486-stage3/glib2/DESCR b/i486-stage3/glib2/DESCR
new file mode 100644
index 0000000..86b3de7
--- /dev/null
+++ b/i486-stage3/glib2/DESCR
@@ -0,0 +1,8 @@
+# no documentation
+sed -i "/makedepends=/s/gtk-doc//" PKGBUILD
+sed -i 's/--enable-gtk-doc//' PKGBUILD
+sed -i 's/\(mv gtk-doc\)/#\1/' PKGBUILD
+sed -i 's@\(mv.*usr/share/gtk-doc\)@#\1@' PKGBUILD
+
+# no shared-mime-info, break cycle as shared-mime-info needs glib2
+sed -i "/makedepends=/s/shared-mime-info//" PKGBUILD
diff --git a/i486-stage3/ldns/DESCR b/i486-stage3/ldns/DESCR
new file mode 100644
index 0000000..aeac49b
--- /dev/null
+++ b/i486-stage3/ldns/DESCR
@@ -0,0 +1,2 @@
+# break the cycly via ldns, unbound
+sed -i "/depends=/s/'dnssec-anchors'//" PKGBUILD
diff --git a/i486-stage3/libpcap/DESCR b/i486-stage3/libpcap/DESCR
new file mode 100644
index 0000000..99e24c5
--- /dev/null
+++ b/i486-stage3/libpcap/DESCR
@@ -0,0 +1,3 @@
+# no bluetooth, draws in glib2 in the end
+sed -i '/makedepends=/,/)/ s/bluez-libs//' PKGBUILD
+sed -i 's/--enable-bluetooth/--disable-bluetooth/' PKGBUILD
diff --git a/i486-stage3/nss/DESCR b/i486-stage3/nss/DESCR
new file mode 100644
index 0000000..bae0b4c
--- /dev/null
+++ b/i486-stage3/nss/DESCR
@@ -0,0 +1,6 @@
+# no documentation
+sed -i "/depends=/s/xmlto//" PKGBUILD
+sed -i "/depends=/s/docbook-xsl//" PKGBUILD
+sed -i 's/\(xmlto.*\)/#\1/g' PKGBUILD
+
+ADDITIONAL_INSTALL_PACKAGE=ca-certificates-mozilla
diff --git a/i486-stage3/util-linux/DESCR b/i486-stage3/util-linux/DESCR
new file mode 100644
index 0000000..90ccaa2
--- /dev/null
+++ b/i486-stage3/util-linux/DESCR
@@ -0,0 +1 @@
+ADDITIONAL_INSTALL_PACKAGE=libutil-linux