141 lines
2.7 KiB
Bash
141 lines
2.7 KiB
Bash
HOST_SYSTEM=`uname -s | tr [:upper:] [:lower:] | sed s/darwin/macosx/`
|
|
|
|
if [ "${HOST_SYSTEM}" = "macosx" ]; then
|
|
HOST_MACHINE=`uname -p | tr [:upper:] [:lower:]`
|
|
else
|
|
HOST_MACHINE=`uname -m | tr [:upper:] [:lower:] | sed s/i686/i386/ | sed s/x86_64/amd64/ | sed s/ppc64/powerpc/`
|
|
fi
|
|
|
|
BINSUFFIX=
|
|
MAKEARGS=
|
|
MAKE=make
|
|
WANTZIP=0
|
|
|
|
if [ "${HOST_SYSTEM}" = "mingw32_nt-5.1" ]; then
|
|
HOST_SYSTEM=win32
|
|
BINSUFFIX=.exe
|
|
WANTZIP=1
|
|
MAKEARGS="USE_BIGENDIAN=NO"
|
|
fi
|
|
|
|
BINARY=uhub${BINSUFFIX}
|
|
|
|
if [ "${HOST_SYSTEM}" = "freebsd" ]; then
|
|
MAKE=gmake
|
|
fi
|
|
|
|
VERSION=`grep define\ VERSION version.h | cut -f 3 -d " " | tr -d [=\"=]`
|
|
SNAPSHOT=`date '+%Y%m%d'`
|
|
PACKAGE=uhub-${VERSION}
|
|
PACKAGE_SRC=${PACKAGE}-src
|
|
PACKAGE_BIN=${PACKAGE}-${HOST_SYSTEM}-${HOST_MACHINE}
|
|
ARCHIVE='build-archive:~/www/downloads/uhub/'
|
|
|
|
function export_source_directory
|
|
{
|
|
if [ -d ${PACKAGE} ]; then
|
|
rm -Rf ${PACKAGE};
|
|
fi
|
|
|
|
if [ ! -d .git ]; then
|
|
echo "No git repo found in `dirname $0`"
|
|
exit 1
|
|
fi
|
|
|
|
git archive --format=tar --prefix=${PACKAGE}/ HEAD > tmp.tar && tar -xf tmp.tar && rm tmp.tar
|
|
|
|
if [ ! -d ${PACKAGE} ]; then
|
|
echo "Something went wrong while exporting the repo."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
function package_zips
|
|
{
|
|
tar cf $1.tar $2
|
|
gzip -c -9 $1.tar > $1.tar.gz
|
|
bzip2 -c -9 $1.tar > $1.tar.bz2
|
|
rm -f $1.tar
|
|
|
|
if [ $WANTZIP -eq 1 ]; then
|
|
zip -q -9 -r $1.zip $2
|
|
fi
|
|
}
|
|
|
|
function export_sources
|
|
{
|
|
if [ ! -d ${PACKAGE} ]; then
|
|
export_source_directory
|
|
fi
|
|
|
|
cd ${PACKAGE}
|
|
${MAKE} ${MAKEARGS} autotest.c
|
|
cd ..
|
|
|
|
if [ ! -f ${PACKAGE}/autotest.c ]; then
|
|
echo "Unable to create autotest.c, aborting..."
|
|
exit 1
|
|
fi
|
|
|
|
rm -Rf ${PACKAGE}/admin
|
|
package_zips ${PACKAGE_SRC} ${PACKAGE}
|
|
|
|
rm -Rf ${PACKAGE};
|
|
cp ChangeLog ChangeLog-${VERSION}
|
|
}
|
|
|
|
function build_binaries
|
|
{
|
|
if [ ! -d ${PACKAGE} ]; then
|
|
export_source_directory
|
|
fi
|
|
|
|
cd ${PACKAGE}
|
|
${MAKE} ${MAKEARGS} RELEASE=YES
|
|
cd ..
|
|
|
|
if [ ! -x ${PACKAGE}/${BINARY} ]; then
|
|
echo "Build failed, no binary found..."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
function export_binaries
|
|
{
|
|
build_binaries
|
|
|
|
rm -Rf ${PACKAGE}/admin
|
|
rm -Rf ${PACKAGE}/autotest
|
|
rm -Rf ${PACKAGE}/src
|
|
rm -Rf ${PACKAGE}/debian
|
|
rm -f ${PACKAGE}/autotest.c
|
|
rm -f ${PACKAGE}/*akefile
|
|
rm -f ${PACKAGE}/version.h
|
|
rm -f ${PACKAGE}/doc/Doxyfile
|
|
rm -f ${PACKAGE}/doc/uhub.dot
|
|
rm -f ${PACKAGE}/libuhub*
|
|
|
|
package_zips ${PACKAGE_BIN} ${PACKAGE}
|
|
rm -Rf ${PACKAGE};
|
|
}
|
|
|
|
function upload_pkg
|
|
{
|
|
if [ -f $1 ]; then
|
|
scp $1 ${ARCHIVE}
|
|
fi
|
|
}
|
|
|
|
function upload_packages
|
|
{
|
|
upload_pkg ${PACKAGE_SRC}.tar.gz
|
|
upload_pkg ${PACKAGE_SRC}.tar.bz2
|
|
upload_pkg ${PACKAGE_SRC}.zip
|
|
upload_pkg ChangeLog-${VERSION}
|
|
upload_pkg ${PACKAGE_BIN}.tar.gz
|
|
upload_pkg ${PACKAGE_BIN}.tar.bz2
|
|
upload_pkg ${PACKAGE_BIN}.zip
|
|
}
|
|
|
|
|