Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2018-03-09 16:24:40 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2018-03-09 16:24:40 +0100
commit9d8946a6ecfc19d01d8da12f20572bbfc556977f (patch)
tree74e1a5ced3c6da0dd7b3d9136227c842cf664ad1
parentb65446e7266cca71d3505637da9191a1dd169e14 (diff)
added python3 and python2 in stage 3 (no modules yet)
on the way to build meson for systemd
-rw-r--r--README2
-rw-r--r--TODOS10
-rwxr-xr-xbuild_stage3.sh31
-rw-r--r--i486-stage3/ninja/DESCR3
-rw-r--r--i486-stage3/python/DESCR2
-rw-r--r--i486-stage3/python2/DESCR18
6 files changed, 41 insertions, 25 deletions
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