summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2018-03-25 20:27:32 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2018-03-25 20:27:32 +0200
commit970e772bc7516a165f72d37f60dabd7c3a13a232 (patch)
tree3718b8484c7df108d5e9f3753ab34c52e2217dfb
parent76c4f1be65af6a459f23509276b4bf818a9bfd37 (diff)
downloadbootstrap32-970e772bc7516a165f72d37f60dabd7c3a13a232.tar.xz
building up to guile
playing with systemd/initrd boot for 64MB 486 (somewhat unstable ATM)
-rwxr-xr-xbuild_stage4.sh82
-rwxr-xr-xbuild_stage4_package.sh40
-rw-r--r--i486-stage3/uinit/DESCR3
-rw-r--r--i486-stage4/gnutls/DESCR2
-rw-r--r--i486-stage4/gpgme/DESCR13
-rw-r--r--i486-stage4/libatomic_ops/DESCR12
-rw-r--r--i486-stage4/nasm/DESCR12
-rw-r--r--i486-stage4/openssh/DESCR3
-rw-r--r--i486-stage4/p11-kit/DESCR3
-rw-r--r--i486-stage4/perl-http-daemon/DESCR6
-rw-r--r--i486-stage4/perl-io-socket-inet6/DESCR12
-rw-r--r--i486-stage4/perl-io-socket-ssl/DESCR14
-rw-r--r--i486-stage4/perl-net-ssleay/DESCR13
-rw-r--r--i486-stage4/pinentry/DESCR14
-rw-r--r--i486-stage4/ucl/DESCR2
-rw-r--r--i486-stage4/uinit/DESCR3
-rw-r--r--i486-stage4/valgrind/DESCR2
17 files changed, 211 insertions, 25 deletions
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