From 2956293319328adb8fd21e6a85a4b95ce6667594 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 11 Mar 2018 15:35:19 +0100 Subject: building most things depending on systemd --- README | 7 ++++-- build_stage3.sh | 60 +++++++++++--------------------------------- build_stage3_package.sh | 2 +- i486-stage3/glib2/DESCR | 8 ++++++ i486-stage3/ldns/DESCR | 2 ++ i486-stage3/libpcap/DESCR | 3 +++ i486-stage3/nss/DESCR | 6 +++++ i486-stage3/util-linux/DESCR | 1 + 8 files changed, 41 insertions(+), 48 deletions(-) create mode 100644 i486-stage3/glib2/DESCR create mode 100644 i486-stage3/ldns/DESCR create mode 100644 i486-stage3/libpcap/DESCR create mode 100644 i486-stage3/nss/DESCR create mode 100644 i486-stage3/util-linux/DESCR 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 -#~ openssh #~ make glibc #~ 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 -- cgit v1.2.3