From b5e66ba7bf57c8d012ce22e220c30057577ba021 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 11 Mar 2018 12:58:40 +0100 Subject: got systemd --- README | 7 +++++++ TODOS | 2 ++ build_stage3.sh | 10 +++------- i486-stage3/systemd/DESCR | 25 +++++++++++++++++++++++++ prepare_stage3.sh | 3 +++ 5 files changed, 40 insertions(+), 7 deletions(-) create mode 100644 i486-stage3/systemd/DESCR diff --git a/README b/README index 82f0c5c..733da90 100644 --- a/README +++ b/README @@ -215,6 +215,10 @@ su cross ./prepare_stage2_repo.sh # - 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 + +# systemd: goal is to have a libsystemd we can link against, but stage 3 +# will not have a running systemd init system! su cross ./prepare_stage3_repo.sh @@ -234,3 +238,6 @@ su cross ./prepare_stage3_repo.sh # Use stage 3 to build base and base-devel again. In this phase we try to # use vanilla PKGBUILDs as much as possible, also building documentation # and do all the testing. + +# We also try to get a running systemd in this stage. + diff --git a/TODOS b/TODOS index 66b48be..2e40bcf 100644 --- a/TODOS +++ b/TODOS @@ -36,6 +36,8 @@ general bugs: have something like build/stage numbers as in Archlinux32. - Missing dependencies errors on host when doing makepkg -o, ugly, but it works nevertheless +- introduce a '-package' along to '(+)package' to delete a package at a + given place (e.g. a shim) stage1 issues: - stage1: cdrom installs keyrings without having a gpg binary diff --git a/build_stage3.sh b/build_stage3.sh index d05d831..ce219d4 100755 --- a/build_stage3.sh +++ b/build_stage3.sh @@ -67,12 +67,9 @@ re2c python2 ninja python-pip-bootstrap python-pip python-pyparsing python-packaging python-appdirs python-six python-setuptools meson +gperf systemd dbus " -# meson needs python-setuptools, python-setuptools itself -# can not be built from packages, so we need another shim -# here. - # gyp used for mozilla sub certs, continue to use shim? # ca-certificates-cacerts ca-certificates @@ -106,6 +103,7 @@ meson #~ 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 @@ -121,7 +119,7 @@ meson #~ cryptsetup: device-mapper popt libutil-linux # ldns/unbound-cyrcle -#~ ldns: openssl dnssec-anchors +#~ ldns: openssl dnssec-anchors libpcal #~ dnssec-anchors: unbound #~ unbound: ldns #~ openssh: ldns @@ -145,8 +143,6 @@ meson #~ dhcpcd: glibc sh udev libsystemd #~ util-linux: systemd, python -#~ mkinitcpio: awk mkinitcpio-busybox kmod util-linux libarchive coreutils bash findutils grep filesystem gzip systemd - # lvm2, device-mapper: systemd, thin-povisioning-tools #~ thin-provisioning-tools: expat gcc-libs libaio boost # boost: we can build a non-python version diff --git a/i486-stage3/systemd/DESCR b/i486-stage3/systemd/DESCR new file mode 100644 index 0000000..17150cf --- /dev/null +++ b/i486-stage3/systemd/DESCR @@ -0,0 +1,25 @@ +# no documentation +sed -i '/makedepends=/,/)/ s/docbook-xsl//' PKGBUILD +sed -i '/makedepends=/,/)/ s/libxslt//' PKGBUILD +sed -i '/makedepends=/,/)/ s/python-lxml//' PKGBUILD +sed -i 's/\(rm.*man8\)/#\1/' PKGBUILD + +# we don't need systemd-sysvcompat +sed -i "/pkgname=/,/)/ s/'systemd-sysvcompat'//" PKGBUILD + +# break cyclic dependency with cryptsetup and dbus +sed -i '/makedepends=/,/)/ s/cryptsetup//' PKGBUILD +sed -i "/depends=/,/)/ s/'cryptsetup'//" PKGBUILD +sed -i "/depends=/,/)/ s/'dbus'//" PKGBUILD + +# we build without verifying PGP keys, so disable git tag valication +sed -i 's/\(_validate_tag || return\)/#\1/' PKGBUILD + +# disable EFI support, we build for old machines with a PC BIOS +sed -i '/makedepends=/,/)/ s/gnu-efi-libs//' PKGBUILD +sed -i 's/-Dgnuefi=true/-Dgnuefi=false/g' PKGBUILD + +# disable LTO support for now +sed -i '/-Dsysvrcnd-path=/ a \ -Db_lto=false' PKGBUILD + +ADDITIONAL_INSTALL_PACKAGE=libsystemd diff --git a/prepare_stage3.sh b/prepare_stage3.sh index 7b4fdcb..2db5ece 100755 --- a/prepare_stage3.sh +++ b/prepare_stage3.sh @@ -21,6 +21,9 @@ if test ! -d $STAGE3_BUILD; then # stage 2, for now we just copy the vm from stage1 after building # and installing all packages from stage 2 and use it as new build # machine. + + # systemd-journal group for systemd + getent group systemd-journal >/dev/null || groupadd -g 190 systemd-journal echo "Prepared the stage 3 build environment." fi -- cgit v1.2.3-54-g00ecf