#!/bin/sh # test we are root if [ "$USER" != "root" ] ; then echo "Run as root please, exiting." exit 1 fi # Export variables needed for compilation case $(uname -m) in arm*) export CFLAGS='-flto=auto -Os -pipe -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp ' export CXXFLAGS='-flto=auto -Os -pipe -fno-exceptions -fno-rtti -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp ' ;; aarch64) export CFLAGS='-flto=auto -Os -pipe -march=armv8-a+crc -mtune=cortex-a72 ' export CXXFLAGS='-flto=auto -Os -pipe -fno-exceptions -fno-rtti -march=armv8-a+crc -mtune=cortex-a72 ' ;; esac export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig echo $CFLAGS && echo $CXXFLAGS P=libpipeline V=1.5.7 SRC=$P-main USER=`cat /etc/sysconfig/tcuser` LIST="compiletc squashfs-tools wget libtool-dev automake git coreutils" for Z in $LIST do su -c "tce-load -i $Z" $USER done # list may be larger than loaded cd /usr/local/lib rm -rf *.la rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/plugin/*.la rm -rf gcc/aarch64-unknown-linux-gnu/12.2.0/*.la rm -rf gprofng/*.la rm -rf python3.8/site-packages/*.la rm -rf pkcs11/*.la rm -rf cairo/*.la rm -rf gtk-2.0/modules/*.la rm -rf gtk-2.0/2.10.0/printbackends/*.la rm -rf gtk-2.0/2.10.0/immodules/*.la rm -rf gtk-2.0/2.10.0/engines/*.la rm -rf imlib2/loaders/*.la rm -rf imlib2/filters/*.la rm -rf gdk-pixbuf-2.0/2.10.0/loaders/*.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/plugin/libcp1plugin.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/plugin/libcc1plugin.la rm -rf gcc/armv7l-unknown-linux-gnueabihf/12.2.0/liblto_plugin.la rm -rf libharfbuzz.la rm -rf libharfbuzz-subset.la rm -rf libharfbuzz-gobject.la rm -rf libgamin-1.la rm -rf libfam.la rm -rf libgraphite2.la rm -rf libfreetype.la cd /tmp rm -rf /usr/lib/*.la su -c "/usr/local/bin/wget -nc \ https://gitlab.com/$P/$P/-/archive/main/$P-main.tar.bz2 " $USER tar -jxvf $P*bz2 cd $SRC ./bootstrap # does a git download ./configure --prefix=/usr/local --enable-static=no make -j4 # 10s make install-strip DESTDIR=/tmp/$P cd /tmp # no doc ##### rm -rf $P/usr/local/share/man # dev ##### mkdir -p $P-dev/usr/local/lib mv $P/usr/local/include $P-dev/usr/local/ rm -rf $P/usr/local/lib/*.la mv $P/usr/local/lib/pkgconfig $P-dev/usr/local/lib/ # main ##### mkdir -p $P/usr/local/share/doc/$P echo 'GPL v3' > $P/usr/local/share/doc/$P/COPYING # TCZ them ####### LIST="$P $P-dev " for Z in $LIST do mksquashfs $Z $Z.tcz md5sum $Z.tcz > $Z.tcz.md5.txt cd $Z find usr -not -type d > /tmp/$Z.tcz.list sed 's|usr|/usr|g' -i /tmp/$Z.tcz.list cd /tmp done ls -hal echo 'Title: libpipeline-dev.tcz Description: dev files Version: 1.5.0 Author: Colin Watson Original-site: https://gitlab.com/libpipeline/libpipeline Copying-policy: GPL v3 Size: 8.0K Extension_by: aus9 Tags: libpipeline Comments: Development files Change-log: 2023/07/02 v 1.5.7 on 14.x Current: 2023/07/02 ' > $P-dev.tcz.info echo 'libpipeline.tcz libtool-dev.tcz automake.tcz git.tcz coreutils.tcz' > $P-dev.tcz.dep echo 'Title: libpipeline.tcz Description: a C library Version: 1.5.7 Author: Colin Watson Original-site: https://gitlab.com/libpipeline/libpipeline Copying-policy: GPL v3 Size: 20K Extension_by: aus9 Tags: libpipeline Comments: library is used to safely construct pipelines between subprocesses Change-log: 2023/07/02 v 1.5.7 on 14.x Current: 2023/07/02 ' > $P.tcz.info readelf -d $P/usr/local/lib/$P.so | grep 'NEEDED' # only TCBs ldd $P/usr/local/lib/$P.so # check pcre libffi openssl # submitqc --libs rm -rf *.zsync