summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.Attic/README.old_stage216
-rw-r--r--README8
-rwxr-xr-xbuild_stage3.sh74
-rw-r--r--i486-stage3/gnupg/DESCR7
-rw-r--r--i486-stage3/iputils/DESCR5
-rw-r--r--i486-stage3/libgcrypt/DESCR2
-rw-r--r--i486-stage3/libsasl/DESCR4
-rw-r--r--i486-stage3/libsecret/DESCR10
-rw-r--r--i486-stage3/pinentry/DESCR17
-rw-r--r--i486-stage3/sqlite/DESCR4
10 files changed, 94 insertions, 53 deletions
diff --git a/.Attic/README.old_stage2 b/.Attic/README.old_stage2
index fceabbe..26b3013 100644
--- a/.Attic/README.old_stage2
+++ b/.Attic/README.old_stage2
@@ -29,10 +29,6 @@ qemu-system-i386 --enable-kvm -cpu 486 -m 32 \
PHASE 2
#######
-# tcl
-#####
-# disable tests: cynical, disable unit tests of a software needed for testing
-
# dejagnu
#########
# has hard-wired AC_PROG_CXX in configure, remove internal C++ tests
@@ -43,15 +39,3 @@ sed -i '/Makefile.am/ a \ autoreconf' dejagnu/PKGBUILD
PACKAGES=" \
tcl expect dejagnu"
-
-# in 'real' 486
-###############
-
-next round: do those problems persist
-
-error: could not register 'temp' database (wrong or NULL argument passed)
-
-installed binaries have wrong permissions (no execute permission), a pacman issue?
-shilly flags? libarchive problem?
-
-later: for inside the chroot
diff --git a/README b/README
index 19dbe1e..ec20973 100644
--- a/README
+++ b/README
@@ -203,6 +203,14 @@ su cross ./prepare_stage2_repo.sh
# Also ommit most documentation building as it has heavy dependencies.
+# We break cycles by making the simpler dependency vanish in the more
+# complex packages:
+# - libsasl without openldap
+# - libgcrypt without libsecret
+
+# some packages are simply to hard to build:
+# - libsecret: needs glib2 which is not buildable in stage3
+
su cross ./prepare_stage3_repo.sh
# Build stage 3 on the target architecture and install it onto the
diff --git a/build_stage3.sh b/build_stage3.sh
index 0a8b64d..d3d9b27 100755
--- a/build_stage3.sh
+++ b/build_stage3.sh
@@ -19,37 +19,66 @@ e2fsprogs expat bzip2 lz4 xz pcre less gzip
tar libarchive
icu
mpdecimal libffi
-nettle libidn libtasn1 p11-kit gnutls libgpg-error
+nettle libidn libtasn1 p11-kit gnutls libgpg-error libassuan
+libksba libgcryt pinentry gnupg
elfutils sed texinfo grep findutils file diffutils ed patch
fakeroot
check kbd bison shadow
inetutils bc kmod
net-tools libmnl
libedit
-libatomic_ops gc mpfr gawk libmpc binutils
+mpfr gawk libmpc binutils
+libatomic_ops gc
libunwind strace
argon2
groff
+jfsutils
json-c
libcap-ng
+libnftnl
libpipeline libseccomp man-db man-pages
+libmicrohttpd
mdadm
nano
+npth
popt logrotate
hwids pciutils
keyutils
-sqlite
+tcl sqlite libsasl chrpath unixodbc
+reiserfsprogs
+sysfsutils iputils
vi
which
+xfsprogs
"
-#~ util-linux: libcap-ng
+#~ <net-tools> <libmnl> <libnfnetlink> iptables iproute2
+
+#~ iptables: glibc bash libpcap
+#~ libpcap: glibc libnl sh libusbx dbus
-# guile, guile2_0: libtool fails to find gc
+#~ 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
+# wait for full toolchain to be around.
+
+#~ gdb: python guile2.0
+# wait for posix threads, gcc toolchain rebuild
+
+# openldap:
+#/usr/lib/gcc/i486-pc-linux-gnu/7.3.0/ld: cannot find -lldap_r
+#collect2: error: ld returned 1 exit status
+#libtool: install: error: relink `accesslog.la' with the above command before installing it
+#make[2]: Leaving directory '/build/openldap/src/openldap-2.4.45/servers/slapd/overlays'
+
+# building toolchain (gcc): again, lobtool problems
+#/usr/lib/gcc/i486-pc-linux-gnu/7.3.0/ld: cannot find -lquadmath
+#collect2: error: ld returned 1 exit status
+#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'
-# gnupg: libgcrypt
-# libcgcryt: autodetection fails brilliantly, for instalce SSE 4.1
-# gets enabled!
#~ stage2:
#
@@ -61,8 +90,6 @@ which
#~ xmlto: libxslt docbook-xsl
#~ git: python2 emacs libgnome-keyring xmlto asciidoc
#~
-#~ libsasl: postgresql-libs libmariadbclient libldap krb5
-#~ libsasl: sqlite
#~ libldap: libsasl
#~ krb5: e2fsprogs libldap keyutils
#~ keyutils: glibc sh
@@ -81,14 +108,15 @@ which
#~ linux build full with mkinitcpio and modules
-#~ gdb: python guile2.0
+
+# systemd: libgcrypt libmicrohttpd libxslt python-lxml quota-tools gnu-efi-libs meson
#~ pacman-mirrorlist archlinux-keyring archlinux32-keyring pacman
#~ <kbd> procps-ng <bison> <shadow>
#~ <inetutils> <bc> <kmod> linux
#~ <net-tools> <libmnl> <libnfnetlink> iptables iproute2
#~ <libedit> openssh
-#~ <make> <mpfr> <gawk> <libmpc> <binutils> <gcc> glibc
+#~ make <mpfr> <gawk> <libmpc> <binutils> <gcc> glibc
#~ <libunwind> <strace> gdb
#~ "
#~ #TODO after nasm: syslinux
@@ -99,21 +127,10 @@ which
#~ dbus: libsystemd expat
#~ dhcpcd: glibc sh udev libsystemd
#~ glib2: pcre libffi libutil-linux zlib
-#~ gnupg: npth libgpg-error libgcrypt libksba libassuan pinentry bzip2 readline gnutls sqlite
#~ guile2.0: gmp libltdl ncurses texinfo libunistring gc libffi
-#~ iptables: glibc bash libnftnl libpcap
-#~ iputils: openssl sysfsutils libcap libidn
-#~ jfsutils: util-linux
#~ ldns: openssl dnssec-anchors
-#~ libarchive: acl attr bzip2 expat lz4 openssl xz zlib
-#~ libassuan: libgpg-error
-#~ libgcrypt: libgpg-error
-#~ libksba: bash libgpg-error glibc
-#~ libnfnetlink: glibc
-#~ libnftnl: libmnl
+#~ dnssec-anchors: unbound
#~ libnghttp2: glibc
-#~ libnl: glibc
-#~ libpcap: glibc libnl sh libusbx dbus
#~ libsecret: glib2 libgcrypt
#~ libssh2: openssl
#~ libtirpc: krb5
@@ -125,34 +142,25 @@ which
#~ openssh: krb5 openssl libedit ldns
#~ pacman: bash glibc libarchive curl gpgme pacman-mirrorlist archlinux-keyring
#~ pcmciautils: systemd
-#~ pinentry: ncurses libcap libassuan libsecret
#~ pkg-config: glib2
#~ procps-ng: ncurses libsystemd
#~ psmisc: ncurses
-#~ reiserfsprogs: util-linux
#~ s-nail: openssl krb5 libidn
#~ sudo: glibc libgcrypt pam libldap
-#~ sysfsutils: glibc
#~ thin-provisioning-tools: expat gcc-libs libaio
#~ usbutils: libusb hwids
-#~ xfsprogs: sh libutil-linux readline
#~ base cryptsetup
#~ base device-mapper
#~ base dhcpcd
-#~ base iputils
-#~ base jfsutils
#~ base licenses
#~ base lvm2
#~ base netctl
-#~ base pciutils
#~ base pcmciautils
#~ base psmisc
-#~ base reiserfsprogs
#~ base s-nail
#~ base systemd-sysvcompat
#~ base usbutils
-#~ base xfsprogs
#~ base-devel sudo
#~ base-devel systemd
diff --git a/i486-stage3/gnupg/DESCR b/i486-stage3/gnupg/DESCR
new file mode 100644
index 0000000..addb713
--- /dev/null
+++ b/i486-stage3/gnupg/DESCR
@@ -0,0 +1,7 @@
+# TODO: no ldap (openldap has a linking problem, can be removed later when
+# openldap builds)
+sed -i "/makedepends=/s/libldap//" PKGBUILD
+
+# no other dependencies
+sed -i "/makedepends=/s/libusb-compat//" PKGBUILD
+sed -i "/makedepends=/s/pcsclite//" PKGBUILD
diff --git a/i486-stage3/iputils/DESCR b/i486-stage3/iputils/DESCR
new file mode 100644
index 0000000..66e1cc2
--- /dev/null
+++ b/i486-stage3/iputils/DESCR
@@ -0,0 +1,5 @@
+# no documentation
+sed -i "/makedepends=/s/perl-sgmls//" PKGBUILD
+sed -i "/makedepends=/s/docbook-utils//" PKGBUILD
+sed -i 's/\(make -C doc man\)/#\1/' PKGBUILD
+sed -i '/install.*doc/,/pkgdir/s/\(.*\)/#\1/' PKGBUILD
diff --git a/i486-stage3/libgcrypt/DESCR b/i486-stage3/libgcrypt/DESCR
new file mode 100644
index 0000000..b33cb3d
--- /dev/null
+++ b/i486-stage3/libgcrypt/DESCR
@@ -0,0 +1,2 @@
+# no modern Intel assembly optimizations
+sed -i "s@./configure@./configure --disable-pclmul-support --disable-sse41-support --disable-drng-support --disable-avx-support --disable-avx2-support --disable-neon-support --disable-arm-crypto-support --disable-amd64-as-feature-detection@" PKGBUILD
diff --git a/i486-stage3/libsasl/DESCR b/i486-stage3/libsasl/DESCR
index 42d18dc..68d06e7 100644
--- a/i486-stage3/libsasl/DESCR
+++ b/i486-stage3/libsasl/DESCR
@@ -1,9 +1,13 @@
# libsasl needs libdlap, but libldap can use libsasl? break the cyrcle..
sed -i "/makedepends=/s/libldap//" PKGBUILD
+sed -i 's/--with-ldap/--without-ldap/' PKGBUILD
+sed -i 's/--enable-ldapdb/--disable-ldapdb/' PKGBUILD
# breaking the krb5 needs libldap needs libsasl needs krb5 cycle..
sed -i "/makedepends=/s/krb5//" PKGBUILD
# no database bindings
sed -i "/makedepends=/s/postgresql-libs//" PKGBUILD
+sed -i 's/--with-pgsql=.*/--without-pgsql \\/' PKGBUILD
sed -i "/makedepends=/s/libmariadbclient//" PKGBUILD
+sed -i 's/--with-mysql=.*/--without-mysql \\/' PKGBUILD
diff --git a/i486-stage3/libsecret/DESCR b/i486-stage3/libsecret/DESCR
new file mode 100644
index 0000000..11cbba9
--- /dev/null
+++ b/i486-stage3/libsecret/DESCR
@@ -0,0 +1,10 @@
+# no documentation
+sed -i "/makedepends=/s/intltool//" PKGBUILD
+sed -i "/makedepends=/s/docbook-xsl//" PKGBUILD
+sed -i "/makedepends=/s/gtk-doc//" PKGBUILD
+
+# no gnome
+sed -i "/makedepends=/s/gobject-introspection//" PKGBUILD
+
+# no vala
+sed -i "/makedepends=/s/vala//" PKGBUILD
diff --git a/i486-stage3/pinentry/DESCR b/i486-stage3/pinentry/DESCR
new file mode 100644
index 0000000..fa2dfcf
--- /dev/null
+++ b/i486-stage3/pinentry/DESCR
@@ -0,0 +1,17 @@
+# no libsecret (has cyrcles and far too many dependencies)
+sed -i "/depends=/s/'libsecret'//" PKGBUILD
+sed -i 's/--enable-libsecret/--disable-libsecret/' PKGBUILD
+
+# no emacs
+sed -i 's/--enable-pinentry-emacs/--disable-pinentry-emacs/' PKGBUILD
+
+# no GUI stuff
+sed -i "/makedepends=/s/gtk2//" PKGBUILD
+sed -i "/makedepends=/s/qt5-base//" PKGBUILD
+sed -i "/makedepends=/s/gtk2//" PKGBUILD
+sed -i 's/--enable-pinentry-gtk2/--disable-pinentry-gtk2/' PKGBUILD
+sed -i 's/--enable-pinentry-gnome3/--disable-pinentry-gnome3/' PKGBUILD
+sed -i 's/--enable-pinentry-qt/--disable-pinentry-qt/' PKGBUILD
+
+# no gcr
+sed -i "/makedepends=/s/gcr//" PKGBUILD
diff --git a/i486-stage3/sqlite/DESCR b/i486-stage3/sqlite/DESCR
deleted file mode 100644
index 9d8b16e..0000000
--- a/i486-stage3/sqlite/DESCR
+++ /dev/null
@@ -1,4 +0,0 @@
-# TODO: or build tcl? we need it later for testing the toolchain anyway
-# no dependency on tcl
-sed -i "/makedepends=/s/tcl//" PKGBUILD
-