| #!/bin/sh |
| |
| set -u |
| set -e |
| trap onexit INT |
| trap onexit TERM |
| trap onexit EXIT |
| |
| TMPDIR= |
| |
| onexit() |
| { |
| if [ ! "$TMPDIR" = "" ]; then |
| sudo rm -rf $TMPDIR |
| fi |
| } |
| |
| usage() |
| { |
| echo "$0 <package name> <version> <build> <package architecture> <source dir.> [combined]" |
| exit 1 |
| } |
| |
| COMBINED=0 |
| |
| if [ $# -lt 4 ]; then usage $0; fi |
| PACKAGE_NAME=$1 |
| VERSION=$2 |
| BUILD=$3 |
| PKGARCH=$4 |
| SRCDIR=$5 |
| CC=$6 |
| CXX=$7 |
| if [ $# -gt 7 ]; then |
| if [ "$8" = "combined" ]; then COMBINED=1; fi |
| fi |
| |
| umask 022 |
| TMPDIR=`mktemp -d /tmp/$PACKAGE_NAME-build.XXXXXX` |
| rm -f $PACKAGE_NAME.pkg.bz2 |
| PKGROOT=$TMPDIR/pkgbuild/$PACKAGE_NAME |
| mkdir -p $PKGROOT |
| cp $SRCDIR/release/copyright $TMPDIR |
| touch $TMPDIR/depend |
| cat $SRCDIR/release/pkginfo.tmpl | sed s/{__VERSION}/$VERSION/g \ |
| | sed s/{__BUILD}/$BUILD/g | sed s/{__APPNAME}/$PACKAGE_NAME/g \ |
| | sed s/{__PKGNAME}/$PACKAGE_NAME/g > $TMPDIR/pkginfo |
| |
| if [ "$PKGARCH" = "i386" ]; then |
| __LIB=lib |
| else |
| __LIB=lib/$PKGARCH |
| fi |
| |
| # This mess is to work around a bug in /usr/ccs/bin/make |
| make install prefix=$PKGROOT libdir=$PKGROOT/$__LIB AM_MAKEFLAGS="prefix=$PKGROOT libdir=$PKGROOT/$__LIB" |
| rm -f $PKGROOT/$__LIB/*.la |
| if [ $COMBINED = 1 ]; then |
| if [ ! -d $SRCDIR/solx86 ]; then |
| mkdir -p $SRCDIR/solx86 |
| fi |
| PWD=`pwd` |
| cd $SRCDIR/solx86 |
| sh $SRCDIR/configure --with-pic CC=$CC CXX=$CXX CFLAGS= CXXFLAGS= LDFLAGS= host_alias= |
| make install prefix=$PKGROOT AM_MAKEFLAGS="prefix=$PKGROOT" |
| cd $PWD |
| fi |
| mkdir -p $PKGROOT/doc |
| cp $SRCDIR/LICENSE.txt $SRCDIR/LGPL.txt $SRCDIR/README-turbo.txt $SRCDIR/README $SRCDIR/libjpeg.doc $PKGROOT/doc |
| chmod 644 $PKGROOT/doc/* |
| |
| cat >$TMPDIR/proto <<EOF |
| i copyright |
| i depend |
| i pkginfo |
| d none libjpeg-turbo 0755 root bin |
| d none libjpeg-turbo/lib 0755 root bin |
| EOF |
| if [ $COMBINED = 1 ]; then |
| cat >>$TMPDIR/proto <<EOF |
| f none libjpeg-turbo/lib/libjpeg.so.62.0.0 0755 root bin |
| s none libjpeg-turbo/lib/libjpeg.so.62=libjpeg.so.62.0.0 |
| s none libjpeg-turbo/lib/libjpeg.so=libjpeg.so.62.0.0 |
| f none libjpeg-turbo/lib/libjpeg.a 0644 root bin |
| f none libjpeg-turbo/lib/libturbojpeg.so 0755 root bin |
| f none libjpeg-turbo/lib/libturbojpeg.a 0644 root bin |
| EOF |
| fi |
| if [ "${__LIB}" != "lib" ]; then |
| echo d none libjpeg-turbo/${__LIB} 0755 root bin >>$TMPDIR/proto |
| fi |
| cat >>$TMPDIR/proto <<EOF |
| f none libjpeg-turbo/${__LIB}/libjpeg.so.62.0.0 0755 root bin |
| s none libjpeg-turbo/${__LIB}/libjpeg.so.62=libjpeg.so.62.0.0 |
| s none libjpeg-turbo/${__LIB}/libjpeg.so=libjpeg.so.62.0.0 |
| f none libjpeg-turbo/${__LIB}/libjpeg.a 0644 root bin |
| f none libjpeg-turbo/${__LIB}/libturbojpeg.so 0755 root bin |
| f none libjpeg-turbo/${__LIB}/libturbojpeg.a 0644 root bin |
| d none libjpeg-turbo/include 0755 root bin |
| f none libjpeg-turbo/include/jconfig.h 0644 root bin |
| f none libjpeg-turbo/include/jerror.h 0644 root bin |
| f none libjpeg-turbo/include/jmorecfg.h 0644 root bin |
| f none libjpeg-turbo/include/jpeglib.h 0644 root bin |
| f none libjpeg-turbo/include/turbojpeg.h 0644 root bin |
| d none libjpeg-turbo/doc 0755 root bin |
| f none libjpeg-turbo/doc/LGPL.txt 0644 root bin |
| f none libjpeg-turbo/doc/libjpeg.doc 0644 root bin |
| f none libjpeg-turbo/doc/LICENSE.txt 0644 root bin |
| f none libjpeg-turbo/doc/README 0644 root bin |
| f none libjpeg-turbo/doc/README-turbo.txt 0644 root bin |
| EOF |
| |
| pkgmk -o -r $TMPDIR/pkgbuild -d $TMPDIR -a i386 -f $TMPDIR/proto |
| pkgtrans -s $TMPDIR $TMPDIR/$PACKAGE_NAME.pkg $PACKAGE_NAME |
| bzip2 $TMPDIR/$PACKAGE_NAME.pkg |
| cp $TMPDIR/$PACKAGE_NAME.pkg.bz2 . |
| |
| exit |