From 970e772bc7516a165f72d37f60dabd7c3a13a232 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 25 Mar 2018 20:27:32 +0200 Subject: building up to guile playing with systemd/initrd boot for 64MB 486 (somewhat unstable ATM) --- build_stage4.sh | 82 ++++++++++++++++++++++++++++++---- build_stage4_package.sh | 40 ++++++++++------- i486-stage3/uinit/DESCR | 3 ++ i486-stage4/gnutls/DESCR | 2 + i486-stage4/gpgme/DESCR | 13 ++++++ i486-stage4/libatomic_ops/DESCR | 12 +++++ i486-stage4/nasm/DESCR | 12 +++++ i486-stage4/openssh/DESCR | 3 ++ i486-stage4/p11-kit/DESCR | 3 ++ i486-stage4/perl-http-daemon/DESCR | 6 +++ i486-stage4/perl-io-socket-inet6/DESCR | 12 +++++ i486-stage4/perl-io-socket-ssl/DESCR | 14 ++++++ i486-stage4/perl-net-ssleay/DESCR | 13 ++++++ i486-stage4/pinentry/DESCR | 14 ++++++ i486-stage4/ucl/DESCR | 2 + i486-stage4/uinit/DESCR | 3 ++ i486-stage4/valgrind/DESCR | 2 + 17 files changed, 211 insertions(+), 25 deletions(-) create mode 100644 i486-stage3/uinit/DESCR create mode 100644 i486-stage4/gnutls/DESCR create mode 100644 i486-stage4/gpgme/DESCR create mode 100644 i486-stage4/libatomic_ops/DESCR create mode 100644 i486-stage4/nasm/DESCR create mode 100644 i486-stage4/openssh/DESCR create mode 100644 i486-stage4/p11-kit/DESCR create mode 100644 i486-stage4/perl-http-daemon/DESCR create mode 100644 i486-stage4/perl-io-socket-inet6/DESCR create mode 100644 i486-stage4/perl-io-socket-ssl/DESCR create mode 100644 i486-stage4/perl-net-ssleay/DESCR create mode 100644 i486-stage4/pinentry/DESCR create mode 100644 i486-stage4/ucl/DESCR create mode 100644 i486-stage4/uinit/DESCR create mode 100644 i486-stage4/valgrind/DESCR diff --git a/build_stage4.sh b/build_stage4.sh index 29a0d8d..1af43b3 100755 --- a/build_stage4.sh +++ b/build_stage4.sh @@ -22,35 +22,100 @@ libtool zlib pambase cracklib libtirpc flex gpm w3m pam libcap coreutils util-linux pkg-config e2fsprogs expat bzip2 lz4 xz pcre less gzip -tar libarchive curl +tar libarchive icu curl +mpdecimal libffi +valgrind nettle libidn libtasn1 p11-kit gnutls libgpg-error libassuan +libksba libgcrypt pinentry +perl-http-daemon perl-socket6 perl-io-socket-inet6 perl-net-ssleay +perl-io-socket-ssl +perl-http-date perl-encode-locale perl-lwp-mediatypes perl-test-needs +perl-uri perl-io-html perl-try-tiny perl-http-message perl-lwp-mediatypes +perl-http-daemon perl-io-socket-ssl +wget +libusb-compat pcsclite gnupg gpgme pacman-mirrorlist archlinux-keyring archlinux32-keyring sharutils perl-text-charwidth perl-text-wrapi18n perl-term-readkey perl-sgmls perl-inc-latest perl-par-dist perl-sub-identify perl-super perl-module-build perl-test-mockmodule perl-archive-zip perl-mime-charset libdatrie libthai perl-unicode-linebreak -po4a fakeroot fakechroot pacman +po4a fakeroot fakechroot +pacman elfutils sed texinfo grep findutils file diffutils ed patch -kbd procps-ng bison shadow -inetutils bc kmod linux +check kbd procps-ng bison shadow +inetutils bc kmod linux uinit nasm ucl upx syslinux +net-tools libmnl libnfnetlink +libedit openssh which +libatomic_ops gc guile make guile2.0 gdb " +#~ mpfr gawk libmpc binutils gcc glibc + +# => +#~ +#~ + +#~ libunwind strace +#~ argon2 +#~ groff +#~ jfsutils +#~ json-c +#~ libcap-ng +#~ libnftnl +#~ libidn2 libnghttp2 libpsl +#~ libpipeline libseccomp man-db man-pages +#~ libmicrohttpd +#~ libssh2 +#~ mdadm +#~ nano +#~ npth +#~ popt logrotate +#~ hwids pciutils +#~ keyutils +#~ tcl sqlite libsasl chrpath unixodbc openldap +#~ krb5 libtirpc pam +#~ reiserfsprogs +#~ sysfsutils iputils +#~ s-nail +#~ vi +#~ xfsprogs +#~ psmisc +#~ sudo +#~ autoconf-archive +#~ linux-atm iproute2 +#~ python quota-tools perl-xml-parser intltool +#~ re2c python2 ninja +#~ python-pip-bootstrap python-pip +#~ python-pyparsing python-packaging python-appdirs python-six python-setuptools +#~ meson +#~ gperf systemd dbus libusb usbutils libpcap iptables iproute2 util-linux +#~ procps-ng pcmciautils openresolv netctl dhcpcd +#~ mkinitcpio-busybox mkinitcpio +#~ glib2 pkg-config +#~ ldns openssh +#~ zip nspr gyp nss +#~ libaio boost +#~ thin-provisioning-tools lvm2 +#~ nasm syslinux +#~ linux linux-firmware +#~ " + + #~ stage2: #~ PACKAGES=" #~ -#~ +#~ again: linux, doesn't boot? #~ #~ -#~ uinit nasm -#~ net-tools libmnl libnfnetlink iptables iproute2 +#~ #~ libedit openssh #~ make mpfr gawk libmpc binutils gcc glibc #~ libunwind strace gdb #~ " # Archlinux base, base-devel groups -#~ cryptsetup +#~ argon2 cryptsetup #~ device-mapper #~ dhcpcd #~ gawk @@ -81,7 +146,6 @@ which #~ gcc #~ groff #~ make -#~ pacman #~ sudo #~ systemd diff --git a/build_stage4_package.sh b/build_stage4_package.sh index b021e41..ed1926f 100755 --- a/build_stage4_package.sh +++ b/build_stage4_package.sh @@ -16,8 +16,8 @@ PACKAGE=$1 . "$SCRIPT_DIR/$TARGET_CPU-stage4/template/DESCR" -#~ if test "$(find "$STAGE4_PACKAGES" -regex ".*/$PACKAGE-.*pkg\\.tar\\.xz" | wc -l)" = 0; then - #~ echo "Building package $PACKAGE." +if test "$(find "$STAGE4_PACKAGES" -regex ".*/$PACKAGE-.*pkg\\.tar\\.xz" | wc -l)" = 0; then + echo "Building package $PACKAGE." cd $STAGE4_BUILD || exit 1 @@ -45,8 +45,12 @@ PACKAGE=$1 yaourt -G "$PACKAGE" ;; "packages32") - # (we assume, we only take core packages) - cp -a "$ARCHLINUX32_PACKAGES/core/$PACKAGE" . + if test -d "$ARCHLINUX32_PACKAGES/extra/$PACKAGE"; then + cp -a "$ARCHLINUX32_PACKAGES/extra/$PACKAGE" . + fi + if test -d "$ARCHLINUX32_PACKAGES/core/$PACKAGE"; then + cp -a "$ARCHLINUX32_PACKAGES/core/$PACKAGE" . + fi ;; *) echo "ERROR: unknown FETCH_METHOD '$FETCH_METHOD'.." >&2 @@ -60,17 +64,21 @@ PACKAGE=$1 # if there is a packages32 diff-PKGBUILD, attach it at the end # (we assume, we build only 'core' packages during stage1) - DIFF_PKGBUILD="$ARCHLINUX32_PACKAGES/core/$PACKAGE/PKGBUILD" - if test -f "$DIFF_PKGBUILD"; then - cat "$DIFF_PKGBUILD" >> PKGBUILD - fi + for repo in core extra community; do + DIFF_PKGBUILD="$ARCHLINUX32_PACKAGES/$repo/$PACKAGE/PKGBUILD" + if test -f "$DIFF_PKGBUILD"; then + cat "$DIFF_PKGBUILD" >> PKGBUILD + fi + done # copy all other files from Archlinux32, if they exist - # (we assume, we only take core packages during stage1) - if test -f "$DIFF_PKGBUILD"; then - find "$ARCHLINUX32_PACKAGES/core/$PACKAGE"/* ! -name PKGBUILD \ - -exec cp {} . \; - fi + for repo in core extra community; do + DIFF_PKGBUILD="$ARCHLINUX32_PACKAGES/$repo/$PACKAGE/PKGBUILD" + if test -f "$DIFF_PKGBUILD"; then + find "$ARCHLINUX32_PACKAGES/$repo/$PACKAGE"/* ! -name PKGBUILD \ + -exec cp {} . \; + fi + done # source package descriptions, sets variables for this script # and executes whatever is needed to build the package @@ -180,6 +188,6 @@ PACKAGE=$1 cd $STAGE4_BUILD || exit 1 -#~ else - #~ echo "$PACKAGE exists." -#~ fi +else + echo "$PACKAGE exists." +fi diff --git a/i486-stage3/uinit/DESCR b/i486-stage3/uinit/DESCR new file mode 100644 index 0000000..2b74cf8 --- /dev/null +++ b/i486-stage3/uinit/DESCR @@ -0,0 +1,3 @@ +# uinit as temporary systemd replacement for PID 1, lives in the AUR +FETCH_METHOD="yaourt" + diff --git a/i486-stage4/gnutls/DESCR b/i486-stage4/gnutls/DESCR new file mode 100644 index 0000000..3bcc73c --- /dev/null +++ b/i486-stage4/gnutls/DESCR @@ -0,0 +1,2 @@ +# many errors +SKIP_CHECK=1 diff --git a/i486-stage4/gpgme/DESCR b/i486-stage4/gpgme/DESCR new file mode 100644 index 0000000..7ba1884 --- /dev/null +++ b/i486-stage4/gpgme/DESCR @@ -0,0 +1,13 @@ +# we only build the library +sed -i 's/pkgname=.*/pkgname=(gpgme)/' PKGBUILD + +# no Qt library +sed -i "/makedepends=/s/'qt5-base'//" PKGBUILD + +# no bindings +sed -i "/makedepends=/s/'swig'//" PKGBUILD + +# disable language bindings support and don't move around +# things we do not build +sed -i 's@./configure@./configure --enable-languages=no@' PKGBUILD +sed -i '/# split qgpgme/,/^}/ {/# split qgpgme/n;/^}/!{s/\(.*\)/#\1/g}}' PKGBUILD diff --git a/i486-stage4/libatomic_ops/DESCR b/i486-stage4/libatomic_ops/DESCR new file mode 100644 index 0000000..6a32e59 --- /dev/null +++ b/i486-stage4/libatomic_ops/DESCR @@ -0,0 +1,12 @@ +#collect2: error: ld returned 1 exit status +#make[3]: Leaving directory '/build/libatomic_ops/src/libatomic_ops-7.6.2/tests' +#make[3]: *** [Makefile:622: test_atomic] Error 1 +#make[2]: Leaving directory '/build/libatomic_ops/src/libatomic_ops-7.6.2/tests' +#make[2]: *** [Makefile:981: check-am] Error 2 +##make[1]: Leaving directory '/build/libatomic_ops/src/libatomic_ops-7.6.2/tests' +#make[1]: *** [Makefile:984: check] Error 2 +#make: *** [Makefile:475: check-recursive] Error 1 +#==> ERROR: A failure occurred in check(). +# Aborting... +#ERROR building package libatomic_ops +SKIP_CHECK=1 diff --git a/i486-stage4/nasm/DESCR b/i486-stage4/nasm/DESCR new file mode 100644 index 0000000..eda335a --- /dev/null +++ b/i486-stage4/nasm/DESCR @@ -0,0 +1,12 @@ +# remove all fonts and ghostscript (we don't build the manual) +sed -i "/makedepends=/s/perl-font-ttf//" PKGBUILD +sed -i "/makedepends=/s/perl-sort-versions//" PKGBUILD +sed -i "/makedepends=/s/fontconfig//" PKGBUILD +sed -i "/makedepends=/s/adobe-source-sans-pro-fonts//" PKGBUILD +sed -i "/makedepends=/s/ttf-liberation//" PKGBUILD +sed -i "/makedepends=/s/ghostscript//" PKGBUILD +sed -i "s/\(make -C doc\)/#\1/" PKGBUILD + +# orginal download link unstable +sed -i 's@http://www.nasm.us/pub/nasm/releasebuilds/${pkgver}/${pkgname}-${pkgver}.tar.xz@https://ftp.osuosl.org/pub/blfs/conglomeration/${pkgname}/${pkgname}-${pkgver}.tar.xz@' PKGBUILD + diff --git a/i486-stage4/openssh/DESCR b/i486-stage4/openssh/DESCR new file mode 100644 index 0000000..577132d --- /dev/null +++ b/i486-stage4/openssh/DESCR @@ -0,0 +1,3 @@ +# run test connect.sh ... +# FATAL: no sshd running on port 4242 +SKIP_CHECK=1 diff --git a/i486-stage4/p11-kit/DESCR b/i486-stage4/p11-kit/DESCR new file mode 100644 index 0000000..abee97c --- /dev/null +++ b/i486-stage4/p11-kit/DESCR @@ -0,0 +1,3 @@ +# no documentation +sed -i "/makedepends=/s/gtk-doc//" PKGBUILD +sed -i "s@--enable-doc@--disable-doc@" PKGBUILD diff --git a/i486-stage4/perl-http-daemon/DESCR b/i486-stage4/perl-http-daemon/DESCR new file mode 100644 index 0000000..b3962a6 --- /dev/null +++ b/i486-stage4/perl-http-daemon/DESCR @@ -0,0 +1,6 @@ +#Manifying 1 pod document +#==> Starting check()... +#PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t +#Connection timed out ...propagated at t/chunked.t line 150. +# Looks like your test exited with 110 before it could output anything. +SKIP_CHECK=1 diff --git a/i486-stage4/perl-io-socket-inet6/DESCR b/i486-stage4/perl-io-socket-inet6/DESCR new file mode 100644 index 0000000..b6e79d9 --- /dev/null +++ b/i486-stage4/perl-io-socket-inet6/DESCR @@ -0,0 +1,12 @@ +# Parse errors: Bad plan. You planned 20 tests but ran 0. +#t/io_udp6.t (Wstat: 25344 Tests: 0 Failed: 0) +# Non-zero exit status: 99 +# Parse errors: Bad plan. You planned 7 tests but ran 0. +#Files=10, Tests=3, 2 wallclock secs ( 0.09 usr 0.08 sys + 1.35 cusr 0.20 csys = 1.72 CPU) +#Result: FAIL +#Failed 4/10 test programs. 0/3 subtests failed. +#make: *** [Makefile:857: test_dynamic] Error 255 +#==> ERROR: A failure occurred in check(). +# Aborting... +#ERROR building package perl-io-socket-inet6 +SKIP_CHECK=1 diff --git a/i486-stage4/perl-io-socket-ssl/DESCR b/i486-stage4/perl-io-socket-ssl/DESCR new file mode 100644 index 0000000..2b8dbdc --- /dev/null +++ b/i486-stage4/perl-io-socket-ssl/DESCR @@ -0,0 +1,14 @@ +# Failed test 'not ok #tcp listen failed: Cannot assign requested address +# ' +# at ./t/testlib.pl line 39. +# Tests were run but no plan was declared and done_testing() was not seen. +# Looks like your test exited with 1 just after 1. +#t/plain_upgrade_downgrade.t ....... +#Dubious, test returned 1 (wstat 256, 0x100) +#Failed 1/1 subtests +#Bailout called. Further testing stopped: cannot listen on localhost: Cannot assign requested address +#FAILED--Further testing stopped: cannot listen on localhost: Cannot assign requested address +#make: *** [Makefile:880: test_dynamic] Error 255 +#==> ERROR: A failure occurred in check(). +# Aborting... +SKIP_CHECK=1 diff --git a/i486-stage4/perl-net-ssleay/DESCR b/i486-stage4/perl-net-ssleay/DESCR new file mode 100644 index 0000000..98286b4 --- /dev/null +++ b/i486-stage4/perl-net-ssleay/DESCR @@ -0,0 +1,13 @@ +#Building perl-net-ssleay on target.. +#Could not find a port to bind to at t/local/06_tcpecho.t line 37. +## Looks like your test exited with 99 just after 2. +#t/local/06_tcpecho.t ................... +#Dubious, test returned 99 (wstat 25344, 0x6300) +#Failed 4/4 subtests +#Bailout called. Further testing stopped: Could not find a port to bind to: Cannot assign requested address +#FAILED--Further testing stopped: Could not find a port to bind to: Cannot assign requested address +#make: *** [Makefile:977: test_dynamic] Error 255 +#==> ERROR: A failure occurred in check(). +# Aborting... +#ERROR building package perl-net-ssleay +SKIP_CHECK=1 diff --git a/i486-stage4/pinentry/DESCR b/i486-stage4/pinentry/DESCR new file mode 100644 index 0000000..4456cdc --- /dev/null +++ b/i486-stage4/pinentry/DESCR @@ -0,0 +1,14 @@ +# no libsecret (has cyrcles and far too many dependencies) +sed -i "/depends=/s/'libsecret'//" PKGBUILD +sed -i 's/--enable-libsecret/--disable-libsecret/' 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-stage4/ucl/DESCR b/i486-stage4/ucl/DESCR new file mode 100644 index 0000000..2b4e25f --- /dev/null +++ b/i486-stage4/ucl/DESCR @@ -0,0 +1,2 @@ +# see https://bugs.archlinux.org/task/49287?project=5&string=ucl +sed -i 's@./configure@CPPFLAGS="$CPPFLAGS -std=c90 -fPIC" ./configure@' PKGBUILD diff --git a/i486-stage4/uinit/DESCR b/i486-stage4/uinit/DESCR new file mode 100644 index 0000000..2b74cf8 --- /dev/null +++ b/i486-stage4/uinit/DESCR @@ -0,0 +1,3 @@ +# uinit as temporary systemd replacement for PID 1, lives in the AUR +FETCH_METHOD="yaourt" + diff --git a/i486-stage4/valgrind/DESCR b/i486-stage4/valgrind/DESCR new file mode 100644 index 0000000..2d800dd --- /dev/null +++ b/i486-stage4/valgrind/DESCR @@ -0,0 +1,2 @@ +# remove openmpi +sed -i "/makedepends=/s/'openmpi'//" PKGBUILD -- cgit v1.2.3-54-g00ecf