From 02ad152b238969c713c6febb8954a7aea1787cb5 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sun, 4 Feb 2018 18:13:11 +0100 Subject: cleanup stage 1 in README --- README | 113 +----------------------------------------------- build_stage1.sh | 2 +- i486-stage1/attr/DESCR | 2 +- i486-stage1/uinit/DESCR | 7 +++ 4 files changed, 10 insertions(+), 114 deletions(-) diff --git a/README b/README index 9d2cb47..ee33e41 100644 --- a/README +++ b/README @@ -309,13 +309,6 @@ use gcc-cross-PKGBUILD - -# uinit -sed -i 's/make /make CC=i486-unknown-linux-gnu-gcc /g' uinit/PKGBUILD -# remove git dependency -sed -i 's@makedepends\(.*\)@#makedepends\1@g' uinit/PKGBUILD - - # glibc sed -i 's@/configure"@/configure" --host=i486-unknown-linux-gnu --build=x86_64-pc-linux-gnu@g' PKGBUILD # change bug reporting @@ -419,15 +412,6 @@ done # special patches for some packages ################################### -# linux -# proto-kernel without ramdisk and modules if possible, just enough to boot into -# a virtual machine (we take qemu/kvm/libvirt) -# libelf is only needed for loadable modules, we disable that for now -sed -i 's@config.i686@config.i486@g' linux/PKGBUILD - -# circular reference in getext (needed by attr, which needs also gettext) -sed -i 's@makedepends\(.*\)@#makedepends\1@g' attr/PKGBUILD - # autoconf needs help2man, checks need fortan (wow. that package is old!) # depends contains base-devel stuff?! diffutils sed -i 's@makedepends\(.*\)@#makedepends\1@g' autoconf/PKGBUILD @@ -446,19 +430,6 @@ chmod u+w /home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysr sed -i 's@^#/bin/perl@/home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/usr/bin/perl@g' \ /home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/usr/bin/autoreconf -# libarchive calls autoreconf, this is quite annoying as perl in crosstool-nt or -# build for the x-tools is hard to get running properly -# do the autoreconf -fi outside, create a package libarchive-3.3.2-retooled.tgz -# libarchive has trouble with wchar_t (and has quite some other trouble around autoconf it seems) -# remove the wchar_t and wchar_t sizeof test in configure.ac manutally before retooling -# and of course tests fail! -sed -i "s@^source=.*@source=('libarchive-3.3.2-retooled.tgz')@g" libarchive/PKGBUILD -sed -i "s@^sha256sums=.*@sha256sums=('1f856e6f5cc0e1479f381e381a031ba19d09f80b51ac88e74b2c140fc78606e8')@g" libarchive/PKGBUILD -sed -i 's@autoreconf@#autoreconf@g' libarchive/PKGBUILD - -#depends=(ca-certificates-{mozilla,cacert}) -sed -i 's@depends=(ca-certificates-{mozilla,cacert})@##depends=(ca-certificates-{mozilla,cacert})\1@g' ca-certificates/PKGBUILD - # curl ###### # curl needs asciidoc and p11-kit, don't build them, use them from the host @@ -485,21 +456,6 @@ sed -i 's/exit 1 # \$E_USER_ABORT/# exit 1 # $E_USER_ABORT/g' /home/cross/i486-r # libarchive/libtool fuckups: # for expat and lzma: /home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/usr/lib/ - - -# pcre -###### -# no C++ -sed -i 's@./configure@./configure --disable-cpp@g' pcre/PKGBUILD -# --nocheck as we have trouble to find shared libraries - -# findutils -########### -# --nockeck: FAIL: test-mbrtowc1.sh -#FAIL: test-mbrtowc2.sh -#FAIL: test-mbrtowc3.sh -#FAIL: test-mbrtowc4.sh - # mpfr ###### # builds against host gmp, we want it to build against our version! @@ -669,11 +625,6 @@ Errors occurred, no packages were upgraded. test.c:1:10: fatal error: stdio.h: No such file or directory -# sed -##### -# gettext: take the one from the host -sed -i 's@makedepends\(.*\)@#makedepends\1@g' sed/PKGBUILD - # fakeroot ########## # disable makedepends and take out po4a @@ -730,81 +681,23 @@ sed -i 's@autoreconf@#autoreconf@g' libarchive/PKGBUILD # generic build ############### -# some binaries in the cross tools (also known as perl) have really -# weird library pathes (and no rpath it seems) -export LD_LIBRARY_PATH=/home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/usr/lib/:/home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/usr/lib/perl5/5.26/core_perl/CORE -export PATH=/home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/bin:/home/cross/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot/usr/bin:${PATH} for p in $PACKAGES - cd $p - sed -i "s/^arch=.*/arch=('i486')/" PKGBUILD # for some packages we cannot execute tests (because the dependencies to install in # the toolchain environment would be too much) - # perl: --nocheck - # openssl: --nocheck - # expat: --nocheck - # lz4: --nocheck # autoconf: --nocheck # automake: --nockeck - # libarchive: --nocheck # pacman: --nocheck - # util-linux: --nocheck - # pcre: --nocheck - # findutils: --nocheck # mpfr: --nocheck - # some package break in parallel builds or produce really funky - # error messages or/and results - # binutils: use makepkg-noparallel.conf - # gcc: use makepkg-noparallel.conf for debuging, the real build works fine in parallel - - makepkg -C --config $STAGE1_CHROOT/etc/makepkg.conf --skipchecksums --skippgpcheck > $p.log 2>&1 - - cp -v *.pkg.tar.gz $STAGE1_CHROOT/packages/i486/. - -# if things are messed up -# rm -rf $STAGE1_CHROOT/packages/i486/temp* $STAGE1_CHROOT/var/cache/pacman/pkg/* -# repo-add $STAGE1_CHROOT/packages/i486/temp.db.tar.gz $STAGE1_CHROOT/packages/i486/*pkg.tar.gz - - repo-add -n $STAGE1_CHROOT/packages/i486/temp.db.tar.gz $STAGE1_CHROOT/packages/i486/*pkg.tar.gz - - sudo pacman --noconfirm --config $STAGE1_CHROOT/etc/pacman.conf -r $STAGE1_CHROOT -Syy $p - - pacman --config $STAGE1_CHROOT/etc/pacman.conf -r $STAGE1_CHROOT -Q | grep $p - # for ncurses, readline for bash - # gdbm and db for perl - # openssl for linux - # attr for acl - # libarchive, autoreconf needs autotools/m4 and dependencies (crosstool-ng autotools are broken for me)\ - # libcap for coreutils - # bzip2 for pcre - # pcre for grep + # autoreconf needs autotools/m4 and dependencies (crosstool-ng autotools are broken for me) # libunistring for gettext # libffi for glib2 - pushd $HOME/x-tools/i486-unknown-linux-gnu/i486-unknown-linux-gnu/sysroot - bsdtar xf $STAGE1_CHROOT/packages/i486/ncurses-6.0+20170902-3-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/readline-7.0.003-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/gdbm-1.13-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/db-5.3.28-3-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/perl-5.26.1-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/openssl-1.1.0.g-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/attr-2.4.47-3-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/attr-2.4.47-3-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/expat-2.2.5-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/lz4-1\:1.8.0-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/xz-5.2.3-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/zlib-1\:1.2.11-2-i486.pkg.tar.gz bsdtar xf $STAGE1_CHROOT/packages/i486/m4-1.4.18-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/gmp-6.1.2-1-i486.pkg.tar.gz bsdtar xf $STAGE1_CHROOT/packages/i486/mpfr-3.1.6.p1-1-i486.pkg.tar.gz bsdtar xf $STAGE1_CHROOT/packages/i486/libmpc-1.0.3-2-i486.pkg.tar.gz bsdtar xf $STAGE1_CHROOT/packages/i486/gawk-4.1.4-2-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/autoconf-2.69-4-any.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/automake-1.15.1-1-any.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/libarchive-3.3.2-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/libcap-2.25-1-i486.pkg.tar.gz - bsdtar xf $STAGE1_CHROOT/packages/i486/bzip2-1.0.6-6-i486.pkg.tar.gz bsdtar xf $STAGE1_CHROOT/packages/i486/libffi-3.2.1-2-i486.pkg.tar.gz bsdtar xf $STAGE1_CHROOT/packages/i486/libunistring-0.9.7-1-i486.pkg.tar.gz popd @@ -1031,10 +924,6 @@ configure: failed program was: => wchar_t on Linux, without probing?! -Centos 7: -Fatal Internal Error in libarchive: Out of memory -When building tar package - TODO: ca-certificates for curl: ERROR: ld.so: object 'libfakeroot-tcp.so' from LD_PRELOAD cannot be preloaded: ignored. diff --git a/build_stage1.sh b/build_stage1.sh index 7e3de6b..4d43d40 100755 --- a/build_stage1.sh +++ b/build_stage1.sh @@ -16,7 +16,7 @@ expat bzip2 lz4 xz pcre less gzip tar libarchive curl elfutils sed texinfo grep findutils file diffutils ed patch kbd procps-ng shadow -inetutils bc kmod linux +inetutils bc kmod linux uinit net-tools libmnl libnfnetlink iptables iproute2 libedit openssh" diff --git a/i486-stage1/attr/DESCR b/i486-stage1/attr/DESCR index dfe2f65..98ab985 100644 --- a/i486-stage1/attr/DESCR +++ b/i486-stage1/attr/DESCR @@ -4,5 +4,5 @@ SYSROOT_INSTALL=1 # prepare configure for cross-compilation sed -i "s@./configure@./configure --host=$TARGET_ARCH --build=$BUILD_ARCH@g" PKGBUILD -# no gettext +# circular reference in getext (needed by attr, which needs also gettext) sed -i 's@^makedepends\(.*\)@#makedepends\1@g' PKGBUILD diff --git a/i486-stage1/uinit/DESCR b/i486-stage1/uinit/DESCR index 34a987d..50ccc45 100644 --- a/i486-stage1/uinit/DESCR +++ b/i486-stage1/uinit/DESCR @@ -1,2 +1,9 @@ # uinit as temporary systemd replacement for PID 1, lives in the AUR NEEDS_YAOURT=1 + +# prepare configure for cross-compilation +sed -i "s/make /make CC=$TARGET_ARCH-gcc /g" PKGBUILD + +# remove git dependency +sed -i "/makedepends=/s/'git'//" PKGBUILD + -- cgit v1.2.3-54-g00ecf