From db04852874c84583ae67922b82243b4482d1efa8 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 4 Mar 2018 18:50:48 +0100 Subject: built iputils and gnupg for stage 3 --- .Attic/README.old_stage2 | 16 ---------- README | 8 +++++ build_stage3.sh | 74 +++++++++++++++++++++++++-------------------- i486-stage3/gnupg/DESCR | 7 +++++ i486-stage3/iputils/DESCR | 5 +++ i486-stage3/libgcrypt/DESCR | 2 ++ i486-stage3/libsasl/DESCR | 4 +++ i486-stage3/libsecret/DESCR | 10 ++++++ i486-stage3/pinentry/DESCR | 17 +++++++++++ i486-stage3/sqlite/DESCR | 4 --- 10 files changed, 94 insertions(+), 53 deletions(-) create mode 100644 i486-stage3/gnupg/DESCR create mode 100644 i486-stage3/iputils/DESCR create mode 100644 i486-stage3/libgcrypt/DESCR create mode 100644 i486-stage3/libsecret/DESCR create mode 100644 i486-stage3/pinentry/DESCR delete mode 100644 i486-stage3/sqlite/DESCR 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 +#~ 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 #~ procps-ng #~ linux #~ iptables iproute2 #~ openssh -#~ glibc +#~ make glibc #~ 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 - -- cgit v1.2.3-54-g00ecf