From 9d8946a6ecfc19d01d8da12f20572bbfc556977f Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Fri, 9 Mar 2018 16:24:40 +0100 Subject: added python3 and python2 in stage 3 (no modules yet) on the way to build meson for systemd --- README | 2 ++ TODOS | 10 ---------- build_stage3.sh | 31 ++++++++++++++++--------------- i486-stage3/ninja/DESCR | 3 +++ i486-stage3/python/DESCR | 2 ++ i486-stage3/python2/DESCR | 18 ++++++++++++++++++ 6 files changed, 41 insertions(+), 25 deletions(-) create mode 100644 i486-stage3/ninja/DESCR create mode 100644 i486-stage3/python2/DESCR diff --git a/README b/README index c4b23e6..df06b03 100644 --- a/README +++ b/README @@ -208,6 +208,8 @@ su cross ./prepare_stage2_repo.sh # - libsasl without openldap # - libgcrypt without libsecret # - 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 :-) # some packages are simply to hard or important to build: # - libsecret: needs glib2 which is not buildable in stage3 diff --git a/TODOS b/TODOS index 8010df5..05f74fd 100644 --- a/TODOS +++ b/TODOS @@ -26,16 +26,6 @@ general bugs: in build_stage1_package.sh - when uninstalling pacman in the chroot, you must rename pacman.pacsave back to pacman.conf as it is used for building packages -- pacman has some issues with the sync databases (pacman -Syyu results - in): - debug: returning error 6 from _alpm_db_register_sync : wrong or NULL argument passed - error: could not register 'temp' database (wrong or NULL argument passed) - error: no usable package repositories configured. - installing and listing packages by hand works without problems. - debug: unregistering database 'local' - => this goes away in stage3 after rebuilding pacman in stage3. This must - be investigated as this is a subtle pacman issue somewhere when being - cross-compiled! - some packages get build more than once in stage1 (linux-api-headers, pacman-mirrorlist) - make a wrapper for sed in DESCR, which is actually able to detect whether the patch was successful or not. Avoid hard to detect errors, when the diff --git a/build_stage3.sh b/build_stage3.sh index 7512065..a3cb039 100755 --- a/build_stage3.sh +++ b/build_stage3.sh @@ -59,10 +59,21 @@ gpgme sudo autoconf-archive linux-atm iproute2 -ca-certificates curl pacman-mirrorlist archlinux-keyring archlinux32-keyring +curl pacman-mirrorlist archlinux-keyring archlinux32-keyring pacman +python quota-tools perl-xml-parser intltool +re2c python2 ninja python-setuptools +python-pip python2-pip +meson " +# 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 + # TODO: redo make with guile # guile, guile2_0: libtool fails to find gc (threading problem?), # --disable-threads in toolchain causes POSIX threads to be absent, we @@ -79,15 +90,10 @@ pacman #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' -# the ptyhon knot -# python executes and fails in testing. Why can't i switch off -# testing? -# 0:01:27 load avg: 1.07 [ 24/406] test_asynchat, test hangs forever! - #~ util-linux: systemd, python # libxml2: python2 and python as makedepends -#~ libxslt: libxml2 libgcrypt python2 +#~ libxslt: libxml2 python2 #~ xmlto: libxslt docbook-xsl #~ asciidoc: python @@ -95,10 +101,6 @@ pacman #~ pkg-config: glib2 #~ pkg-config: glib2 -#~ libxslt: libxml2 -# ca-certificates: asciidoc, xsltproc,... - -#~ python: #~ linux build full with mkinitcpio and modules @@ -113,7 +115,7 @@ pacman # libpcap: dbus libusbx # stage3 (from compute_dependencies.sh) -#~ cryptsetup: device-mapper libgcrypt popt libutil-linux +#~ cryptsetup: device-mapper popt libutil-linux # ldns/unbound-cyrcle #~ ldns: openssl dnssec-anchors @@ -123,7 +125,7 @@ pacman # the glib2 knot #~ glib2: libutil-linux -#~ libsecret: glib2 libgcrypt +#~ libsecret: glib2 # the systemd knot #~ libusb: glibc libsystemd @@ -133,10 +135,9 @@ pacman #~ pcmciautils: systemd #~ procps-ng: libsystemd #~ libpcap: libusbx dbus -# systemd: libgcrypt libmicrohttpd libxslt python-lxml quota-tools gnu-efi-libs meson +# systemd: libxslt python-lxml gnu-efi-libs meson #~ dbus: libsystemd expat #~ dhcpcd: glibc sh udev libsystemd -# systemd: gperf intltool libxslt python-lxml quota-tools gnu-efi-libs meson #~ util-linux: systemd, python #~ mkinitcpio: awk mkinitcpio-busybox kmod util-linux libarchive coreutils bash findutils grep filesystem gzip systemd diff --git a/i486-stage3/ninja/DESCR b/i486-stage3/ninja/DESCR new file mode 100644 index 0000000..39d6430 --- /dev/null +++ b/i486-stage3/ninja/DESCR @@ -0,0 +1,3 @@ +# no emacs +sed -i "/makedepends=/s/emacs-nox//" PKGBUILD +sed -i "s/\(.*emacs.*\)/#\1/g" PKGBUILD diff --git a/i486-stage3/python/DESCR b/i486-stage3/python/DESCR index 1e44107..a640b99 100644 --- a/i486-stage3/python/DESCR +++ b/i486-stage3/python/DESCR @@ -13,4 +13,6 @@ sed -i "s/\(while\)/#\1/" PKGBUILD sed -i 's@LC_CTYPE=en_US.UTF-8 xvfb-run -a -n "$servernum" make EXTRA_CFLAGS="$CFLAGS"@LC_CTYPE=en_US.UTF-8 make EXTRA_CFLAGS="$CFLAGS"@g' PKGBUILD # no LTO (we don't have support for it yet) +# we don't optimize for speed as this runs the internal profiling tests sed -i "s/--with-lto/--without-lto/" PKGBUILD +sed -i "s/--enable-optimizations/--disable-optimizations/" PKGBUILD diff --git a/i486-stage3/python2/DESCR b/i486-stage3/python2/DESCR new file mode 100644 index 0000000..a640b99 --- /dev/null +++ b/i486-stage3/python2/DESCR @@ -0,0 +1,18 @@ +# remove dependency on most things, we want only a simple interpreter +# a little bit smarter than a shell for building and code generation +sed -i "/makedepends=/s/'tk'//" PKGBUILD +sed -i "/makedepends=/s/'sqlite'//" PKGBUILD +sed -i "/makedepends=/s/'valgrind'//" PKGBUILD +sed -i "/makedepends=/s/'bluez-libs'//" PKGBUILD +sed -i "/makedepends=/s/'llvm'//" PKGBUILD + +# do not start X servers just for building software! +sed -i "/makedepends=/s/'xorg-server-xvfb'//" PKGBUILD +sed -i "s/\(export servernum=99\)/#\1/" PKGBUILD +sed -i "s/\(while\)/#\1/" PKGBUILD +sed -i 's@LC_CTYPE=en_US.UTF-8 xvfb-run -a -n "$servernum" make EXTRA_CFLAGS="$CFLAGS"@LC_CTYPE=en_US.UTF-8 make EXTRA_CFLAGS="$CFLAGS"@g' PKGBUILD + +# no LTO (we don't have support for it yet) +# we don't optimize for speed as this runs the internal profiling tests +sed -i "s/--with-lto/--without-lto/" PKGBUILD +sed -i "s/--enable-optimizations/--disable-optimizations/" PKGBUILD -- cgit v1.2.3-54-g00ecf