#!/bin/sh # ###################################################### # Build script for RPI # # # # See .info for details # # # # NOT LTO COMPATIBLE # # # # #Make sure dependancies are loaded tce-load -i compiletc libtool autoconf openssl-dev tcl tk gettext libxslt-dev perl5 python3.8 \ curl-dev expat2-dev asciidoc docbook-xsl docbook-xml xmlto squashfs-tools # # Configure extension creation parameters # # SRCNAM=v2.27.0.tar.gz WRKDIR=git-2.27.0 EXTNAM=git TMPDIR=/tmp/git # Prepare extension creation # ###################################################### # Remove dirs and files left from previous creation rm -r -f $WRKDIR rm -r -f $TMPDIR rm -r -f $TMPDIR-doc rm -r -f $TMPDIR-locale rm -r -f $TMPDIR-perl rm -r -f $TMPDIR-python rm -r -f $TMPDIR-gui rm -r -f $TMPDIR-web # Crete temporary directory mkdir -p $TMPDIR ###################################################### # Compile extension # ###################################################### # Export variables needed for compilation export CFLAGS="-O2 -pipe -march=armv8-a+crc -mtune=cortex-a53" export CXXFLAGS="-O2 -pipe -fno-exceptions -fno-rtti -march=armv8-a+crc -mtune=cortex-a53" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig # Unpack source in current directory tar -xf $SRCNAM # Configure it cd $WRKDIR make configure ./configure \ --prefix=/usr/local \ --with-libpcre \ --with-curl \ --with-expat \ --with-perl \ --with-perl=/usr/local/bin/perl # Compile make all doc -j4 # Install in base temp dir make install install-doc install-html DESTDIR=$TMPDIR #mkdir -p $TMPDIR/usr/local #mv $TMPDIR/root/* $TMPDIR/usr/local #rm -r -f $TMPDIR/root # Delete compilation work directory cd .. rm -r -f $WRKDIR # Adjust directory access rigths find $TMPDIR/ -type d | xargs chmod -v 755; # Strip executables find $TMPDIR | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded # Move files to locale extension mkdir -p $TMPDIR-locale/usr/local/share mv $TMPDIR/usr/local/share/locale $TMPDIR-locale/usr/local/share # Move documentation to doc extension mkdir -p $TMPDIR-doc/usr/local/share mv $TMPDIR/usr/local/share/doc $TMPDIR-doc/usr/local/share mv $TMPDIR/usr/local/share/man $TMPDIR-doc/usr/local/share # Move files to python extension - Not there in 2.19.2 #mkdir -p $TMPDIR-python/usr/local/lib #mv $TMPDIR/usr/local/lib/python2.7 $TMPDIR-python/usr/local/lib #rm -f $TMPDIR-python/usr/local/lib/python2.7/site-packages/git_remote_helpers/*.pyc #rm -f $TMPDIR-python/usr/local/lib/python2.7/site-packages/git_remote_helpers/git/*.pyc # Move files to perl extension mkdir -p $TMPDIR-perl/usr/local mv $TMPDIR/usr/local/share/perl5 $TMPDIR-perl/usr/local/share # Move files to web extension mkdir -p $TMPDIR-web/usr/local/share mv $TMPDIR/usr/local/share/gitweb $TMPDIR-web/usr/local/share # Move files to git-gui extension mkdir -p $TMPDIR-gui/usr/local/share mkdir -p $TMPDIR-gui/usr/local/bin mv $TMPDIR/usr/local/share/git-gui $TMPDIR-gui/usr/local/share mv $TMPDIR/usr/local/share/gitk $TMPDIR-gui/usr/local/share mv $TMPDIR/usr/local/bin/gitk $TMPDIR-gui/usr/local/bin ################################################### # Create base extension in temp dir # ################################################### cd $TMPDIR cd .. mksquashfs $TMPDIR $EXTNAM.tcz cd $TMPDIR find usr -not -type d > $EXTNAM.tcz.list mv ../$EXTNAM.tcz . # Create md5 file md5sum $EXTNAM.tcz > $EXTNAM.tcz.md5.txt # Cleanup temp directory rm -r -f usr ################################################### # Create locale extension in temp dir # ################################################### cd $TMPDIR-locale cd .. mksquashfs $TMPDIR-locale $EXTNAM-locale.tcz cd $TMPDIR-locale find usr -not -type d > $EXTNAM-locale.tcz.list mv ../$EXTNAM-locale.tcz . # Create md5 file md5sum $EXTNAM-locale.tcz > $EXTNAM-locale.tcz.md5.txt # Cleanup temp directory rm -r -f usr # # Create doc extension in the temp dir # cd $TMPDIR-doc cd .. mksquashfs $TMPDIR-doc $EXTNAM-doc.tcz cd $TMPDIR-doc find usr -not -type d > $EXTNAM-doc.tcz.list mv ../$EXTNAM-doc.tcz . # Create md5 file md5sum $EXTNAM-doc.tcz > $EXTNAM-doc.tcz.md5.txt # Cleanup temp directory rm -r -f usr # # Create python extension in temp dir # ################################################### #cd $TMPDIR-python #cd .. #mksquashfs $TMPDIR-python python-git.tcz #cd $TMPDIR-python #find usr -not -type d > python-git.tcz.list #mv ../python-git.tcz . # Create md5 file #md5sum python-git.tcz > python-git.tcz.md5.txt # Cleanup temp directory #rm -r -f usr ################################################### # Create perl extension in temp dir # ################################################### cd $TMPDIR-perl cd .. mksquashfs $TMPDIR-perl perl_git.tcz cd $TMPDIR-perl find usr -not -type d > perl_git.tcz.list mv ../perl_git.tcz . # Create md5 file md5sum perl_git.tcz > perl_git.tcz.md5.txt # Cleanup temp directory rm -r -f usr ################################################### # Create web extension in temp dir # ################################################### cd $TMPDIR-web cd .. mksquashfs $TMPDIR-web $EXTNAM-web.tcz cd $TMPDIR-web find usr -not -type d > $EXTNAM-web.tcz.list mv ../$EXTNAM-web.tcz . # Create md5 file md5sum $EXTNAM-web.tcz > $EXTNAM-web.tcz.md5.txt # Cleanup temp directory rm -r -f usr ################################################### # Create gui extension in temp dir # ################################################### cd $TMPDIR-gui cd .. mksquashfs $TMPDIR-gui $EXTNAM-gui.tcz cd $TMPDIR-gui find usr -not -type d > $EXTNAM-gui.tcz.list mv ../$EXTNAM-gui.tcz . # Create md5 file md5sum $EXTNAM-gui.tcz > $EXTNAM-gui.tcz.md5.txt # Cleanup temp directory rm -r -f usr