From b65446e7266cca71d3505637da9191a1dd169e14 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 8 Mar 2018 21:15:27 +0100 Subject: finished all uncritical packages in stage 3, up to pacman --- README | 4 ++- TODOS | 7 +++++ build_stage3.sh | 52 +++++++++++++++-------------------- i486-stage3/archlinux32-keyring/DESCR | 2 ++ i486-stage3/ca-certificates/DESCR | 5 +++- i486-stage3/curl/DESCR | 2 ++ i486-stage3/dbus/DESCR | 9 ++++++ i486-stage3/pacman/DESCR | 11 ++++++++ 8 files changed, 60 insertions(+), 32 deletions(-) create mode 100644 i486-stage3/archlinux32-keyring/DESCR create mode 100644 i486-stage3/curl/DESCR create mode 100644 i486-stage3/dbus/DESCR create mode 100644 i486-stage3/pacman/DESCR diff --git a/README b/README index 7bf4f72..c4b23e6 100644 --- a/README +++ b/README @@ -209,8 +209,10 @@ su cross ./prepare_stage2_repo.sh # - libgcrypt without libsecret # - ldns unbound dnssec-anchors are all in a cyrcle -# some packages are simply to hard to build: +# 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 su cross ./prepare_stage3_repo.sh diff --git a/TODOS b/TODOS index c044c11..8010df5 100644 --- a/TODOS +++ b/TODOS @@ -33,6 +33,9 @@ general bugs: 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 @@ -86,3 +89,7 @@ stage2 issues: stage 3 issues: - some packages don't install (also in stage 1): iana-etc, filesystem - can we build layers in parallel? +- linux-atm, we should actually build the kernel first +- pacman-key --refresh: + gpg: connecting dirmngr at '/etc/pacman.d/gnupg/S.dirmngr' failed: IPC connect call failed + gpg: keyserver refresh failed: No dirmngr diff --git a/build_stage3.sh b/build_stage3.sh index d071eba..7512065 100755 --- a/build_stage3.sh +++ b/build_stage3.sh @@ -57,16 +57,12 @@ xfsprogs psmisc gpgme sudo +autoconf-archive +linux-atm iproute2 +ca-certificates curl pacman-mirrorlist archlinux-keyring archlinux32-keyring +pacman " -#~ iptables iproute2 - -# 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 - # 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 @@ -83,17 +79,17 @@ sudo #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 -#~ stage2: -# -# git problem, not base of base-devel, but needed to checkout out via -# https+git protocoll. For now using the stage2 one -# # libxml2: python2 and python as makedepends #~ libxslt: libxml2 libgcrypt python2 #~ xmlto: libxslt docbook-xsl #~ asciidoc: python -#~ git: python2 emacs libgnome-keyring xmlto asciidoc #~ util-linux: #~ pkg-config: glib2 @@ -101,26 +97,23 @@ sudo #~ libxslt: libxml2 # ca-certificates: asciidoc, xsltproc,... -#~ curl: ca-certificates #~ python: #~ linux build full with mkinitcpio and modules - - -#~ pacman-mirrorlist archlinux-keyring archlinux32-keyring pacman -#~ procps-ng -#~ linux -#~ iptables iproute2 + +#~ linux #~ openssh #~ make glibc #~ gdb #~ " #~ #TODO after nasm: syslinux +#~ iptables: libpcap +# libpcap: dbus libusbx + # stage3 (from compute_dependencies.sh) -#~ ca-certificates-cacert: ca-certificates-utils -#~ cryptsetup: device-mapper libgcrypt popt libutil-linux json-c argon2 +#~ cryptsetup: device-mapper libgcrypt popt libutil-linux # ldns/unbound-cyrcle #~ ldns: openssl dnssec-anchors @@ -135,28 +128,27 @@ sudo # the systemd knot #~ libusb: glibc libsystemd #~ usbutils: libusb hwids -#~ netctl: coreutils iproute2 openresolv systemd +#~ netctl: openresolv systemd #~ openresolv: systemd #~ pcmciautils: systemd #~ procps-ng: libsystemd -#~ iptables: libpcap -#~ libpcap: libnl libusbx dbus +#~ libpcap: libusbx dbus # systemd: libgcrypt libmicrohttpd libxslt python-lxml quota-tools 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 -#~ pacman: libarchive curl pacman-mirrorlist archlinux-keyring - -# lvm2, devicemapper: systemd, thin-povisioning-tools +# lvm2, device-mapper: systemd, thin-povisioning-tools #~ thin-provisioning-tools: expat gcc-libs libaio boost # boost: we can build a non-python version +# cryptsetup: device-mapper #~ base cryptsetup #~ base device-mapper #~ base dhcpcd -#~ base licenses #~ base lvm2 #~ base netctl #~ base pcmciautils diff --git a/i486-stage3/archlinux32-keyring/DESCR b/i486-stage3/archlinux32-keyring/DESCR new file mode 100644 index 0000000..7fbf211 --- /dev/null +++ b/i486-stage3/archlinux32-keyring/DESCR @@ -0,0 +1,2 @@ +# this package exists only in Archlinux32, copy the whole bunch +FETCH_METHOD="packages32" diff --git a/i486-stage3/ca-certificates/DESCR b/i486-stage3/ca-certificates/DESCR index 9e1d57f..dbedf4f 100644 --- a/i486-stage3/ca-certificates/DESCR +++ b/i486-stage3/ca-certificates/DESCR @@ -1,2 +1,5 @@ # no documentation -sed -i "/makedepends=/s/'asciidoc'//" PKGBUILD +sed -i "/makedepends=/s/asciidoc//" PKGBUILD +sed -i "s/\(asciidoc.py\)/#\1/g" PKGBUILD +sed -i "s/\(xsltproc\)/true; #\1/g" PKGBUILD +sed -i "s@\(install -Dm644 update-ca-trust.8\)@#\1@" PKGBUILD diff --git a/i486-stage3/curl/DESCR b/i486-stage3/curl/DESCR new file mode 100644 index 0000000..f7f70f7 --- /dev/null +++ b/i486-stage3/curl/DESCR @@ -0,0 +1,2 @@ +# no documentation +sed -i "/makedepends=/s/asciidoc//" PKGBUILD diff --git a/i486-stage3/dbus/DESCR b/i486-stage3/dbus/DESCR new file mode 100644 index 0000000..e68fa79 --- /dev/null +++ b/i486-stage3/dbus/DESCR @@ -0,0 +1,9 @@ +# no documentation +sed -i "/makedepends=/s/xmlto//" PKGBUILD +sed -i "/makedepends=/s/docbook-xsl//" PKGBUILD +sed -i "/makedepends=/s/yelp-tools//" PKGBUILD +sed -i "/makedepends=/s/doxygen//" PKGBUILD +sed -i "/makedepends=/s/graphviz//" PKGBUILD + +# no python +sed -i "/makedepends=/s/python//" PKGBUILD diff --git a/i486-stage3/pacman/DESCR b/i486-stage3/pacman/DESCR new file mode 100644 index 0000000..f60157c --- /dev/null +++ b/i486-stage3/pacman/DESCR @@ -0,0 +1,11 @@ +# no documentation +sed -i "/makedepends=/s/'asciidoc'//" PKGBUILD + +# craft a temporary i486 pacman.conf +cp pacman.conf.i686 pacman.conf.i486 + +# use the 486 config and not 686 one +sed -i 's@pacman.conf.i686@pacman.conf.i486@' PKGBUILD + +# some more architecture patching +sed -i 's@i686@i486@g' PKGBUILD -- cgit v1.2.3-54-g00ecf