#!/bin/bash set -xe ###################################################### # Configure extension creation parameters # ###################################################### S=$(basename $0) PACKAGE=${S%%.build} VERSION=1.8.15 SRCNAM=$PACKAGE-$VERSION.tar.bz2 WRKDIR=$PACKAGE-$VERSION EXTNAM=$PACKAGE TMPDIR=/tmp/$PACKAGE-$VERSION OUTDIR=$PWD/../../build/$(version) ###################################################### # 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-tools rm -r -f $TMPDIR-dev # Crete temporary directory mkdir -p $TMPDIR ###################################################### # Compile extension # ###################################################### # Export variables needed for compilation export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export CPPFLAGS="-I/usr/local/include -I/usr/include" export CFLAGS="-Os -pipe -march=i486 -mtune=i686" export CXXFLAGS="-Os -pipe -fno-exceptions -fno-rtti -march=i486 -mtune=i686" export LDFLAGS="-Wl,-Os -L/usr/local/lib -L/usr/lib" # Unpack source in to WRK directory tar -xf $SRCNAM cd $WRKDIR # Configure,Compile,Check,Install in base temp dir ./configure --prefix=/usr/local --enable-debugatr --disable-libusb --enable-libudev --enable-confdir=/usr/local/etc/reader.conf.d --enable-static --enable-shared #--enable-embedded make #make check make install DESTDIR=$TMPDIR rm -f $TMPDIR/usr/local/share/doc/pcsc-lite/README.polkit cp GPL-3.0.txt AUTHORS COPYING ChangeLog DRIVERS HELP INSTALL NEWS README SECURITY TODO $TMPDIR/usr/local/share/doc/pcsc-lite/ install -D src/.libs/testpcsc $TMPDIR/usr/local/bin/testpcsc # Delete compilation work directory cd .. rm -Rf $WRKDIR #extra file(s) install -D pcscd.service $TMPDIR/usr/local/etc/init.d/pcscd # 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 doc extension mkdir -p $TMPDIR-doc/usr/local/share/$PACKAGE mv $TMPDIR/usr/local/share/man $TMPDIR-doc/usr/local/share mv $TMPDIR/usr/local/share/doc $TMPDIR-doc/usr/local/share #mv $TMPDIR/usr/local/share/$PACKAGE/help.txt $TMPDIR-doc/usr/local/share/$PACKAGE # Move files to tools extension mkdir -p $TMPDIR-tools/usr/local/bin $TMPDIR-tools/usr/local/lib mv $TMPDIR/usr/local/lib/libpcscspy.so* $TMPDIR-tools/usr/local/lib mv $TMPDIR/usr/local/bin/pcsc-spy $TMPDIR/usr/local/bin/testpcsc $TMPDIR-tools/usr/local/bin #mv $TMPDIR/usr/local/share/tools $TMPDIR-tools/usr/local/share #mv $TMPDIR/usr/local/share/$PACKAGE/help.*.txt $TMPDIR-tools/usr/local/share/$PACKAGE # Move files to dev extension mkdir -p $TMPDIR-dev/usr/local $TMPDIR-dev/usr/local/lib mv $TMPDIR/usr/local/include $TMPDIR-dev/usr/local/ mv $TMPDIR/usr/local/lib/*.la $TMPDIR/usr/local/lib/*.a $TMPDIR-dev/usr/local/lib/ mv $TMPDIR/usr/local/lib/pkgconfig $TMPDIR-dev/usr/local/lib/ # if empty one rmdir $TMPDIR/usr/local/share || true rmdir $TMPDIR/usr/local/bin || true ################################################### # Create extensions ################################################### mksquashfs $TMPDIR $OUTDIR/$EXTNAM.tcz -noappend -no-xattrs -all-root mksquashfs $TMPDIR-doc $OUTDIR/$EXTNAM-doc.tcz -noappend -no-xattrs -all-root mksquashfs $TMPDIR-tools $OUTDIR/$EXTNAM-tools.tcz -noappend -no-xattrs -all-root mksquashfs $TMPDIR-dev $OUTDIR/$EXTNAM-dev.tcz -noappend -no-xattrs -all-root rm -rf $TMPDIR rm -rf $TMPDIR-doc rm -rf $TMPDIR-tools rm -rf $TMPDIR-dev ################################################### # Update info/tree/dep/build-dep cp $EXTNAM.tcz.build-dep $OUTDIR/ for INFO in *.tcz.info; do TCZ=${INFO%%.info} SIZE=$(ls -sh "$OUTDIR/$TCZ" | cut -f1 -d' ') sed -re "s/\{SIZE\}/$SIZE/g" -e "s/\{TITLE\}/$TCZ/g" -e "s/\{VERSION\}/$VERSION/g" <$INFO >$OUTDIR/$INFO if [ -f $TCZ.tree ]; then cp $TCZ.tree $OUTDIR/$TCZ.tree cat $TCZ.tree | grep -wv "$TCZ" | sed -re 's/^[ \t]+//' | sort | uniq > $OUTDIR/$TCZ.dep fi done ################################################### # submitqc pushd $OUTDIR submitqc --libs --tcz=$EXTNAM.tcz submitqc --libs --tcz=$EXTNAM-doc.tcz submitqc --libs --tcz=$EXTNAM-tools.tcz submitqc --libs --tcz=$EXTNAM-dev.tcz popd