Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lavabit/magma.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLadar Levison <ladar@lavabit.com>2019-01-28 10:11:50 +0300
committerLadar Levison <ladar@lavabit.com>2019-01-28 10:11:50 +0300
commitb6ab1a26c5788997307ca88876de72c961abc010 (patch)
tree7d024d19a832acb87cadffebbbde9e85690a673c
parent0df0a3a68e616c480e749505cf8ff20abb430ab2 (diff)
Fix the libmemcached doesnotexist check.
-rwxr-xr-xdev/scripts/builders/build.lib.sh5374
-rw-r--r--lib/patches/memcached/1.0.18_fix_unittest_doesnotexist.patch29
2 files changed, 2717 insertions, 2686 deletions
diff --git a/dev/scripts/builders/build.lib.sh b/dev/scripts/builders/build.lib.sh
index 9d10f29a..1e288169 100755
--- a/dev/scripts/builders/build.lib.sh
+++ b/dev/scripts/builders/build.lib.sh
@@ -62,2843 +62,2845 @@ M_ROOT=`pwd`
# Set parent directory as project root by default (used to find scripts,
# bundled tarballs, patches, etc.)
if [ -z "$M_PROJECT_ROOT" ]; then
- M_PROJECT_ROOT=`readlink -f ..`
+ M_PROJECT_ROOT=`readlink -f ..`
fi
# Read in the build parameters.
. "$M_PROJECT_ROOT/dev/scripts/builders/build.lib.params.sh"
-# This undocumented environment variables makes it easy to use the "all" command line option, but skip still the
-# normal dependency checks, this making the build process faster. The QUICK option is undocumented, because in general,
+# This undocumented environment variables makes it easy to use the "all" command line option, but skip still the
+# normal dependency checks, this making the build process faster. The QUICK option is undocumented, because in general,
# developers interacting directly with the build.lib.sh script, should be running the "check" step to ensure
# they have a valid, and properly configured, and functional platform capable of running magma.
if [ -z "$QUICK" ] || [ "$QUICK" != "yes" ]; then
- QUICK="no"
+ QUICK="no"
fi
error() {
- if [ $? -ne 0 ]; then
- tput sgr0; tput setaf 1; date +"%n%n$COMMAND failed at %r on %x%n%n"; tput sgr0
- exit 1
- fi
+ if [ $? -ne 0 ]; then
+ tput sgr0; tput setaf 1; date +"%n%n$COMMAND failed at %r on %x%n%n"; tput sgr0
+ exit 1
+ fi
}
# Confirm whether we really want to run this service
extract() {
- if [ -d "$M_SOURCES/$2" ]; then
- rm -rf "$M_SOURCES/$2"; error
- fi
- tar xzvf "$M_ARCHIVES/$1.tar.gz" -C "$M_SOURCES"; error
- mv "$M_SOURCES/$1" "$M_SOURCES/$2"; error
+ if [ -d "$M_SOURCES/$2" ]; then
+ rm -rf "$M_SOURCES/$2"; error
+ fi
+ tar xzvf "$M_ARCHIVES/$1.tar.gz" -C "$M_SOURCES"; error
+ mv "$M_SOURCES/$1" "$M_SOURCES/$2"; error
}
gd() {
- if [[ $1 == "gd-extract" ]]; then
- rm -f "$M_LOGS/gd.txt"; error
- elif [[ $1 != "gd-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/gd.txt"
- fi
-
- case "$1" in
- gd-extract)
- extract $GD "gd" &>> "$M_LOGS/gd.txt"
- ;;
- gd-prep)
- cd "$M_SOURCES/gd"; error
-
- if [[ $GD == "gd-2.0.35" ]]; then
-
- # A stack of patches needed to fix a variety of bugs in the neglected 2.0.X series.
- cat "$M_PATCHES/gd/"gd-2.0.33-freetype.patch | patch -s -p1 -b --suffix .freetype --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.34-multilib.patch | patch -s -p1 -b --suffix .mlib --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-loop.patch | patch -s -p1 -b --suffix .loop --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.35-overflow.patch | patch -s -p1 -b --suffix .overflow --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.34-sparc64.patch | patch -s -p1 -b --suffix .sparc64 --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.35-AALineThick.patch | patch -s -p1 -b --suffix .AALineThick --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.33-BoxBound.patch | patch -s -p1 -b --suffix .bb --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.34-fonts.patch | patch -s -p1 -b --suffix .fonts --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.35-time.patch | patch -s -p1 -b --suffix .time --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-2.0.35-security3.patch | patch -s -p1 -b --suffix .sec3 --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-version.patch | patch -s -p1 -b --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd-sigcmp.patch | patch -s -p1 -b --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
- else
-
- # Of the patches above, these are the only ones still applicable to the 2.2.X series. They have
- # been updated, so an equivalent change is made to a 2.2.X release.
- cat "$M_PATCHES/gd/"sparc_cflags_2.2.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"gd_gif_loop_2.2.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
- cat "$M_PATCHES/gd/"default_fontpath_2.2.25.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
-
- # The bounding box patch is currently broken.
- # cat "$M_PATCHES/gd/"bounding_box_2.2.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
- fi
- ;;
- gd-build)
- cd "$M_SOURCES/gd"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before gd.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libpng.so ] || [ ! -f "$M_LDPATH"/libpng.a ] || [ ! -f "$M_PKGPATH"/libpng.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build png before gd.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libjpeg.so ] || [ ! -f "$M_LDPATH"/libjpeg.a ] || [ ! -f "$M_PKGPATH"/libjpeg.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build jpeg before gd.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libfreetype.so ] || [ ! -f "$M_LDPATH"/libfreetype.a ] || [ ! -f "$M_PKGPATH"/freetype2.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build freetype before gd.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- # We need to override the PNG flags, otherwise the system include files/libraries might be used by mistake.
- export PKG_CONFIG_LIBDIR="$M_PKGPATH"
- export LIBPNG_LIBS=" `pkg-config --libs libpng` "
- export LIBPNG_CFLAGS=" `pkg-config --cflags libpng` "
- unset PKG_CONFIG_LIBDIR
-
- # We need to override the JPEG flags, otherwise the system include files/libraries might be used by mistake.
- export PKG_CONFIG_LIBDIR="$M_PKGPATH"
- export LIBJPEG_LIBS=" `pkg-config --libs libjpeg` "
- export LIBJPEG_CFLAGS=" `pkg-config --cflags libjpeg` "
- unset PKG_CONFIG_LIBDIR
-
- # The PKG_CONFIG_LIBDIR sections above replace the default pkg-config search path. When we run configure
- # we only want to append our local pkg config directory to the existing search path.
- export PKG_CONFIG_PATH="$M_PKGPATH"
-
- ./configure --without-x --without-xpm --without-tiff --without-fontconfig \
- --with-png="$M_LOCAL" --with-jpeg="$M_LOCAL" --with-freetype="$M_LOCAL" \
- --prefix="$M_LOCAL" &>> "$M_LOGS/gd.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset LIBPNG_LIBS; unset LIBPNG_CFLAGS; unset LIBJPEG_LIBS; unset LIBJPEG_CFLAGS; unset PKG_CONFIG_PATH
-
- make --jobs=4 &>> "$M_LOGS/gd.txt"; error
- make install &>> "$M_LOGS/gd.txt"; error
- ;;
- gd-check)
- cd "$M_SOURCES/gd"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/gd.txt"; error
- ;;
- gd-check-full)
- cd "$M_SOURCES/gd"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/gd.txt"; error
- ;;
- gd-clean)
- cd "$M_SOURCES/gd"; error
- make clean &>> "$M_LOGS/gd.txt"; error
- ;;
- gd-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/gd.txt"; error
- ;;
- gd-log)
- cat "$M_LOGS/gd.txt"; error
- ;;
- gd)
- gd "gd-extract"
- gd "gd-prep"
- gd "gd-build"
- if [ "$QUICK" != "yes" ]; then gd "gd-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/gd.txt"
-
- return $?
+ if [[ $1 == "gd-extract" ]]; then
+ rm -f "$M_LOGS/gd.txt"; error
+ elif [[ $1 != "gd-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/gd.txt"
+ fi
+
+ case "$1" in
+ gd-extract)
+ extract $GD "gd" &>> "$M_LOGS/gd.txt"
+ ;;
+ gd-prep)
+ cd "$M_SOURCES/gd"; error
+
+ if [[ $GD == "gd-2.0.35" ]]; then
+
+ # A stack of patches needed to fix a variety of bugs in the neglected 2.0.X series.
+ cat "$M_PATCHES/gd/"gd-2.0.33-freetype.patch | patch -s -p1 -b --suffix .freetype --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.34-multilib.patch | patch -s -p1 -b --suffix .mlib --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-loop.patch | patch -s -p1 -b --suffix .loop --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.35-overflow.patch | patch -s -p1 -b --suffix .overflow --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.34-sparc64.patch | patch -s -p1 -b --suffix .sparc64 --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.35-AALineThick.patch | patch -s -p1 -b --suffix .AALineThick --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.33-BoxBound.patch | patch -s -p1 -b --suffix .bb --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.34-fonts.patch | patch -s -p1 -b --suffix .fonts --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.35-time.patch | patch -s -p1 -b --suffix .time --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-2.0.35-security3.patch | patch -s -p1 -b --suffix .sec3 --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-version.patch | patch -s -p1 -b --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd-sigcmp.patch | patch -s -p1 -b --fuzz=0 &>> "$M_LOGS/gd.txt" ; error
+ else
+
+ # Of the patches above, these are the only ones still applicable to the 2.2.X series. They have
+ # been updated, so an equivalent change is made to a 2.2.X release.
+ cat "$M_PATCHES/gd/"sparc_cflags_2.2.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"gd_gif_loop_2.2.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
+ cat "$M_PATCHES/gd/"default_fontpath_2.2.25.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
+
+ # The bounding box patch is currently broken.
+ # cat "$M_PATCHES/gd/"bounding_box_2.2.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
+ fi
+ ;;
+ gd-build)
+ cd "$M_SOURCES/gd"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before gd.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libpng.so ] || [ ! -f "$M_LDPATH"/libpng.a ] || [ ! -f "$M_PKGPATH"/libpng.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build png before gd.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libjpeg.so ] || [ ! -f "$M_LDPATH"/libjpeg.a ] || [ ! -f "$M_PKGPATH"/libjpeg.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build jpeg before gd.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libfreetype.so ] || [ ! -f "$M_LDPATH"/libfreetype.a ] || [ ! -f "$M_PKGPATH"/freetype2.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build freetype before gd.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ # We need to override the PNG flags, otherwise the system include files/libraries might be used by mistake.
+ export PKG_CONFIG_LIBDIR="$M_PKGPATH"
+ export LIBPNG_LIBS=" `pkg-config --libs libpng` "
+ export LIBPNG_CFLAGS=" `pkg-config --cflags libpng` "
+ unset PKG_CONFIG_LIBDIR
+
+ # We need to override the JPEG flags, otherwise the system include files/libraries might be used by mistake.
+ export PKG_CONFIG_LIBDIR="$M_PKGPATH"
+ export LIBJPEG_LIBS=" `pkg-config --libs libjpeg` "
+ export LIBJPEG_CFLAGS=" `pkg-config --cflags libjpeg` "
+ unset PKG_CONFIG_LIBDIR
+
+ # The PKG_CONFIG_LIBDIR sections above replace the default pkg-config search path. When we run configure
+ # we only want to append our local pkg config directory to the existing search path.
+ export PKG_CONFIG_PATH="$M_PKGPATH"
+
+ ./configure --without-x --without-xpm --without-tiff --without-fontconfig \
+ --with-png="$M_LOCAL" --with-jpeg="$M_LOCAL" --with-freetype="$M_LOCAL" \
+ --prefix="$M_LOCAL" &>> "$M_LOGS/gd.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset LIBPNG_LIBS; unset LIBPNG_CFLAGS; unset LIBJPEG_LIBS; unset LIBJPEG_CFLAGS; unset PKG_CONFIG_PATH
+
+ make --jobs=4 &>> "$M_LOGS/gd.txt"; error
+ make install &>> "$M_LOGS/gd.txt"; error
+ ;;
+ gd-check)
+ cd "$M_SOURCES/gd"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/gd.txt"; error
+ ;;
+ gd-check-full)
+ cd "$M_SOURCES/gd"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/gd.txt"; error
+ ;;
+ gd-clean)
+ cd "$M_SOURCES/gd"; error
+ make clean &>> "$M_LOGS/gd.txt"; error
+ ;;
+ gd-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/gd.txt"; error
+ ;;
+ gd-log)
+ cat "$M_LOGS/gd.txt"; error
+ ;;
+ gd)
+ gd "gd-extract"
+ gd "gd-prep"
+ gd "gd-build"
+ if [ "$QUICK" != "yes" ]; then gd "gd-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/gd.txt"
+
+ return $?
}
png() {
- if [[ $1 == "png-extract" ]]; then
- rm -f "$M_LOGS/png.txt"; error
- elif [[ $1 != "png-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/png.txt"
- fi
-
- case "$1" in
- png-extract)
- extract $PNG "png" &>> "$M_LOGS/png.txt"
- ;;
- png-prep)
- cd "$M_SOURCES/png"; error
- cat "$M_PATCHES/png/"version_script_1.6.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
- ;;
- png-build)
- cd "$M_SOURCES/png"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before png.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/png.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
-
- make --jobs=4 &>> "$M_LOGS/png.txt"; error
- make install &>> "$M_LOGS/png.txt"; error
- ;;
- png-check)
- cd "$M_SOURCES/png"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/png.txt"; error
- ;;
- png-check-full)
- cd "$M_SOURCES/png"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/png.txt"; error
- ;;
- png-clean)
- cd "$M_SOURCES/png"; error
- make clean &>> "$M_LOGS/png.txt"; error
- ;;
- png-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/png.txt"
- ;;
- png-log)
- cat "$M_LOGS/png.txt"; error
- ;;
- png)
- png "png-extract"
- png "png-prep"
- png "png-build"
- if [ "$QUICK" != "yes" ]; then png "png-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/png.txt"
-
- return $?
+ if [[ $1 == "png-extract" ]]; then
+ rm -f "$M_LOGS/png.txt"; error
+ elif [[ $1 != "png-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/png.txt"
+ fi
+
+ case "$1" in
+ png-extract)
+ extract $PNG "png" &>> "$M_LOGS/png.txt"
+ ;;
+ png-prep)
+ cd "$M_SOURCES/png"; error
+ cat "$M_PATCHES/png/"version_script_1.6.5.patch | patch -p1 --verbose &>> "$M_LOGS/gd.txt" ; error
+ ;;
+ png-build)
+ cd "$M_SOURCES/png"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before png.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/png.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/png.txt"; error
+ make install &>> "$M_LOGS/png.txt"; error
+ ;;
+ png-check)
+ cd "$M_SOURCES/png"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/png.txt"; error
+ ;;
+ png-check-full)
+ cd "$M_SOURCES/png"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/png.txt"; error
+ ;;
+ png-clean)
+ cd "$M_SOURCES/png"; error
+ make clean &>> "$M_LOGS/png.txt"; error
+ ;;
+ png-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/png.txt"
+ ;;
+ png-log)
+ cat "$M_LOGS/png.txt"; error
+ ;;
+ png)
+ png "png-extract"
+ png "png-prep"
+ png "png-build"
+ if [ "$QUICK" != "yes" ]; then png "png-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/png.txt"
+
+ return $?
}
lzo() {
- if [[ $1 == "lzo-extract" ]]; then
- rm -f "$M_LOGS/lzo.txt"; error
- elif [[ $1 != "lzo-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/lzo.txt"
- fi
-
- case "$1" in
- lzo-extract)
- extract $LZO "lzo" &>> "$M_LOGS/lzo.txt"
- ;;
- lzo-prep)
- cd "$M_SOURCES/lzo"; error
- ;;
- lzo-build)
- cd "$M_SOURCES/lzo"; error
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --enable-shared --prefix="$M_LOCAL" &>> "$M_LOGS/lzo.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
-
- make --jobs=4 &>> "$M_LOGS/lzo.txt"; error
- make install &>> "$M_LOGS/lzo.txt"; error
- ;;
- lzo-check)
- cd "$M_SOURCES/lzo"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make test &>> "$M_LOGS/lzo.txt"; error
- ;;
- lzo-check-full)
- cd "$M_SOURCES/lzo"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make test &>> "$M_LOGS/lzo.txt"; error
- ;;
- lzo-clean)
- cd "$M_SOURCES/lzo"; error
- make clean &>> "$M_LOGS/lzo.txt"; error
- ;;
- lzo-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/lzo.txt"; error
- ;;
- lzo-log)
- cat "$M_LOGS/lzo.txt"; error
- ;;
- lzo)
- lzo "lzo-extract"
- lzo "lzo-prep"
- lzo "lzo-build"
- if [ "$QUICK" != "yes" ]; then lzo "lzo-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/lzo.txt"
-
- return $?
+ if [[ $1 == "lzo-extract" ]]; then
+ rm -f "$M_LOGS/lzo.txt"; error
+ elif [[ $1 != "lzo-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/lzo.txt"
+ fi
+
+ case "$1" in
+ lzo-extract)
+ extract $LZO "lzo" &>> "$M_LOGS/lzo.txt"
+ ;;
+ lzo-prep)
+ cd "$M_SOURCES/lzo"; error
+ ;;
+ lzo-build)
+ cd "$M_SOURCES/lzo"; error
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --enable-shared --prefix="$M_LOCAL" &>> "$M_LOGS/lzo.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/lzo.txt"; error
+ make install &>> "$M_LOGS/lzo.txt"; error
+ ;;
+ lzo-check)
+ cd "$M_SOURCES/lzo"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make test &>> "$M_LOGS/lzo.txt"; error
+ ;;
+ lzo-check-full)
+ cd "$M_SOURCES/lzo"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make test &>> "$M_LOGS/lzo.txt"; error
+ ;;
+ lzo-clean)
+ cd "$M_SOURCES/lzo"; error
+ make clean &>> "$M_LOGS/lzo.txt"; error
+ ;;
+ lzo-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/lzo.txt"; error
+ ;;
+ lzo-log)
+ cat "$M_LOGS/lzo.txt"; error
+ ;;
+ lzo)
+ lzo "lzo-extract"
+ lzo "lzo-prep"
+ lzo "lzo-build"
+ if [ "$QUICK" != "yes" ]; then lzo "lzo-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/lzo.txt"
+
+ return $?
}
pcre() {
- if [[ $1 == "pcre-extract" ]]; then
- rm -f "$M_LOGS/pcre.txt"; error
- elif [[ $1 != "pcre-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/pcre.txt"
- fi
-
- case "$1" in
- pcre-extract)
- extract $PCRE "pcre" &>> "$M_LOGS/pcre.txt"
- ;;
- pcre-prep)
- cd "$M_SOURCES/pcre"; error
- ;;
- pcre-build)
- cd "$M_SOURCES/pcre"; error
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/pcre.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
-
- make --jobs=4 &>> "$M_LOGS/pcre.txt"; error
- make install &>> "$M_LOGS/pcre.txt"; error
- ;;
- pcre-check)
- cd "$M_SOURCES/pcre"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/pcre.txt"; error
- ;;
- pcre-check-full)
- cd "$M_SOURCES/pcre"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/pcre.txt"; error
- ;;
- pcre-clean)
- cd "$M_SOURCES/pcre"; error
- make clean &>> "$M_LOGS/pcre.txt"; error
- ;;
- pcre-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/pcre.txt"; error
- ;;
- pcre-log)
- cat "$M_LOGS/pcre.txt"; error
- ;;
- pcre)
- pcre "pcre-extract"
- pcre "pcre-prep"
- pcre "pcre-build"
- if [ "$QUICK" != "yes" ]; then pcre "pcre-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/pcre.txt"
-
- return $?
+ if [[ $1 == "pcre-extract" ]]; then
+ rm -f "$M_LOGS/pcre.txt"; error
+ elif [[ $1 != "pcre-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/pcre.txt"
+ fi
+
+ case "$1" in
+ pcre-extract)
+ extract $PCRE "pcre" &>> "$M_LOGS/pcre.txt"
+ ;;
+ pcre-prep)
+ cd "$M_SOURCES/pcre"; error
+ ;;
+ pcre-build)
+ cd "$M_SOURCES/pcre"; error
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/pcre.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/pcre.txt"; error
+ make install &>> "$M_LOGS/pcre.txt"; error
+ ;;
+ pcre-check)
+ cd "$M_SOURCES/pcre"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/pcre.txt"; error
+ ;;
+ pcre-check-full)
+ cd "$M_SOURCES/pcre"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/pcre.txt"; error
+ ;;
+ pcre-clean)
+ cd "$M_SOURCES/pcre"; error
+ make clean &>> "$M_LOGS/pcre.txt"; error
+ ;;
+ pcre-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/pcre.txt"; error
+ ;;
+ pcre-log)
+ cat "$M_LOGS/pcre.txt"; error
+ ;;
+ pcre)
+ pcre "pcre-extract"
+ pcre "pcre-prep"
+ pcre "pcre-build"
+ if [ "$QUICK" != "yes" ]; then pcre "pcre-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/pcre.txt"
+
+ return $?
}
jpeg() {
- if [[ $1 == "jpeg-extract" ]]; then
- rm -f "$M_LOGS/jpeg.txt"; error
- elif [[ $1 != "jpeg-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/jpeg.txt"
- fi
-
- case "$1" in
- jpeg-extract)
- extract $JPEG "jpeg" &>> "$M_LOGS/jpeg.txt"
- ;;
- jpeg-prep)
- cd "$M_SOURCES/jpeg"; error
- cat "$M_PATCHES/jpeg/"jpeg-version.patch | patch -s -p1 -b --fuzz=3; error
- ;;
- jpeg-build)
- cd "$M_SOURCES/jpeg"; error
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/jpeg.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
-
- make --jobs=4 &>> "$M_LOGS/jpeg.txt"; error
- make install &>> "$M_LOGS/jpeg.txt"; error
- ;;
- jpeg-check)
- cd "$M_SOURCES/jpeg"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/jpeg.txt"; error
- ;;
- jpeg-check-full)
- cd "$M_SOURCES/jpeg"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/jpeg.txt"; error
- ;;
- jpeg-clean)
- cd "$M_SOURCES/jpeg"; error
- make clean &>> "$M_LOGS/jpeg.txt"; error
- ;;
- jpeg-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/jpeg.txt"; error
- ;;
- jpeg-log)
- cat "$M_LOGS/jpeg.txt"; error
- ;;
- jpeg)
- jpeg "jpeg-extract"
- jpeg "jpeg-prep"
- jpeg "jpeg-build"
- if [ "$QUICK" != "yes" ]; then jpeg "jpeg-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/jpeg.txt"
-
- return $?
+ if [[ $1 == "jpeg-extract" ]]; then
+ rm -f "$M_LOGS/jpeg.txt"; error
+ elif [[ $1 != "jpeg-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/jpeg.txt"
+ fi
+
+ case "$1" in
+ jpeg-extract)
+ extract $JPEG "jpeg" &>> "$M_LOGS/jpeg.txt"
+ ;;
+ jpeg-prep)
+ cd "$M_SOURCES/jpeg"; error
+ cat "$M_PATCHES/jpeg/"jpeg-version.patch | patch -s -p1 -b --fuzz=3; error
+ ;;
+ jpeg-build)
+ cd "$M_SOURCES/jpeg"; error
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/jpeg.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/jpeg.txt"; error
+ make install &>> "$M_LOGS/jpeg.txt"; error
+ ;;
+ jpeg-check)
+ cd "$M_SOURCES/jpeg"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/jpeg.txt"; error
+ ;;
+ jpeg-check-full)
+ cd "$M_SOURCES/jpeg"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/jpeg.txt"; error
+ ;;
+ jpeg-clean)
+ cd "$M_SOURCES/jpeg"; error
+ make clean &>> "$M_LOGS/jpeg.txt"; error
+ ;;
+ jpeg-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/jpeg.txt"; error
+ ;;
+ jpeg-log)
+ cat "$M_LOGS/jpeg.txt"; error
+ ;;
+ jpeg)
+ jpeg "jpeg-extract"
+ jpeg "jpeg-prep"
+ jpeg "jpeg-build"
+ if [ "$QUICK" != "yes" ]; then jpeg "jpeg-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/jpeg.txt"
+
+ return $?
}
spf2() {
- if [[ $1 == "spf2-extract" ]]; then
- rm -f "$M_LOGS/spf2.txt"; error
- elif [[ $1 != "spf2-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/spf2.txt"
- fi
-
- case "$1" in
- spf2-extract)
- extract $SPF2 "spf2" &>> "$M_LOGS/spf2.txt"
- ;;
- spf2-prep)
- cd "$M_SOURCES/spf2"; error
- cat "$M_PATCHES/spf2/"remove-libreplace.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
- cat "$M_PATCHES/spf2/"autoreconf-on-el6.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
- cat "$M_PATCHES/spf2/"expand_hostname_buffer.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
- cat "$M_PATCHES/spf2/"fix_use_after_free.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
- cat "$M_PATCHES/spf2/"handle_redirect_mechanism.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
- cat "$M_PATCHES/spf2/"return_reason_for_dns_failure.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
- ;;
- spf2-build)
- cd "$M_SOURCES/spf2"; error
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/spf2.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
-
- make --jobs=4 &>> "$M_LOGS/spf2.txt"; error
- make install &>> "$M_LOGS/spf2.txt"; error
- ;;
- spf2-check)
- cd "$M_SOURCES/spf2"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/spf2.txt"; error
- ;;
- spf2-check-full)
- cd "$M_SOURCES/spf2"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/spf2.txt"; error
- ;;
- spf2-clean)
- cd "$M_SOURCES/spf2"; error
- make clean &>> "$M_LOGS/spf2.txt"; error
- ;;
- spf2-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/spf2.txt"; error
- ;;
- spf2-log)
- cat "$M_LOGS/spf2.txt"; error
- ;;
- spf2)
- spf2 "spf2-extract"
- spf2 "spf2-prep"
- spf2 "spf2-build"
- spf2 "spf2-check"
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/spf2.txt"
-
- return $?
+ if [[ $1 == "spf2-extract" ]]; then
+ rm -f "$M_LOGS/spf2.txt"; error
+ elif [[ $1 != "spf2-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/spf2.txt"
+ fi
+
+ case "$1" in
+ spf2-extract)
+ extract $SPF2 "spf2" &>> "$M_LOGS/spf2.txt"
+ ;;
+ spf2-prep)
+ cd "$M_SOURCES/spf2"; error
+ cat "$M_PATCHES/spf2/"remove-libreplace.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
+ cat "$M_PATCHES/spf2/"autoreconf-on-el6.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
+ cat "$M_PATCHES/spf2/"expand_hostname_buffer.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
+ cat "$M_PATCHES/spf2/"fix_use_after_free.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
+ cat "$M_PATCHES/spf2/"handle_redirect_mechanism.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
+ cat "$M_PATCHES/spf2/"return_reason_for_dns_failure.patch | patch -p1 --verbose &>> "$M_LOGS/spf2.txt"; error
+ ;;
+ spf2-build)
+ cd "$M_SOURCES/spf2"; error
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/spf2.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/spf2.txt"; error
+ make install &>> "$M_LOGS/spf2.txt"; error
+ ;;
+ spf2-check)
+ cd "$M_SOURCES/spf2"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/spf2.txt"; error
+ ;;
+ spf2-check-full)
+ cd "$M_SOURCES/spf2"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/spf2.txt"; error
+ ;;
+ spf2-clean)
+ cd "$M_SOURCES/spf2"; error
+ make clean &>> "$M_LOGS/spf2.txt"; error
+ ;;
+ spf2-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/spf2.txt"; error
+ ;;
+ spf2-log)
+ cat "$M_LOGS/spf2.txt"; error
+ ;;
+ spf2)
+ spf2 "spf2-extract"
+ spf2 "spf2-prep"
+ spf2 "spf2-build"
+ spf2 "spf2-check"
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/spf2.txt"
+
+ return $?
}
curl() {
- if [[ $1 == "curl-extract" ]]; then
- rm -f "$M_LOGS/curl.txt"; error
- elif [[ $1 != "curl-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/curl.txt"
- fi
-
- case "$1" in
- curl-extract)
- extract $CURL "curl" &>> "$M_LOGS/curl.txt"
- ;;
- curl-prep)
- cd "$M_SOURCES/curl"; error
- cat "$M_PATCHES/curl/"skip_test172-version7.23.1.patch | patch -p1 --verbose &>> "$M_LOGS/curl.txt"; error
- cat "$M_PATCHES/curl/"7.23.1_curl_exec_perm_fix.patch | patch -p1 --verbose &>> "$M_LOGS/curl.txt"; error
- ;;
- curl-build)
- # Note that if we don't include the debug configure option we can't run a check-full.
- cd "$M_SOURCES/curl"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before curl.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libcrypto.so ] || [ ! -f "$M_LDPATH"/libcrypto.a ] || [ ! -f "$M_PKGPATH"/libcrypto.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build openssl before curl.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libssl.so ] || [ ! -f "$M_LDPATH"/libssl.a ] || [ ! -f "$M_PKGPATH"/libssl.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build openssl before curl.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --enable-debug --enable-static=yes \
- --without-librtmp --without-krb4 --without-krb5 --without-libssh2 \
- --without-ca-bundle --without-ca-path --without-libidn \
- --disable-file --disable-ftp --disable-ftps --disable-gopher \
- --disable-imap --disable-imaps --disable-pop3 --disable-pop3s \
- --disable-rtsp --disable-smtp --disable-smtps --disable-telnet \
- --disable-tftp --disable-ldap --disable-ssh --disable-dict \
- --build=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --with-pic \
- --with-ssl="$M_SOURCES/openssl" --with-zlib="$M_SOURCES/zlib" \
- --prefix="$M_LOCAL" &>> "$M_LOGS/curl.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
-
- make --jobs=4 &>> "$M_LOGS/curl.txt"; error
- make install &>> "$M_LOGS/curl.txt"; error
- ;;
- curl-check)
- # The target 'check' is an alias for the targets 'test' and 'examples'
- cd "$M_SOURCES/curl"; error
-
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
-
- # To avoid having curl run all of its tests using valgrind, we pass the '-n' option to the runtests.pl script.
- sed -i -e "s/^\(TEST = .*runtests.pl\).*/\1 -n/g" tests/Makefile
-
- make --jobs=4 examples &>> "$M_LOGS/curl.txt"; error
- make --jobs=4 test &>> "$M_LOGS/curl.txt"; error
- ;;
- curl-check-full)
-
- # The target 'check' is an alias for the targets 'test' and 'examples'
- cd "$M_SOURCES/curl"; error
-
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
-
- # Since valgrind may have been disabled above, we ensure the -n flag is removed here.
- sed -i -e "s/^\(TEST = .*runtests.pl\).*/\1/g" tests/Makefile
-
- make --jobs=4 examples &>> "$M_LOGS/curl.txt"; error
- make --jobs=4 test &>> "$M_LOGS/curl.txt"; error
- make --jobs=4 test-full &>> "$M_LOGS/curl.txt"; error
- # make --jobs=4 test-torture &>> "$M_LOGS/curl.txt"; error
-
- ;;
- curl-clean)
- cd "$M_SOURCES/curl"; error
- make clean &>> "$M_LOGS/curl.txt"; error
- ;;
- curl-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/curl.txt"; error
- ;;
- curl-log)
- cat "$M_LOGS/curl.txt"; error
- ;;
- curl)
- curl "curl-extract"
- curl "curl-prep"
- curl "curl-build"
- if [ "$QUICK" != "yes" ]; then curl "curl-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/curl.txt"
-
- return $?
+ if [[ $1 == "curl-extract" ]]; then
+ rm -f "$M_LOGS/curl.txt"; error
+ elif [[ $1 != "curl-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/curl.txt"
+ fi
+
+ case "$1" in
+ curl-extract)
+ extract $CURL "curl" &>> "$M_LOGS/curl.txt"
+ ;;
+ curl-prep)
+ cd "$M_SOURCES/curl"; error
+ cat "$M_PATCHES/curl/"skip_test172-version7.23.1.patch | patch -p1 --verbose &>> "$M_LOGS/curl.txt"; error
+ cat "$M_PATCHES/curl/"7.23.1_curl_exec_perm_fix.patch | patch -p1 --verbose &>> "$M_LOGS/curl.txt"; error
+ ;;
+ curl-build)
+ # Note that if we don't include the debug configure option we can't run a check-full.
+ cd "$M_SOURCES/curl"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before curl.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libcrypto.so ] || [ ! -f "$M_LDPATH"/libcrypto.a ] || [ ! -f "$M_PKGPATH"/libcrypto.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build openssl before curl.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libssl.so ] || [ ! -f "$M_LDPATH"/libssl.a ] || [ ! -f "$M_PKGPATH"/libssl.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build openssl before curl.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --enable-debug --enable-static=yes \
+ --without-librtmp --without-krb4 --without-krb5 --without-libssh2 \
+ --without-ca-bundle --without-ca-path --without-libidn \
+ --disable-file --disable-ftp --disable-ftps --disable-gopher \
+ --disable-imap --disable-imaps --disable-pop3 --disable-pop3s \
+ --disable-rtsp --disable-smtp --disable-smtps --disable-telnet \
+ --disable-tftp --disable-ldap --disable-ssh --disable-dict \
+ --build=x86_64-redhat-linux-gnu --target=x86_64-redhat-linux-gnu --with-pic \
+ --with-ssl="$M_SOURCES/openssl" --with-zlib="$M_SOURCES/zlib" \
+ --prefix="$M_LOCAL" &>> "$M_LOGS/curl.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/curl.txt"; error
+ make install &>> "$M_LOGS/curl.txt"; error
+ ;;
+ curl-check)
+ # The target 'check' is an alias for the targets 'test' and 'examples'
+ cd "$M_SOURCES/curl"; error
+
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+
+ # To avoid having curl run all of its tests using valgrind, we pass the '-n' option to the runtests.pl script.
+ sed -i -e "s/^\(TEST = .*runtests.pl\).*/\1 -n/g" tests/Makefile
+
+ make --jobs=4 examples &>> "$M_LOGS/curl.txt"; error
+ make --jobs=4 test &>> "$M_LOGS/curl.txt"; error
+ ;;
+ curl-check-full)
+
+ # The target 'check' is an alias for the targets 'test' and 'examples'
+ cd "$M_SOURCES/curl"; error
+
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+
+ # Since valgrind may have been disabled above, we ensure the -n flag is removed here.
+ sed -i -e "s/^\(TEST = .*runtests.pl\).*/\1/g" tests/Makefile
+
+ make --jobs=4 examples &>> "$M_LOGS/curl.txt"; error
+ make --jobs=4 test &>> "$M_LOGS/curl.txt"; error
+ make --jobs=4 test-full &>> "$M_LOGS/curl.txt"; error
+ # make --jobs=4 test-torture &>> "$M_LOGS/curl.txt"; error
+
+ ;;
+ curl-clean)
+ cd "$M_SOURCES/curl"; error
+ make clean &>> "$M_LOGS/curl.txt"; error
+ ;;
+ curl-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/curl.txt"; error
+ ;;
+ curl-log)
+ cat "$M_LOGS/curl.txt"; error
+ ;;
+ curl)
+ curl "curl-extract"
+ curl "curl-prep"
+ curl "curl-build"
+ if [ "$QUICK" != "yes" ]; then curl "curl-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/curl.txt"
+
+ return $?
}
xml2() {
- if [[ $1 == "xml2-extract" ]]; then
- rm -f "$M_LOGS/xml2.txt"; error
- elif [[ $1 != "xml2-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/xml2.txt"
- fi
-
- case "$1" in
- xml2-extract)
- extract $XML2 "xml2" &>> "$M_LOGS/xml2.txt"
- tar xzvf "$M_ARCHIVES/$XMLTS.tar.gz" -C "$M_SOURCES/xml2" &>> "$M_LOGS/xml2.txt"; error
- tar --strip-components=1 -x -z -v -f "$M_ARCHIVES/$XML2TEST.tar.gz" -C "$M_SOURCES/xml2" &>> "$M_LOGS/xml2.txt"; error
- ;;
- xml2-prep)
- cd "$M_SOURCES/xml2"; error
- rm -f test/att11; error
- rm -f result/att11.sax; error
- rm -f result/att11.sax2; error
- rm -f result/att11; error
- rm -f result/noent/att11; error
- rm -f result/att11.rdr; error
- rm -f result/att11.rde; error
- ;;
- xml2-build)
- cd "$M_SOURCES/xml2"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before xml2.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --without-lzma --without-python --without-http --without-ftp --with-zlib=$M_SOURCES/zlib \
- --prefix="$M_LOCAL" &>> "$M_LOGS/xml2.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
-
- make --jobs=4 &>> "$M_LOGS/xml2.txt"; error
- make install &>> "$M_LOGS/xml2.txt"; error
- ;;
- xml2-check)
- cd "$M_SOURCES/xml2"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/xml2.txt"; error
- ;;
- xml2-check-full)
- cd "$M_SOURCES/xml2"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/xml2.txt"; error
- make -f Makefile.tests check &>> "$M_LOGS/xml2.txt"; error
- ;;
- xml2-clean)
- cd "$M_SOURCES/xml2"; error
- make clean &>> "$M_LOGS/xml2.txt"; error
- make -f Makefile.tests clean &>> "$M_LOGS/xml2.txt"; error
- ;;
- xml2-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/xml2.txt"; error
- ;;
- xml2-log)
- cat "$M_LOGS/xml2.txt"; error
- ;;
- xml2)
- xml2 "xml2-extract"
- xml2 "xml2-prep"
- xml2 "xml2-build"
- xml2 "xml2-check"
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/xml2.txt"
-
- return $?
+ if [[ $1 == "xml2-extract" ]]; then
+ rm -f "$M_LOGS/xml2.txt"; error
+ elif [[ $1 != "xml2-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/xml2.txt"
+ fi
+
+ case "$1" in
+ xml2-extract)
+ extract $XML2 "xml2" &>> "$M_LOGS/xml2.txt"
+ tar xzvf "$M_ARCHIVES/$XMLTS.tar.gz" -C "$M_SOURCES/xml2" &>> "$M_LOGS/xml2.txt"; error
+ tar --strip-components=1 -x -z -v -f "$M_ARCHIVES/$XML2TEST.tar.gz" -C "$M_SOURCES/xml2" &>> "$M_LOGS/xml2.txt"; error
+ ;;
+ xml2-prep)
+ cd "$M_SOURCES/xml2"; error
+ rm -f test/att11; error
+ rm -f result/att11.sax; error
+ rm -f result/att11.sax2; error
+ rm -f result/att11; error
+ rm -f result/noent/att11; error
+ rm -f result/att11.rdr; error
+ rm -f result/att11.rde; error
+ ;;
+ xml2-build)
+ cd "$M_SOURCES/xml2"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before xml2.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --without-lzma --without-python --without-http --without-ftp --with-zlib=$M_SOURCES/zlib \
+ --prefix="$M_LOCAL" &>> "$M_LOGS/xml2.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/xml2.txt"; error
+ make install &>> "$M_LOGS/xml2.txt"; error
+ ;;
+ xml2-check)
+ cd "$M_SOURCES/xml2"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/xml2.txt"; error
+ ;;
+ xml2-check-full)
+ cd "$M_SOURCES/xml2"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/xml2.txt"; error
+ make -f Makefile.tests check &>> "$M_LOGS/xml2.txt"; error
+ ;;
+ xml2-clean)
+ cd "$M_SOURCES/xml2"; error
+ make clean &>> "$M_LOGS/xml2.txt"; error
+ make -f Makefile.tests clean &>> "$M_LOGS/xml2.txt"; error
+ ;;
+ xml2-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/xml2.txt"; error
+ ;;
+ xml2-log)
+ cat "$M_LOGS/xml2.txt"; error
+ ;;
+ xml2)
+ xml2 "xml2-extract"
+ xml2 "xml2-prep"
+ xml2 "xml2-build"
+ xml2 "xml2-check"
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/xml2.txt"
+
+ return $?
}
dkim() {
- if [[ $1 == "dkim-extract" ]]; then
- rm -f "$M_LOGS/dkim.txt"; error
- elif [[ $1 != "dkim-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/dkim.txt"
- fi
-
- case "$1" in
- dkim-extract)
- extract $DKIM "dkim" &>> "$M_LOGS/dkim.txt"
- ;;
- dkim-prep)
- cd "$M_SOURCES/dkim"; error
- cat "$M_PATCHES/dkim/"opendkim.ticket226.patch | patch -p1 --verbose &>> "$M_LOGS/dkim.txt"; error
- cat "$M_PATCHES/dkim/"opendkim_headers_2.10.3.patch | patch -p1 --verbose &>> "$M_LOGS/dkim.txt"; error
- ;;
- dkim-build)
- cd "$M_SOURCES/dkim"; error
-
- if [ ! -f "$M_LDPATH"/libcrypto.so ] || [ ! -f "$M_LDPATH"/libcrypto.a ] || [ ! -f "$M_PKGPATH"/libcrypto.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build openssl before dkim.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libssl.so ] || [ ! -f "$M_LDPATH"/libssl.a ] || [ ! -f "$M_PKGPATH"/libssl.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build openssl before dkim.\n"; tput sgr0
- return 3
- fi
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH -L$M_LDPATH/engines/ -Wl,-rpath,$M_LDPATH/engines/ $M_LDFLAGS"
-
- ./configure \
- --disable-filter --without-milter --without-sasl --without-gnutls --without-odbx \
- --without-openldap --with-openssl="$M_SOURCES/openssl" \
- --prefix="$M_LOCAL" &>> "$M_LOGS/dkim.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
-
- make --jobs=4 &>> "$M_LOGS/dkim.txt"; error
- make install &>> "$M_LOGS/dkim.txt"; error
- ;;
- dkim-check)
- cd "$M_SOURCES/dkim"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/dkim.txt"; error
- ;;
- dkim-check-full)
- cd "$M_SOURCES/dkim"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/dkim.txt"; error
- ;;
- dkim-clean)
- cd "$M_SOURCES/dkim"; error
- make clean &>> "$M_LOGS/dkim.txt"; error
- ;;
- dkim-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/dkim.txt"; error
- ;;
- dkim-log)
- cat "$M_LOGS/dkim.txt"; error
- ;;
- dkim)
- dkim "dkim-extract"
- dkim "dkim-prep"
- dkim "dkim-build"
- if [ "$QUICK" != "yes" ]; then dkim "dkim-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/dkim.txt"
-
- return $?
+ if [[ $1 == "dkim-extract" ]]; then
+ rm -f "$M_LOGS/dkim.txt"; error
+ elif [[ $1 != "dkim-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/dkim.txt"
+ fi
+
+ case "$1" in
+ dkim-extract)
+ extract $DKIM "dkim" &>> "$M_LOGS/dkim.txt"
+ ;;
+ dkim-prep)
+ cd "$M_SOURCES/dkim"; error
+ cat "$M_PATCHES/dkim/"opendkim.ticket226.patch | patch -p1 --verbose &>> "$M_LOGS/dkim.txt"; error
+ cat "$M_PATCHES/dkim/"opendkim_headers_2.10.3.patch | patch -p1 --verbose &>> "$M_LOGS/dkim.txt"; error
+ ;;
+ dkim-build)
+ cd "$M_SOURCES/dkim"; error
+
+ if [ ! -f "$M_LDPATH"/libcrypto.so ] || [ ! -f "$M_LDPATH"/libcrypto.a ] || [ ! -f "$M_PKGPATH"/libcrypto.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build openssl before dkim.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libssl.so ] || [ ! -f "$M_LDPATH"/libssl.a ] || [ ! -f "$M_PKGPATH"/libssl.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build openssl before dkim.\n"; tput sgr0
+ return 3
+ fi
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH -L$M_LDPATH/engines/ -Wl,-rpath,$M_LDPATH/engines/ $M_LDFLAGS"
+
+ ./configure \
+ --disable-filter --without-milter --without-sasl --without-gnutls --without-odbx \
+ --without-openldap --with-openssl="$M_SOURCES/openssl" \
+ --prefix="$M_LOCAL" &>> "$M_LOGS/dkim.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/dkim.txt"; error
+ make install &>> "$M_LOGS/dkim.txt"; error
+ ;;
+ dkim-check)
+ cd "$M_SOURCES/dkim"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/dkim.txt"; error
+ ;;
+ dkim-check-full)
+ cd "$M_SOURCES/dkim"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/dkim.txt"; error
+ ;;
+ dkim-clean)
+ cd "$M_SOURCES/dkim"; error
+ make clean &>> "$M_LOGS/dkim.txt"; error
+ ;;
+ dkim-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/dkim.txt"; error
+ ;;
+ dkim-log)
+ cat "$M_LOGS/dkim.txt"; error
+ ;;
+ dkim)
+ dkim "dkim-extract"
+ dkim "dkim-prep"
+ dkim "dkim-build"
+ if [ "$QUICK" != "yes" ]; then dkim "dkim-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/dkim.txt"
+
+ return $?
}
zlib() {
- if [[ $1 == "zlib-extract" ]]; then
- rm -f "$M_LOGS/zlib.txt"; error
- elif [[ $1 != "zlib-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/zlib.txt"
- fi
-
- case "$1" in
- zlib-extract)
- extract $ZLIB "zlib" &>> "$M_LOGS/zlib.txt"
- ;;
- zlib-prep)
- cd "$M_SOURCES/zlib"; error
- ;;
- zlib-build)
- cd "$M_SOURCES/zlib"; error
-
- export CFLAGS="-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export FFLAGS="-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_FFLAGS"
- export CXXFLAGS="-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
-
- ./configure --prefix="$M_LOCAL" --64 &>> "$M_LOGS/zlib.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset FFLAGS
-
- make &>> "$M_LOGS/zlib.txt"; error
- make install &>> "$M_LOGS/zlib.txt"; error
-
- # Fool Autotools checks into thinking this is a normal zlib install (e.g., ClamAV)
- if [ ! -d lib ]; then ln -s `pwd` lib ; fi
- if [ ! -d include ]; then ln -s `pwd` include ; fi
- ;;
- zlib-check)
- cd "$M_SOURCES/zlib"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/zlib.txt"; error
- ;;
- zlib-check-full)
- cd "$M_SOURCES/zlib"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/zlib.txt"; error
- ;;
- zlib-clean)
- cd "$M_SOURCES/zlib"; error
- make clean &>> "$M_LOGS/zlib.txt"; error
- ;;
- zlib-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/zlib.txt"; error
- ;;
- zlib-log)
- cat "$M_LOGS/zlib.txt"; error
- ;;
- zlib)
- zlib "zlib-extract"
- zlib "zlib-prep"
- zlib "zlib-build"
- if [ "$QUICK" != "yes" ]; then zlib "zlib-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/zlib.txt"
-
- return $?
+ if [[ $1 == "zlib-extract" ]]; then
+ rm -f "$M_LOGS/zlib.txt"; error
+ elif [[ $1 != "zlib-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/zlib.txt"
+ fi
+
+ case "$1" in
+ zlib-extract)
+ extract $ZLIB "zlib" &>> "$M_LOGS/zlib.txt"
+ ;;
+ zlib-prep)
+ cd "$M_SOURCES/zlib"; error
+ ;;
+ zlib-build)
+ cd "$M_SOURCES/zlib"; error
+
+ export CFLAGS="-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export FFLAGS="-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_FFLAGS"
+ export CXXFLAGS="-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+
+ ./configure --prefix="$M_LOCAL" --64 &>> "$M_LOGS/zlib.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset FFLAGS
+
+ make &>> "$M_LOGS/zlib.txt"; error
+ make install &>> "$M_LOGS/zlib.txt"; error
+
+ # Fool Autotools checks into thinking this is a normal zlib install (e.g., ClamAV)
+ if [ ! -d lib ]; then ln -s `pwd` lib ; fi
+ if [ ! -d include ]; then ln -s `pwd` include ; fi
+ ;;
+ zlib-check)
+ cd "$M_SOURCES/zlib"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/zlib.txt"; error
+ ;;
+ zlib-check-full)
+ cd "$M_SOURCES/zlib"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/zlib.txt"; error
+ ;;
+ zlib-clean)
+ cd "$M_SOURCES/zlib"; error
+ make clean &>> "$M_LOGS/zlib.txt"; error
+ ;;
+ zlib-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/zlib.txt"; error
+ ;;
+ zlib-log)
+ cat "$M_LOGS/zlib.txt"; error
+ ;;
+ zlib)
+ zlib "zlib-extract"
+ zlib "zlib-prep"
+ zlib "zlib-build"
+ if [ "$QUICK" != "yes" ]; then zlib "zlib-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/zlib.txt"
+
+ return $?
}
bzip2() {
- if [[ $1 == "bzip2-extract" ]]; then
- rm -f "$M_LOGS/bzip2.txt"; error
- elif [[ $1 != "bzip2-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/bzip2.txt"
- fi
-
- case "$1" in
- bzip2-extract)
- extract $BZIP2 "bzip2" &>> "$M_LOGS/bzip2.txt"
- ;;
- bzip2-prep)
- cd "$M_SOURCES/bzip2"; error
-
- chmod -Rf a+rX,u+w,g-w,o-w . &>> "$M_LOGS/bzip2.txt" ; error
-
- # We use slightly different patches depending on the bzip2 version. These patches were largely
- # ported from Red Hat.
- if [[ $BZIP2 == "bzip2-1.0.5" ]]; then
- cat "$M_PATCHES/bzip2/"bzip2-1.0.4-saneso.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2-1.0.4-cflags.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- elif [[ $BZIP2 == "bzip2-1.0.6" ]]; then
- cat "$M_PATCHES/bzip2/"saneso_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"cflags_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2recover_cve_20163189.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- fi
-
- # These patches apply every version since 1.0.4, and were largely ported from the Gentoo repository.
- cat "$M_PATCHES/bzip2/"bzip2-1.0.4-bzip2recover.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2-1.0.4-makefile-flags.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2-1.0.4-man-links.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2-1.0.6-progress.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2-1.0.4-posix-shell.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2-1.0.6-mingw.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"bzip2-1.0.6-out-of-tree-build.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
-
- # These patches are a mess, but were painfully ported from the Debian bzip2 repository.
- cat "$M_PATCHES/bzip2/"man_formatting_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"make_modernize_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- cat "$M_PATCHES/bzip2/"man_path_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
- ;;
- bzip2-build)
- cd "$M_SOURCES/bzip2"; error
- make CC=gcc AR=ar RANLIB=ranlib CFLAGS='-g3 -fPIC -rdynamic -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_FILE_OFFSET_BITS=64' &>> "$M_LOGS/bzip2.txt" ; error
- make PREFIX="$M_LOCAL" install &>> "$M_LOGS/bzip2.txt" ; error
- ;;
- bzip2-check)
- cd "$M_SOURCES/bzip2"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/bzip2.txt" ; error
- ;;
- bzip2-check-full)
- cd "$M_SOURCES/bzip2"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/bzip2.txt" ; error
- ;;
- bzip2-clean)
- cd "$M_SOURCES/bzip2"; error
- make clean &>> "$M_LOGS/bzip2.txt" ; error
- ;;
- bzip2-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/bzip2.txt"; error
- ;;
- bzip2-log)
- cat "$M_LOGS/bzip2.txt"; error
- ;;
- bzip2)
- bzip2 "bzip2-extract"
- bzip2 "bzip2-prep"
- bzip2 "bzip2-build"
- bzip2 "bzip2-check"
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/bzip2.txt"
-
- return $?
+ if [[ $1 == "bzip2-extract" ]]; then
+ rm -f "$M_LOGS/bzip2.txt"; error
+ elif [[ $1 != "bzip2-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/bzip2.txt"
+ fi
+
+ case "$1" in
+ bzip2-extract)
+ extract $BZIP2 "bzip2" &>> "$M_LOGS/bzip2.txt"
+ ;;
+ bzip2-prep)
+ cd "$M_SOURCES/bzip2"; error
+
+ chmod -Rf a+rX,u+w,g-w,o-w . &>> "$M_LOGS/bzip2.txt" ; error
+
+ # We use slightly different patches depending on the bzip2 version. These patches were largely
+ # ported from Red Hat.
+ if [[ $BZIP2 == "bzip2-1.0.5" ]]; then
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.4-saneso.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.4-cflags.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ elif [[ $BZIP2 == "bzip2-1.0.6" ]]; then
+ cat "$M_PATCHES/bzip2/"saneso_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"cflags_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2recover_cve_20163189.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ fi
+
+ # These patches apply every version since 1.0.4, and were largely ported from the Gentoo repository.
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.4-bzip2recover.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.4-makefile-flags.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.4-man-links.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.6-progress.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.4-posix-shell.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.6-mingw.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"bzip2-1.0.6-out-of-tree-build.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+
+ # These patches are a mess, but were painfully ported from the Debian bzip2 repository.
+ cat "$M_PATCHES/bzip2/"man_formatting_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"make_modernize_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ cat "$M_PATCHES/bzip2/"man_path_1.0.6.patch | patch -p1 --verbose &>> "$M_LOGS/bzip2.txt" ; error
+ ;;
+ bzip2-build)
+ cd "$M_SOURCES/bzip2"; error
+ make CC=gcc AR=ar RANLIB=ranlib CFLAGS='-g3 -fPIC -rdynamic -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_FILE_OFFSET_BITS=64' &>> "$M_LOGS/bzip2.txt" ; error
+ make PREFIX="$M_LOCAL" install &>> "$M_LOGS/bzip2.txt" ; error
+ ;;
+ bzip2-check)
+ cd "$M_SOURCES/bzip2"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/bzip2.txt" ; error
+ ;;
+ bzip2-check-full)
+ cd "$M_SOURCES/bzip2"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/bzip2.txt" ; error
+ ;;
+ bzip2-clean)
+ cd "$M_SOURCES/bzip2"; error
+ make clean &>> "$M_LOGS/bzip2.txt" ; error
+ ;;
+ bzip2-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/bzip2.txt"; error
+ ;;
+ bzip2-log)
+ cat "$M_LOGS/bzip2.txt"; error
+ ;;
+ bzip2)
+ bzip2 "bzip2-extract"
+ bzip2 "bzip2-prep"
+ bzip2 "bzip2-build"
+ bzip2 "bzip2-check"
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/bzip2.txt"
+
+ return $?
}
dspam() {
- if [[ $1 == "dspam-extract" ]]; then
- rm -f "$M_LOGS/dspam.txt"; error
- elif [[ $1 != "dspam-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/dspam.txt"
- fi
-
- case "$1" in
- dspam-extract)
- extract $DSPAM "dspam" &>> "$M_LOGS/dspam.txt"
- ;;
- dspam-prep)
- cd "$M_SOURCES/dspam"; error
-
- # Changes STATUS( to DSPAM_STATUS( in client.c, dspam.c and agent_shared.c in DSPAM the src folder.
- if [[ $DSPAM == "dspam-3.9.1-RC1" ]]; then
- cat "$M_PATCHES/dspam/"dspam_status_rename_3.9.0.RC1.patch | patch -p1 --verbose &>> "$M_LOGS/dspam.txt"; error
- else
- cat "$M_PATCHES/dspam/"dspam_status_rename_3.10.x.patch | patch -p3 --verbose &>> "$M_LOGS/dspam.txt"; error
- fi
-
- cat "$M_PATCHES/dspam/"dspam_version.patch | patch -p1 --verbose &>> "$M_LOGS/dspam.txt"; error
- cat "$M_PATCHES/dspam/"dspam_headers_3.10.2.patch | patch -p1 --verbose &>> "$M_LOGS/dspam.txt"; error
- ;;
- dspam-build)
- cd "$M_SOURCES/dspam"; error
-
- if [ ! -f "$M_LDPATH"/mysql/libmysqlclient_r.so ] || [ ! -f "$M_LDPATH"/mysql/libmysqlclient_r.a ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build mysql before dspam.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH/mysql -L$M_LDPATH -Wl,-rpath,$M_LDPATH/mysql -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- export LD_LIBRARY_PATH="$M_LDPATH"
-
- ./configure --enable-static --with-pic --enable-preferences-extension --enable-virtual-users \
- --with-storage-driver=mysql_drv --disable-trusted-user-security --disable-mysql4-initialization \
- --with-mysql-includes="$M_LOCAL/include/mysql/" --with-mysql-libraries="$M_LOCAL/lib/mysql/" \
- --prefix="$M_LOCAL" &>> "$M_LOGS/dspam.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset LD_LIBRARY_PATH
-
- make &>> "$M_LOGS/dspam.txt"; error
- make install &>> "$M_LOGS/dspam.txt"; error
-
- # I don't know my mysql_drv.h doesn't get copied to the include directory, so the quickest workaround is
- # is to copy it over ourselves.
- cp "$M_SOURCES/dspam/src/mysql_drv.h" "$M_LOCAL/include/dspam/"
- ;;
- dspam-check)
- cd "$M_SOURCES/dspam"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/dspam.txt"; error
- ;;
- dspam-check-full)
- cd "$M_SOURCES/dspam"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/dspam.txt"; error
- ;;
- dspam-clean)
- cd "$M_SOURCES/dspam"; error
- make clean &>> "$M_LOGS/dspam.txt"; error
- ;;
- dspam-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/dspam.txt"; error
- ;;
- dspam-log)
- cat "$M_LOGS/dspam.txt"; error
- ;;
- dspam)
- dspam "dspam-extract"
- dspam "dspam-prep"
- dspam "dspam-build"
- if [ "$QUICK" != "yes" ]; then dspam "dspam-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/dspam.txt"
-
- return $?
+ if [[ $1 == "dspam-extract" ]]; then
+ rm -f "$M_LOGS/dspam.txt"; error
+ elif [[ $1 != "dspam-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/dspam.txt"
+ fi
+
+ case "$1" in
+ dspam-extract)
+ extract $DSPAM "dspam" &>> "$M_LOGS/dspam.txt"
+ ;;
+ dspam-prep)
+ cd "$M_SOURCES/dspam"; error
+
+ # Changes STATUS( to DSPAM_STATUS( in client.c, dspam.c and agent_shared.c in DSPAM the src folder.
+ if [[ $DSPAM == "dspam-3.9.1-RC1" ]]; then
+ cat "$M_PATCHES/dspam/"dspam_status_rename_3.9.0.RC1.patch | patch -p1 --verbose &>> "$M_LOGS/dspam.txt"; error
+ else
+ cat "$M_PATCHES/dspam/"dspam_status_rename_3.10.x.patch | patch -p3 --verbose &>> "$M_LOGS/dspam.txt"; error
+ fi
+
+ cat "$M_PATCHES/dspam/"dspam_version.patch | patch -p1 --verbose &>> "$M_LOGS/dspam.txt"; error
+ cat "$M_PATCHES/dspam/"dspam_headers_3.10.2.patch | patch -p1 --verbose &>> "$M_LOGS/dspam.txt"; error
+ ;;
+ dspam-build)
+ cd "$M_SOURCES/dspam"; error
+
+ if [ ! -f "$M_LDPATH"/mysql/libmysqlclient_r.so ] || [ ! -f "$M_LDPATH"/mysql/libmysqlclient_r.a ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build mysql before dspam.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH/mysql -L$M_LDPATH -Wl,-rpath,$M_LDPATH/mysql -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ export LD_LIBRARY_PATH="$M_LDPATH"
+
+ ./configure --enable-static --with-pic --enable-preferences-extension --enable-virtual-users \
+ --with-storage-driver=mysql_drv --disable-trusted-user-security --disable-mysql4-initialization \
+ --with-mysql-includes="$M_LOCAL/include/mysql/" --with-mysql-libraries="$M_LOCAL/lib/mysql/" \
+ --prefix="$M_LOCAL" &>> "$M_LOGS/dspam.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset LD_LIBRARY_PATH
+
+ make &>> "$M_LOGS/dspam.txt"; error
+ make install &>> "$M_LOGS/dspam.txt"; error
+
+ # I don't know my mysql_drv.h doesn't get copied to the include directory, so the quickest workaround is
+ # is to copy it over ourselves.
+ cp "$M_SOURCES/dspam/src/mysql_drv.h" "$M_LOCAL/include/dspam/"
+ ;;
+ dspam-check)
+ cd "$M_SOURCES/dspam"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/dspam.txt"; error
+ ;;
+ dspam-check-full)
+ cd "$M_SOURCES/dspam"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/dspam.txt"; error
+ ;;
+ dspam-clean)
+ cd "$M_SOURCES/dspam"; error
+ make clean &>> "$M_LOGS/dspam.txt"; error
+ ;;
+ dspam-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/dspam.txt"; error
+ ;;
+ dspam-log)
+ cat "$M_LOGS/dspam.txt"; error
+ ;;
+ dspam)
+ dspam "dspam-extract"
+ dspam "dspam-prep"
+ dspam "dspam-build"
+ if [ "$QUICK" != "yes" ]; then dspam "dspam-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/dspam.txt"
+
+ return $?
}
mysql() {
- if [[ $1 == "mysql-extract" ]]; then
- rm -f "$M_LOGS/mysql.txt"; error
- elif [[ $1 != "mysql-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/mysql.txt"
- fi
-
- case "$1" in
- mysql-extract)
- extract $MYSQL "mysql" &>> "$M_LOGS/mysql.txt"
- ;;
- mysql-prep)
- cd "$M_SOURCES/mysql"; error
- touch libtoolT; error
- cat "$M_PATCHES/mysql/"5.1.73_mysql_test_run_syntax.patch | patch -p1 --verbose &>> "$M_LOGS/mysql.txt"; error
- cat "$M_PATCHES/mysql/"5.1.73_perl_inc_path.patch | patch -p1 --verbose &>> "$M_LOGS/mysql.txt"; error
- ;;
- mysql-build)
- cd "$M_SOURCES/mysql"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before mysql.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libcrypto.so ] || [ ! -f "$M_LDPATH"/libcrypto.a ] || [ ! -f "$M_PKGPATH"/libcrypto.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build openssl before mysql.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libssl.so ] || [ ! -f "$M_LDPATH"/libssl.a ] || [ ! -f "$M_PKGPATH"/libssl.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build openssl before mysql.\n"; tput sgr0
- return 3
- fi
-
- # The MySQL code (as of version 5.1.73) includes uses invalid cast operations. As a result the
- # -fpermissive command line option is required for compilation.
- printf "\n#include <stdlib.h>\n\nint main(int argc, char *argv[]) { return 0; }\n\n" | gcc -o /dev/null -x c++ -fpermissive - &> /dev/null
- if [ $? -eq 0 ]; then
- M_EXTRA="-fpermissive"
- else
- M_EXTRA=""
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O -Wno-narrowing $M_EXTRA $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O -Wno-narrowing $M_EXTRA $M_CPPFLAGS"
-
- # According to the RHEL build spec, MySQL checks will fail without --with-big-tables,
- ./configure --with-pic --enable-thread-safe-client --with-readline --with-charset=latin1 \
- --with-extra-charsets=all --with-plugins=all --with-ssl="$M_SOURCES/openssl" \
- --prefix="$M_LOCAL" &>> "$M_LOGS/mysql.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset M_EXTRA
-
- make --jobs=4 &>> "$M_LOGS/mysql.txt"; error
- make install &>> "$M_LOGS/mysql.txt"; error
- ;;
- mysql-check)
- cd "$M_SOURCES/mysql"; error
-
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
-
- make --jobs=4 test-fast &>> "$M_LOGS/mysql.txt"; error
- ;;
- mysql-check-full)
-
- cd "$M_SOURCES/mysql"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
-
- # The test suite will use this variable to offset the port numbers and prevent clashing.
- export MTR_BUILD_THREAD=86
-
- # test-full combines the test, test-nr and test-ps targets
- make clean &>> "$M_LOGS/mysql.txt"; error
- make --jobs=4 &>> "$M_LOGS/mysql.txt"; error
- make --jobs=4 test-full &>> "$M_LOGS/mysql.txt"; error
-
- # make clean &>> "$M_LOGS/mysql.txt"; error
- #make --jobs=2 &>> "$M_LOGS/mysql.txt"; error
- #make test-full-qa &>> "$M_LOGS/mysql.txt"; error
- ;;
- mysql-clean)
- cd "$M_SOURCES/mysql"; error
- make clean &>> "$M_LOGS/mysql.txt"; error
- ;;
- mysql-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/mysql.txt"; error
- ;;
- mysql-log)
- cat "$M_LOGS/mysql.txt"; error
- ;;
- mysql)
- mysql "mysql-extract"
- mysql "mysql-prep"
- mysql "mysql-build"
- if [ "$QUICK" != "yes" ]; then mysql "mysql-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/mysql.txt"
-
- return $?
+ if [[ $1 == "mysql-extract" ]]; then
+ rm -f "$M_LOGS/mysql.txt"; error
+ elif [[ $1 != "mysql-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/mysql.txt"
+ fi
+
+ case "$1" in
+ mysql-extract)
+ extract $MYSQL "mysql" &>> "$M_LOGS/mysql.txt"
+ ;;
+ mysql-prep)
+ cd "$M_SOURCES/mysql"; error
+ touch libtoolT; error
+ cat "$M_PATCHES/mysql/"5.1.73_mysql_test_run_syntax.patch | patch -p1 --verbose &>> "$M_LOGS/mysql.txt"; error
+ cat "$M_PATCHES/mysql/"5.1.73_perl_inc_path.patch | patch -p1 --verbose &>> "$M_LOGS/mysql.txt"; error
+ ;;
+ mysql-build)
+ cd "$M_SOURCES/mysql"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before mysql.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libcrypto.so ] || [ ! -f "$M_LDPATH"/libcrypto.a ] || [ ! -f "$M_PKGPATH"/libcrypto.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build openssl before mysql.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libssl.so ] || [ ! -f "$M_LDPATH"/libssl.a ] || [ ! -f "$M_PKGPATH"/libssl.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build openssl before mysql.\n"; tput sgr0
+ return 3
+ fi
+
+ # The MySQL code (as of version 5.1.73) includes uses invalid cast operations. As a result the
+ # -fpermissive command line option is required for compilation.
+ printf "\n#include <stdlib.h>\n\nint main(int argc, char *argv[]) { return 0; }\n\n" | gcc -o /dev/null -x c++ -fpermissive - &> /dev/null
+ if [ $? -eq 0 ]; then
+ M_EXTRA="-fpermissive"
+ else
+ M_EXTRA=""
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O -Wno-narrowing $M_EXTRA $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O -Wno-narrowing $M_EXTRA $M_CPPFLAGS"
+
+ # According to the RHEL build spec, MySQL checks will fail without --with-big-tables,
+ ./configure --with-pic --enable-thread-safe-client --with-readline --with-charset=latin1 \
+ --with-extra-charsets=all --with-plugins=all --with-ssl="$M_SOURCES/openssl" \
+ --prefix="$M_LOCAL" &>> "$M_LOGS/mysql.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset M_EXTRA
+
+ make --jobs=4 &>> "$M_LOGS/mysql.txt"; error
+ make install &>> "$M_LOGS/mysql.txt"; error
+ ;;
+ mysql-check)
+ cd "$M_SOURCES/mysql"; error
+
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+
+ make --jobs=4 test-fast &>> "$M_LOGS/mysql.txt"; error
+ ;;
+ mysql-check-full)
+
+ cd "$M_SOURCES/mysql"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+
+ # The test suite will use this variable to offset the port numbers and prevent clashing.
+ export MTR_BUILD_THREAD=86
+
+ # test-full combines the test, test-nr and test-ps targets
+ make clean &>> "$M_LOGS/mysql.txt"; error
+ make --jobs=4 &>> "$M_LOGS/mysql.txt"; error
+ make --jobs=4 test-full &>> "$M_LOGS/mysql.txt"; error
+
+ # make clean &>> "$M_LOGS/mysql.txt"; error
+ #make --jobs=2 &>> "$M_LOGS/mysql.txt"; error
+ #make test-full-qa &>> "$M_LOGS/mysql.txt"; error
+ ;;
+ mysql-clean)
+ cd "$M_SOURCES/mysql"; error
+ make clean &>> "$M_LOGS/mysql.txt"; error
+ ;;
+ mysql-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/mysql.txt"; error
+ ;;
+ mysql-log)
+ cat "$M_LOGS/mysql.txt"; error
+ ;;
+ mysql)
+ mysql "mysql-extract"
+ mysql "mysql-prep"
+ mysql "mysql-build"
+ if [ "$QUICK" != "yes" ]; then mysql "mysql-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/mysql.txt"
+
+ return $?
}
geoip() {
- if [[ $1 == "geoip-extract" ]]; then
- rm -f "$M_LOGS/geoip.txt"; error
- elif [[ $1 != "geoip-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/geoip.txt"
- fi
-
- case "$1" in
- geoip-extract)
- extract $GEOIP "geoip" &>> "$M_LOGS/geoip.txt"
- ;;
- geoip-prep)
- cd "$M_SOURCES/geoip"; error
- ;;
- geoip-build)
- cd "$M_SOURCES/geoip"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before geoip.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/geoip.txt"; error
-
- make &>> "$M_LOGS/geoip.txt"
- if [ $? -ne 0 ]; then
- # Fix for Ubuntu 12.04 LTS
- echo "build failed... retrying with libtoolize" > "$M_LOGS/geoip.txt"
- libtoolize -f &>> "$M_LOGS/geoip.txt"; error
- ./configure &>> "$M_LOGS/geoip.txt"; error
- make &>> "$M_LOGS/geoip.txt"; error
- fi
- make install &>> "$M_LOGS/geoip.txt"
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
- ;;
- geoip-check)
- cd "$M_SOURCES/geoip"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/geoip.txt"; error
- ;;
- geoip-check-full)
- cd "$M_SOURCES/geoip"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/geoip.txt"; error
- ;;
- geoip-clean)
- cd "$M_SOURCES/geoip"; error
- make clean &>> "$M_LOGS/geoip.txt"; error
- ;;
- geoip-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/geoip.txt"; error
- ;;
- geoip-log)
- cat "$M_LOGS/geoip.txt"; error
- ;;
- geoip)
- geoip "geoip-extract"
- geoip "geoip-prep"
- geoip "geoip-build"
- if [ "$QUICK" != "yes" ]; then geoip "geoip-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/geoip.txt"
-
- return $?
+ if [[ $1 == "geoip-extract" ]]; then
+ rm -f "$M_LOGS/geoip.txt"; error
+ elif [[ $1 != "geoip-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/geoip.txt"
+ fi
+
+ case "$1" in
+ geoip-extract)
+ extract $GEOIP "geoip" &>> "$M_LOGS/geoip.txt"
+ ;;
+ geoip-prep)
+ cd "$M_SOURCES/geoip"; error
+ ;;
+ geoip-build)
+ cd "$M_SOURCES/geoip"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before geoip.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/geoip.txt"; error
+
+ make &>> "$M_LOGS/geoip.txt"
+ if [ $? -ne 0 ]; then
+ # Fix for Ubuntu 12.04 LTS
+ echo "build failed... retrying with libtoolize" > "$M_LOGS/geoip.txt"
+ libtoolize -f &>> "$M_LOGS/geoip.txt"; error
+ ./configure &>> "$M_LOGS/geoip.txt"; error
+ make &>> "$M_LOGS/geoip.txt"; error
+ fi
+ make install &>> "$M_LOGS/geoip.txt"
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+ ;;
+ geoip-check)
+ cd "$M_SOURCES/geoip"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/geoip.txt"; error
+ ;;
+ geoip-check-full)
+ cd "$M_SOURCES/geoip"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/geoip.txt"; error
+ ;;
+ geoip-clean)
+ cd "$M_SOURCES/geoip"; error
+ make clean &>> "$M_LOGS/geoip.txt"; error
+ ;;
+ geoip-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/geoip.txt"; error
+ ;;
+ geoip-log)
+ cat "$M_LOGS/geoip.txt"; error
+ ;;
+ geoip)
+ geoip "geoip-extract"
+ geoip "geoip-prep"
+ geoip "geoip-build"
+ if [ "$QUICK" != "yes" ]; then geoip "geoip-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/geoip.txt"
+
+ return $?
}
clamav() {
- if [[ $1 == "clamav-extract" ]]; then
- rm -f "$M_LOGS/clamav.txt"; error
- elif [[ $1 != "clamav-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/clamav.txt"
- fi
-
- case "$1" in
- clamav-extract)
- extract $CLAMAV "clamav" &>> "$M_LOGS/clamav.txt"
- ;;
- clamav-prep)
- # Patches cli_rarload() so it looks internally, and changes the name of cache_add() to cl_cache_add().
- cd "$M_SOURCES/clamav"; error
- if [[ $CLAMAV == "clamav-0.97" ]]; then
- cat "$M_PATCHES/clamav/"rarload_097.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
- cat "$M_PATCHES/clamav/"cacheadd_097.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
- cat "$M_PATCHES/clamav/"ulimit_097.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
- elif [[ $CLAMAV =~ "clamav-0.97."[1-2] ]]; then
- cat "$M_PATCHES/clamav/"cacheadd_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
- cat "$M_PATCHES/clamav/"rarload_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
- cat "$M_PATCHES/clamav/"ulimit_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
- cat "$M_PATCHES/clamav/"shutdown_0972.patch | patch -p3 --verbose &>> "$M_LOGS/clamav.txt"; error
- elif [[ $CLAMAV =~ "clamav-0.98.1" ]]; then
- # Add the shutdown and clean up functions.
- cat "$M_PATCHES/clamav/"shutdown_0981.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
-
- # Fix the rar library dynamic loading logic.
- cat "$M_PATCHES/clamav/"rarload_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
-
- # Fix reference conflict with OpenSSL over the name SHA256_CTX.
- SHA_FILES=`grep --files-with-matches --recursive SHA256_CTX *`; error
- sed -i -e "s/SHA256_CTX/CL_SHA256_CTX/g" $SHA_FILES; error
- unset SHA_FILES
- elif [[ $CLAMAV =~ "clamav-0.98.7" ]]; then
-
- # Add the shutdown and clean up functions and fix the rar library dynamic loading logic.
- cat "$M_PATCHES/clamav/"shutdown_rarload_0984.patch | patch -p1 --fuzz=100 --verbose &>> "$M_LOGS/clamav.txt"; error
-
- # Output the version number and not the git commit hash.
- cat "$M_PATCHES/clamav/"version_0984.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
-
- # Fix the zlib version check, so that 1.2.10+ doesn't trigger a spurious error.
- cat "$M_PATCHES/clamav/"zlib_check_0992.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
- else
- # Add the shutdown and clean up functions and fix the rar library dynamic loading logic.
- cat "$M_PATCHES/clamav/"shutdown_rarload_01001.patch | patch -p1 --fuzz=100 --verbose &>> "$M_LOGS/clamav.txt"; error
-
- # Output the version number and not the git commit hash.
- cat "$M_PATCHES/clamav/"version_0984.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
-
- fi
-
- # Fix reference conflict with libpng over the filename png.h.
- PNG_FILES=`grep --files-with-matches --recursive "png\\.h" *`; error
- sed -i -e "s/png\.h/clpng\.h/g" $PNG_FILES; error
- mv libclamav/png.h libclamav/clpng.h; error
- unset PNG_FILES
-
- ;;
- clamav-build)
- cd "$M_SOURCES/clamav"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before clamav.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libpcre2-8.so ] || [ ! -f "$M_LDPATH"/libpcre2-8.a ] || [ ! -f "$M_PKGPATH"/libpcre2-8.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build pcre before pcre.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libxml2.so ] || [ ! -f "$M_LDPATH"/libxml2.a ] || [ ! -f "$M_PKGPATH"/libxml-2.0.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build xml2 before clamav.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libbz2.so ] || [ ! -f "$M_LDPATH"/libbz2.a ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build bzip2 before clamav.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -DGNU_SOURCE $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -DGNU_SOURCE $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -DGNU_SOURCE $M_CPPFLAGS"
-
- # --disable-mempool
- ./configure \
- --enable-check --enable-static --enable-shared --disable-llvm --disable-silent-rules \
- --with-openssl="$M_LOCAL" --with-zlib="$M_LOCAL" --with-xml="$M_LOCAL" --with-libcurl="$M_LOCAL" \
- --with-pcre="$M_LOCAL" --with-systemdsystemunitdir="no" \
- --with-libbz2-prefix="$M_LOCAL" --with-libcheck-prefix="$M_LOCAL" \
- --prefix="$M_LOCAL" --exec-prefix="$M_LOCAL" --libdir="$M_LOCAL/lib" &>> "$M_LOGS/clamav.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
-
- if [[ $CLAMAV =~ "clamav-0.9"[7-9]"."[1-9] ]]; then
- # The check3_clamd.sh script will fail if LLVM is disabled.
- # Since we are not currently using clamd, the offending check script is replaced.
- # The exit value 77 indicates the check was skipped.
- printf "\x23\x21/bin/bash\nexit 77\n" > "$M_SOURCES/clamav/unit_tests/check2_clamd.sh"; error
- printf "\x23\x21/bin/bash\nexit 77\n" > "$M_SOURCES/clamav/unit_tests/check3_clamd.sh"; error
- printf "\x23\x21/bin/bash\nexit 77\n" > "$M_SOURCES/clamav/unit_tests/check4_clamd.sh"; error
- fi
-
- make --jobs=4 &>> "$M_LOGS/clamav.txt"; error
- make install &>> "$M_LOGS/clamav.txt"; error
- ;;
- clamav-check)
- cd "$M_SOURCES/clamav"; error
-
- # Remove read perms for the accdenied file so the test works properly.
- if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
- chmod --changes u-r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
- fi
-
- # Increase the default test timeout to 20 minutes.
- export T="1200"
-
- make check &>> "$M_LOGS/clamav.txt"; error
-
- unset T
-
- # Add read perms to accdenied file so it can be checked into the version control repo.
- if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
- chmod --changes u+r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
- fi
- ;;
- clamav-check-full)
- cd "$M_SOURCES/clamav"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
-
- # Remove read perms for the accdenied file so the test works properly.
- if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
- chmod --changes u-r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
- fi
-
- # Reset the session limits.
- ulimit -f unlimited || ulimit -i 77233 || ulimit -l 64 || ulimit -m unlimited || ulimit -n 1024 || ulimit -q 819200 || ulimit -r 0 || ulimit -s 10240 || ulimit -c 0 || ulimit -d unlimited || ulimit -e 0 || ulimit -t unlimited || ulimit -u 77233 || ulimit -v unlimited || ulimit -x unlimited || ulimit -p 8
-
- # Increase the default test timeout to 1 hour.
- export T="3600"
-
- make check VG=1 HG=1 &>> "$M_LOGS/clamav.txt"; error
-
- unset T
-
- # Add read permissions to accdenied file so it can be checked into the version control repo.
- if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
- chmod --changes u-r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
- fi
- ;;
- clamav-clean)
- cd "$M_SOURCES/clamav"; error
- make clean &>> "$M_LOGS/clamav.txt"; error
- ;;
- clamav-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/clamav.txt"; error
- ;;
- clamav-log)
- cat "$M_LOGS/clamav.txt"; error
- ;;
- clamav)
- clamav "clamav-extract"
- clamav "clamav-prep"
- clamav "clamav-build"
- if [ "$QUICK" != "yes" ]; then clamav "clamav-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/clamav.txt"
-
- return $?
+ if [[ $1 == "clamav-extract" ]]; then
+ rm -f "$M_LOGS/clamav.txt"; error
+ elif [[ $1 != "clamav-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/clamav.txt"
+ fi
+
+ case "$1" in
+ clamav-extract)
+ extract $CLAMAV "clamav" &>> "$M_LOGS/clamav.txt"
+ ;;
+ clamav-prep)
+ # Patches cli_rarload() so it looks internally, and changes the name of cache_add() to cl_cache_add().
+ cd "$M_SOURCES/clamav"; error
+ if [[ $CLAMAV == "clamav-0.97" ]]; then
+ cat "$M_PATCHES/clamav/"rarload_097.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+ cat "$M_PATCHES/clamav/"cacheadd_097.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+ cat "$M_PATCHES/clamav/"ulimit_097.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+ elif [[ $CLAMAV =~ "clamav-0.97."[1-2] ]]; then
+ cat "$M_PATCHES/clamav/"cacheadd_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+ cat "$M_PATCHES/clamav/"rarload_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+ cat "$M_PATCHES/clamav/"ulimit_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+ cat "$M_PATCHES/clamav/"shutdown_0972.patch | patch -p3 --verbose &>> "$M_LOGS/clamav.txt"; error
+ elif [[ $CLAMAV =~ "clamav-0.98.1" ]]; then
+ # Add the shutdown and clean up functions.
+ cat "$M_PATCHES/clamav/"shutdown_0981.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+
+ # Fix the rar library dynamic loading logic.
+ cat "$M_PATCHES/clamav/"rarload_0971.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+
+ # Fix reference conflict with OpenSSL over the name SHA256_CTX.
+ SHA_FILES=`grep --files-with-matches --recursive SHA256_CTX *`; error
+ sed -i -e "s/SHA256_CTX/CL_SHA256_CTX/g" $SHA_FILES; error
+ unset SHA_FILES
+ elif [[ $CLAMAV =~ "clamav-0.98.7" ]]; then
+
+ # Add the shutdown and clean up functions and fix the rar library dynamic loading logic.
+ cat "$M_PATCHES/clamav/"shutdown_rarload_0984.patch | patch -p1 --fuzz=100 --verbose &>> "$M_LOGS/clamav.txt"; error
+
+ # Output the version number and not the git commit hash.
+ cat "$M_PATCHES/clamav/"version_0984.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+
+ # Fix the zlib version check, so that 1.2.10+ doesn't trigger a spurious error.
+ cat "$M_PATCHES/clamav/"zlib_check_0992.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+ else
+ # Add the shutdown and clean up functions and fix the rar library dynamic loading logic.
+ cat "$M_PATCHES/clamav/"shutdown_rarload_01001.patch | patch -p1 --fuzz=100 --verbose &>> "$M_LOGS/clamav.txt"; error
+
+ # Output the version number and not the git commit hash.
+ cat "$M_PATCHES/clamav/"version_0984.patch | patch -p1 --verbose &>> "$M_LOGS/clamav.txt"; error
+
+ fi
+
+ # Fix reference conflict with libpng over the filename png.h.
+ PNG_FILES=`grep --files-with-matches --recursive "png\\.h" *`; error
+ sed -i -e "s/png\.h/clpng\.h/g" $PNG_FILES; error
+ mv libclamav/png.h libclamav/clpng.h; error
+ unset PNG_FILES
+
+ ;;
+ clamav-build)
+ cd "$M_SOURCES/clamav"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before clamav.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libpcre2-8.so ] || [ ! -f "$M_LDPATH"/libpcre2-8.a ] || [ ! -f "$M_PKGPATH"/libpcre2-8.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build pcre before pcre.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libxml2.so ] || [ ! -f "$M_LDPATH"/libxml2.a ] || [ ! -f "$M_PKGPATH"/libxml-2.0.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build xml2 before clamav.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libbz2.so ] || [ ! -f "$M_LDPATH"/libbz2.a ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build bzip2 before clamav.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -DGNU_SOURCE $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -DGNU_SOURCE $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -DGNU_SOURCE $M_CPPFLAGS"
+
+ # --disable-mempool
+ ./configure \
+ --enable-check --enable-static --enable-shared --disable-llvm --disable-silent-rules \
+ --with-openssl="$M_LOCAL" --with-zlib="$M_LOCAL" --with-xml="$M_LOCAL" --with-libcurl="$M_LOCAL" \
+ --with-pcre="$M_LOCAL" --with-systemdsystemunitdir="no" \
+ --with-libbz2-prefix="$M_LOCAL" --with-libcheck-prefix="$M_LOCAL" \
+ --prefix="$M_LOCAL" --exec-prefix="$M_LOCAL" --libdir="$M_LOCAL/lib" &>> "$M_LOGS/clamav.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+
+ if [[ $CLAMAV =~ "clamav-0.9"[7-9]"."[1-9] ]]; then
+ # The check3_clamd.sh script will fail if LLVM is disabled.
+ # Since we are not currently using clamd, the offending check script is replaced.
+ # The exit value 77 indicates the check was skipped.
+ printf "\x23\x21/bin/bash\nexit 77\n" > "$M_SOURCES/clamav/unit_tests/check2_clamd.sh"; error
+ printf "\x23\x21/bin/bash\nexit 77\n" > "$M_SOURCES/clamav/unit_tests/check3_clamd.sh"; error
+ printf "\x23\x21/bin/bash\nexit 77\n" > "$M_SOURCES/clamav/unit_tests/check4_clamd.sh"; error
+ fi
+
+ make --jobs=4 &>> "$M_LOGS/clamav.txt"; error
+ make install &>> "$M_LOGS/clamav.txt"; error
+ ;;
+ clamav-check)
+ cd "$M_SOURCES/clamav"; error
+
+ # Remove read perms for the accdenied file so the test works properly.
+ if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
+ chmod --changes u-r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
+ fi
+
+ # Increase the default test timeout to 20 minutes.
+ export T="1200"
+
+ make check &>> "$M_LOGS/clamav.txt"; error
+
+ unset T
+
+ # Add read perms to accdenied file so it can be checked into the version control repo.
+ if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
+ chmod --changes u+r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
+ fi
+ ;;
+ clamav-check-full)
+ cd "$M_SOURCES/clamav"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+
+ # Remove read perms for the accdenied file so the test works properly.
+ if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
+ chmod --changes u-r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
+ fi
+
+ # Reset the session limits.
+ ulimit -f unlimited || ulimit -i 77233 || ulimit -l 64 || ulimit -m unlimited || ulimit -n 1024 || ulimit -q 819200 || ulimit -r 0 || ulimit -s 10240 || ulimit -c 0 || ulimit -d unlimited || ulimit -e 0 || ulimit -t unlimited || ulimit -u 77233 || ulimit -v unlimited || ulimit -x unlimited || ulimit -p 8
+
+ # Increase the default test timeout to 1 hour.
+ export T="3600"
+
+ make check VG=1 HG=1 &>> "$M_LOGS/clamav.txt"; error
+
+ unset T
+
+ # Add read permissions to accdenied file so it can be checked into the version control repo.
+ if [[ -e "$M_SOURCES/clamav/unit_tests/accdenied" ]] && [[ ! -f "$M_SOURCES/clamav/unit_tests/accdenied" ]]; then
+ chmod --changes u-r "$M_SOURCES/clamav/unit_tests/accdenied" &>> "$M_LOGS/clamav.txt"; error
+ fi
+ ;;
+ clamav-clean)
+ cd "$M_SOURCES/clamav"; error
+ make clean &>> "$M_LOGS/clamav.txt"; error
+ ;;
+ clamav-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/clamav.txt"; error
+ ;;
+ clamav-log)
+ cat "$M_LOGS/clamav.txt"; error
+ ;;
+ clamav)
+ clamav "clamav-extract"
+ clamav "clamav-prep"
+ clamav "clamav-build"
+ if [ "$QUICK" != "yes" ]; then clamav "clamav-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/clamav.txt"
+
+ return $?
}
checker() {
- if [[ $1 == "checker-extract" ]]; then
- rm -f "$M_LOGS/checker.txt"; error
- elif [[ $1 != "checker-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/checker.txt"
- fi
-
- case "$1" in
- checker-extract)
- extract $CHECKER "checker" &>> "$M_LOGS/checker.txt"
- ;;
- checker-prep)
- cd "$M_SOURCES/checker"; error
- # The automake requirement is changed from 1.11.2 to 1.11.1 so libcheck will build on CentOS 6. Systems with
- # non-POSIX archivers might require the AM_PROG_AR macro to work, which was added to automake in version 1.11.2.
- # For those systems, this patch might break things in unpredictable ways, assuming that automake is indeed 1.11.1.
- cat "$M_PATCHES/checker/"checker-automake-version.patch | patch -p1 --verbose &>> "$M_LOGS/checker.txt"; error
- # Valgrind will complain about uninitialized bytes if we don't memset the timer variable before using it.
- cat "$M_PATCHES/checker/"checker-timer-memset.patch | patch -p1 --verbose &>> "$M_LOGS/checker.txt"; error
-
- ;;
- checker-build)
- cd "$M_SOURCES/checker"; error
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O0 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O0 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O0 $M_CPPFLAGS"
-
- autoreconf --install &>> "$M_LOGS/checker.txt"; error
- ./configure --disable-subunit --enable-timer-replacement --enable-snprintf-replacement \
- --enable-fork --enable-timeout-tests --prefix="$M_LOCAL" &>> "$M_LOGS/checker.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
-
- make &>> "$M_LOGS/checker.txt"; error
- make install &>> "$M_LOGS/checker.txt"; error
- ;;
- checker-check)
- cd "$M_SOURCES/checker"; error
-
- # export CK_DEFAULT_TIMEOUT=64; error
- export PATH="$M_BNPATH:$PATH"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
-
- make check &>> "$M_LOGS/checker.txt"; error
-
- # unset CK_DEFAULT_TIMEOUT
- ;;
- checker-check-full)
- cd "$M_SOURCES/checker"; error
-
- # export CK_DEFAULT_TIMEOUT=64; error
- export PATH="$M_BNPATH:$PATH"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
-
- make check &>> "$M_LOGS/checker.txt"; error
-
- # unset CK_DEFAULT_TIMEOUT
- ;;
- checker-clean)
- cd "$M_SOURCES/checker"; error
- make clean &>> "$M_LOGS/checker.txt"; error
- ;;
- checker-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/checker.txt"; error
- ;;
- checker-log)
- cat "$M_LOGS/checker.txt"; error
- ;;
- checker)
- checker "checker-extract"
- checker "checker-prep"
- checker "checker-build"
- if [ "$QUICK" != "yes" ]; then checker "checker-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n $1"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/checker.txt"
-
- return $?
+ if [[ $1 == "checker-extract" ]]; then
+ rm -f "$M_LOGS/checker.txt"; error
+ elif [[ $1 != "checker-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/checker.txt"
+ fi
+
+ case "$1" in
+ checker-extract)
+ extract $CHECKER "checker" &>> "$M_LOGS/checker.txt"
+ ;;
+ checker-prep)
+ cd "$M_SOURCES/checker"; error
+ # The automake requirement is changed from 1.11.2 to 1.11.1 so libcheck will build on CentOS 6. Systems with
+ # non-POSIX archivers might require the AM_PROG_AR macro to work, which was added to automake in version 1.11.2.
+ # For those systems, this patch might break things in unpredictable ways, assuming that automake is indeed 1.11.1.
+ cat "$M_PATCHES/checker/"checker-automake-version.patch | patch -p1 --verbose &>> "$M_LOGS/checker.txt"; error
+ # Valgrind will complain about uninitialized bytes if we don't memset the timer variable before using it.
+ cat "$M_PATCHES/checker/"checker-timer-memset.patch | patch -p1 --verbose &>> "$M_LOGS/checker.txt"; error
+
+ ;;
+ checker-build)
+ cd "$M_SOURCES/checker"; error
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O0 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O0 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O0 $M_CPPFLAGS"
+
+ autoreconf --install &>> "$M_LOGS/checker.txt"; error
+ ./configure --disable-subunit --enable-timer-replacement --enable-snprintf-replacement \
+ --enable-fork --enable-timeout-tests --prefix="$M_LOCAL" &>> "$M_LOGS/checker.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+
+ make &>> "$M_LOGS/checker.txt"; error
+ make install &>> "$M_LOGS/checker.txt"; error
+ ;;
+ checker-check)
+ cd "$M_SOURCES/checker"; error
+
+ # export CK_DEFAULT_TIMEOUT=64; error
+ export PATH="$M_BNPATH:$PATH"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+
+ make check &>> "$M_LOGS/checker.txt"; error
+
+ # unset CK_DEFAULT_TIMEOUT
+ ;;
+ checker-check-full)
+ cd "$M_SOURCES/checker"; error
+
+ # export CK_DEFAULT_TIMEOUT=64; error
+ export PATH="$M_BNPATH:$PATH"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+
+ make check &>> "$M_LOGS/checker.txt"; error
+
+ # unset CK_DEFAULT_TIMEOUT
+ ;;
+ checker-clean)
+ cd "$M_SOURCES/checker"; error
+ make clean &>> "$M_LOGS/checker.txt"; error
+ ;;
+ checker-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/checker.txt"; error
+ ;;
+ checker-log)
+ cat "$M_LOGS/checker.txt"; error
+ ;;
+ checker)
+ checker "checker-extract"
+ checker "checker-prep"
+ checker "checker-build"
+ if [ "$QUICK" != "yes" ]; then checker "checker-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n $1"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/checker.txt"
+
+ return $?
}
openssl() {
- if [[ $1 == "openssl-extract" ]]; then
- rm -f "$M_LOGS/openssl.txt"; error
- elif [[ $1 != "openssl-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/openssl.txt"
- fi
-
- case "$1" in
- openssl-extract)
- extract $OPENSSL "openssl" &>> "$M_LOGS/openssl.txt"
- ;;
- openssl-prep)
- cd "$M_SOURCES/openssl"; error
- if [[ $OPENSSL =~ "openssl-1.0.2" ]]; then
- cat "$M_PATCHES/openssl/"1.0.2_curve25519_ed25519.patch | patch -p1 --verbose &>> "$M_LOGS/openssl.txt"; error
- fi
- ;;
- openssl-build)
- # OpenSSL does not use environment variables to pickup additional compiler flags
- # The -d param specifies the creation of a debug build
- # See here for reasoning behind openssl-specific linker flags:
- # https://mta.openssl.org/pipermail/openssl-users/2015-April/001053.html
- cd "$M_SOURCES/openssl"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before openssl.\n"; tput sgr0
- return 3
- fi
-
- grep -E "CentOS Linux release 7|Red Hat Enterprise.*release 7" /etc/system-release >& /dev/null
- if [ $? == 0 ]; then
- export CONFIGOPTS='-fno-merge-debug-strings '
- fi
-
- ./config -d shared zlib no-asm --prefix="$M_LOCAL" --openssldir="share" --libdir="lib" \
- -I"$M_LOCAL/include/" -O $CONFIGOPTS -g3 -rdynamic -fPIC -DPURIFY -D_FORTIFY_SOURCE=2 \
- -L"$M_LOCAL/lib/" -Wl,-rpath,"$M_LOCAL/lib/" &>> "$M_LOGS/openssl.txt"; error
-
- make depend &>> "$M_LOGS/openssl.txt"; error
- make &>> "$M_LOGS/openssl.txt"; error
- make install &>> "$M_LOGS/openssl.txt"; error
-
- # Fool Autotools checks into thinking this is a normal OpenSSL install (e.g., ClamAV)
- if [ ! -d lib ]; then ln -s `pwd` lib ; fi
- ;;
- openssl-check)
- cd "$M_SOURCES/openssl"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make test &>> "$M_LOGS/openssl.txt"; error
- ;;
- openssl-check-full)
- cd "$M_SOURCES/openssl"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make test &>> "$M_LOGS/openssl.txt"; error
- ;;
- openssl-clean)
- cd "$M_SOURCES/openssl"; error
- make clean &>> "$M_LOGS/openssl.txt"; error
- ;;
- openssl-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/openssl.txt"; error
- ;;
- openssl-log)
- cat "$M_LOGS/openssl.txt"; error
- ;;
- openssl)
- openssl "openssl-extract"
- openssl "openssl-prep"
- openssl "openssl-build"
- if [ "$QUICK" != "yes" ]; then openssl "openssl-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/openssl.txt"
-
- return $?
+ if [[ $1 == "openssl-extract" ]]; then
+ rm -f "$M_LOGS/openssl.txt"; error
+ elif [[ $1 != "openssl-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/openssl.txt"
+ fi
+
+ case "$1" in
+ openssl-extract)
+ extract $OPENSSL "openssl" &>> "$M_LOGS/openssl.txt"
+ ;;
+ openssl-prep)
+ cd "$M_SOURCES/openssl"; error
+ if [[ $OPENSSL =~ "openssl-1.0.2" ]]; then
+ cat "$M_PATCHES/openssl/"1.0.2_curve25519_ed25519.patch | patch -p1 --verbose &>> "$M_LOGS/openssl.txt"; error
+ fi
+ ;;
+ openssl-build)
+ # OpenSSL does not use environment variables to pickup additional compiler flags
+ # The -d param specifies the creation of a debug build
+ # See here for reasoning behind openssl-specific linker flags:
+ # https://mta.openssl.org/pipermail/openssl-users/2015-April/001053.html
+ cd "$M_SOURCES/openssl"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before openssl.\n"; tput sgr0
+ return 3
+ fi
+
+ grep -E "CentOS Linux release 7|Red Hat Enterprise.*release 7" /etc/system-release >& /dev/null
+ if [ $? == 0 ]; then
+ export CONFIGOPTS='-fno-merge-debug-strings '
+ fi
+
+ ./config -d shared zlib no-asm --prefix="$M_LOCAL" --openssldir="share" --libdir="lib" \
+ -I"$M_LOCAL/include/" -O $CONFIGOPTS -g3 -rdynamic -fPIC -DPURIFY -D_FORTIFY_SOURCE=2 \
+ -L"$M_LOCAL/lib/" -Wl,-rpath,"$M_LOCAL/lib/" &>> "$M_LOGS/openssl.txt"; error
+
+ make depend &>> "$M_LOGS/openssl.txt"; error
+ make &>> "$M_LOGS/openssl.txt"; error
+ make install &>> "$M_LOGS/openssl.txt"; error
+
+ # Fool Autotools checks into thinking this is a normal OpenSSL install (e.g., ClamAV)
+ if [ ! -d lib ]; then ln -s `pwd` lib ; fi
+ ;;
+ openssl-check)
+ cd "$M_SOURCES/openssl"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make test &>> "$M_LOGS/openssl.txt"; error
+ ;;
+ openssl-check-full)
+ cd "$M_SOURCES/openssl"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make test &>> "$M_LOGS/openssl.txt"; error
+ ;;
+ openssl-clean)
+ cd "$M_SOURCES/openssl"; error
+ make clean &>> "$M_LOGS/openssl.txt"; error
+ ;;
+ openssl-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/openssl.txt"; error
+ ;;
+ openssl-log)
+ cat "$M_LOGS/openssl.txt"; error
+ ;;
+ openssl)
+ openssl "openssl-extract"
+ openssl "openssl-prep"
+ openssl "openssl-build"
+ if [ "$QUICK" != "yes" ]; then openssl "openssl-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/openssl.txt"
+
+ return $?
}
googtap() {
- if [[ $1 == "googtap-extract" ]]; then
- rm -f "$M_LOGS/googtap.txt"; error
- elif [[ $1 != "googtap-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/googtap.txt"
- fi
-
- case "$1" in
- googtap-extract)
- extract $GOOGTAP "googtap" &>> "$M_LOGS/googtap.txt"
- ;;
- googtap-prep)
- cd "$M_SOURCES/googtap"; error
- ;;
- googtap-build)
- cd "$M_SOURCES/googtap"; error
- ;;
- googtap-check)
- cd "$M_SOURCES/googtap"; error
- ;;
- googtap-check-full)
- cd "$M_SOURCES/googtap"; error
- ;;
- googtap-clean)
- cd "$M_SOURCES/googtap"; error
- ;;
- googtap-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/googtap.txt"; error
- ;;
- googtap-log)
- cat "$M_LOGS/googtap.txt"; error
- ;;
- googtap)
- googtap "googtap-extract"
- googtap "googtap-prep"
- googtap "googtap-build"
- if [ "$QUICK" != "yes" ]; then googtap "googtap-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/googtap.txt"
-
- return $?
+ if [[ $1 == "googtap-extract" ]]; then
+ rm -f "$M_LOGS/googtap.txt"; error
+ elif [[ $1 != "googtap-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/googtap.txt"
+ fi
+
+ case "$1" in
+ googtap-extract)
+ extract $GOOGTAP "googtap" &>> "$M_LOGS/googtap.txt"
+ ;;
+ googtap-prep)
+ cd "$M_SOURCES/googtap"; error
+ ;;
+ googtap-build)
+ cd "$M_SOURCES/googtap"; error
+ ;;
+ googtap-check)
+ cd "$M_SOURCES/googtap"; error
+ ;;
+ googtap-check-full)
+ cd "$M_SOURCES/googtap"; error
+ ;;
+ googtap-clean)
+ cd "$M_SOURCES/googtap"; error
+ ;;
+ googtap-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/googtap.txt"; error
+ ;;
+ googtap-log)
+ cat "$M_LOGS/googtap.txt"; error
+ ;;
+ googtap)
+ googtap "googtap-extract"
+ googtap "googtap-prep"
+ googtap "googtap-build"
+ if [ "$QUICK" != "yes" ]; then googtap "googtap-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/googtap.txt"
+
+ return $?
}
googtest() {
- if [[ $1 == "googtest-extract" ]]; then
- rm -f "$M_LOGS/googtest.txt"; error
- elif [[ $1 != "googtest-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/googtest.txt"
- fi
-
- case "$1" in
- googtest-extract)
- extract $GOOGTEST "googtest" &>> "$M_LOGS/googtest.txt"
- ;;
- googtest-prep)
- cd "$M_SOURCES/googtest"; error
- ;;
- googtest-build)
- cd "$M_SOURCES/googtest"; error
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CXXFLAGS"
-
- autoreconf --install &>> "$M_LOGS/googtest.txt"; error
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/googtest.txt"; error
-
- unset CFLAGS; unset CXXFLAGS
-
- make &>> "$M_LOGS/googtest.txt"; error
- ;;
- googtest-check)
- cd "$M_SOURCES/googtest"; error
- make check &>> "$M_LOGS/googtest.txt"; error
-
- if [ ! -d build ]; then mkdir build ; error ; fi
- cd build; error
-
- cmake -Dgtest_build_samples=ON "$M_SOURCES/googtest" &>> "$M_LOGS/googtest.txt"; error
- make &>> "$M_LOGS/googtest.txt"; error
- ./sample1_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample2_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample3_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample4_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample5_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample6_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample7_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample8_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample9_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample10_unittest &>> "$M_LOGS/googtest.txt"; error
- ;;
- googtest-check-full)
- cd "$M_SOURCES/googtest"; error
- make check &>> "$M_LOGS/googtest.txt"; error
-
- if [ ! -d build ]; then mkdir build ; error ; fi
- cd build; error
-
- cmake -Dgtest_build_samples=ON "$M_SOURCES/googtest" &>> "$M_LOGS/googtest.txt"; error
- make &>> "$M_LOGS/googtest.txt"; error
- ./sample1_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample2_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample3_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample4_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample5_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample6_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample7_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample8_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample9_unittest &>> "$M_LOGS/googtest.txt"; error
- ./sample10_unittest &>> "$M_LOGS/googtest.txt"; error
- ;;
- googtest-clean)
- cd "$M_SOURCES/googtest"; error
- make clean &>> "$M_LOGS/googtest.txt"; error
- ;;
- googtest-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/googtest.txt"; error
- ;;
- googtest-log)
- cat "$M_LOGS/googtest.txt"; error
- ;;
- googtest)
- googtest "googtest-extract"
- googtest "googtest-prep"
- googtest "googtest-build"
- if [ "$QUICK" != "yes" ]; then googtest "googtest-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/googtest.txt"
-
- return $?
+ if [[ $1 == "googtest-extract" ]]; then
+ rm -f "$M_LOGS/googtest.txt"; error
+ elif [[ $1 != "googtest-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/googtest.txt"
+ fi
+
+ case "$1" in
+ googtest-extract)
+ extract $GOOGTEST "googtest" &>> "$M_LOGS/googtest.txt"
+ ;;
+ googtest-prep)
+ cd "$M_SOURCES/googtest"; error
+ ;;
+ googtest-build)
+ cd "$M_SOURCES/googtest"; error
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CXXFLAGS"
+
+ autoreconf --install &>> "$M_LOGS/googtest.txt"; error
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/googtest.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS
+
+ make &>> "$M_LOGS/googtest.txt"; error
+ ;;
+ googtest-check)
+ cd "$M_SOURCES/googtest"; error
+ make check &>> "$M_LOGS/googtest.txt"; error
+
+ if [ ! -d build ]; then mkdir build ; error ; fi
+ cd build; error
+
+ cmake -Dgtest_build_samples=ON "$M_SOURCES/googtest" &>> "$M_LOGS/googtest.txt"; error
+ make &>> "$M_LOGS/googtest.txt"; error
+ ./sample1_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample2_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample3_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample4_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample5_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample6_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample7_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample8_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample9_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample10_unittest &>> "$M_LOGS/googtest.txt"; error
+ ;;
+ googtest-check-full)
+ cd "$M_SOURCES/googtest"; error
+ make check &>> "$M_LOGS/googtest.txt"; error
+
+ if [ ! -d build ]; then mkdir build ; error ; fi
+ cd build; error
+
+ cmake -Dgtest_build_samples=ON "$M_SOURCES/googtest" &>> "$M_LOGS/googtest.txt"; error
+ make &>> "$M_LOGS/googtest.txt"; error
+ ./sample1_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample2_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample3_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample4_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample5_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample6_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample7_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample8_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample9_unittest &>> "$M_LOGS/googtest.txt"; error
+ ./sample10_unittest &>> "$M_LOGS/googtest.txt"; error
+ ;;
+ googtest-clean)
+ cd "$M_SOURCES/googtest"; error
+ make clean &>> "$M_LOGS/googtest.txt"; error
+ ;;
+ googtest-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/googtest.txt"; error
+ ;;
+ googtest-log)
+ cat "$M_LOGS/googtest.txt"; error
+ ;;
+ googtest)
+ googtest "googtest-extract"
+ googtest "googtest-prep"
+ googtest "googtest-build"
+ if [ "$QUICK" != "yes" ]; then googtest "googtest-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/googtest.txt"
+
+ return $?
}
jansson() {
- if [[ $1 == "jansson-extract" ]]; then
- rm -f "$M_LOGS/jansson.txt"; error
- elif [[ $1 != "jansson-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/jansson.txt"
- fi
-
- case "$1" in
- jansson-extract)
- extract $JANSSON "jansson" &>> "$M_LOGS/jansson.txt"
- ;;
- jansson-prep)
- cd "$M_SOURCES/jansson"; error
- cat "$M_PATCHES/jansson/"jansson-version.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
- if [ -e "/usr/bin/sphinx-1.0-build" ]; then
- cat "$M_PATCHES/jansson/"jansson-sphinx.patch | patch -p3 --batch &>> "$M_LOGS/jansson.txt"; error
- fi
- echo "$M_PATCHES/jansson/"jansson-inlines.patch &>> "$M_LOGS/jansson.txt"; error
- cat "$M_PATCHES/jansson/"jansson-inlines.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
- echo "$M_PATCHES/jansson/"jansson-optional-params.patch &>> "$M_LOGS/jansson.txt"; error
- cat "$M_PATCHES/jansson/"jansson-optional-params.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
- echo "$M_PATCHES/jansson/"jansson-typeof-string.patch &>> "$M_LOGS/jansson.txt"; error
- cat "$M_PATCHES/jansson/"jansson-typeof-string.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
- echo "$M_PATCHES/jansson/"jansson-error-text-length.patch &>> "$M_LOGS/jansson.txt"; error
- cat "$M_PATCHES/jansson/"jansson-error-text-length.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
- ;;
- jansson-build)
- cd "$M_SOURCES/jansson"; error
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CPPFLAGS"
-
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/jansson.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
-
- make &>> "$M_LOGS/jansson.txt"; error
- if [ -e "/usr/bin/sphinx-1.0-build" ] || [ -e "/usr/bin/sphinx-build" ]; then
- make html &>> "$M_LOGS/jansson.txt"; error
- fi
- make install &>> "$M_LOGS/jansson.txt"; error
- ;;
- jansson-check)
- cd "$M_SOURCES/jansson"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/jansson.txt"; error
- ;;
- jansson-check-full)
- cd "$M_SOURCES/jansson"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/jansson.txt"; error
- ;;
- jansson-clean)
- cd "$M_SOURCES/jansson"; error
- make clean &>> "$M_LOGS/jansson.txt"; error
- ;;
- jansson-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/jansson.txt"; error
- ;;
- jansson-log)
- cat "$M_LOGS/jansson.txt"; error
- ;;
- jansson)
- jansson "jansson-extract"
- jansson "jansson-prep"
- jansson "jansson-build"
- if [ "$QUICK" != "yes" ]; then jansson "jansson-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/jansson.txt"
-
- return $?
+ if [[ $1 == "jansson-extract" ]]; then
+ rm -f "$M_LOGS/jansson.txt"; error
+ elif [[ $1 != "jansson-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/jansson.txt"
+ fi
+
+ case "$1" in
+ jansson-extract)
+ extract $JANSSON "jansson" &>> "$M_LOGS/jansson.txt"
+ ;;
+ jansson-prep)
+ cd "$M_SOURCES/jansson"; error
+ cat "$M_PATCHES/jansson/"jansson-version.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
+ if [ -e "/usr/bin/sphinx-1.0-build" ]; then
+ cat "$M_PATCHES/jansson/"jansson-sphinx.patch | patch -p3 --batch &>> "$M_LOGS/jansson.txt"; error
+ fi
+ echo "$M_PATCHES/jansson/"jansson-inlines.patch &>> "$M_LOGS/jansson.txt"; error
+ cat "$M_PATCHES/jansson/"jansson-inlines.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
+ echo "$M_PATCHES/jansson/"jansson-optional-params.patch &>> "$M_LOGS/jansson.txt"; error
+ cat "$M_PATCHES/jansson/"jansson-optional-params.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
+ echo "$M_PATCHES/jansson/"jansson-typeof-string.patch &>> "$M_LOGS/jansson.txt"; error
+ cat "$M_PATCHES/jansson/"jansson-typeof-string.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
+ echo "$M_PATCHES/jansson/"jansson-error-text-length.patch &>> "$M_LOGS/jansson.txt"; error
+ cat "$M_PATCHES/jansson/"jansson-error-text-length.patch | patch -p1 --batch &>> "$M_LOGS/jansson.txt"; error
+ ;;
+ jansson-build)
+ cd "$M_SOURCES/jansson"; error
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 -O $M_CPPFLAGS"
+
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/jansson.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS
+
+ make &>> "$M_LOGS/jansson.txt"; error
+ if [ -e "/usr/bin/sphinx-1.0-build" ] || [ -e "/usr/bin/sphinx-build" ]; then
+ make html &>> "$M_LOGS/jansson.txt"; error
+ fi
+ make install &>> "$M_LOGS/jansson.txt"; error
+ ;;
+ jansson-check)
+ cd "$M_SOURCES/jansson"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/jansson.txt"; error
+ ;;
+ jansson-check-full)
+ cd "$M_SOURCES/jansson"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/jansson.txt"; error
+ ;;
+ jansson-clean)
+ cd "$M_SOURCES/jansson"; error
+ make clean &>> "$M_LOGS/jansson.txt"; error
+ ;;
+ jansson-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/jansson.txt"; error
+ ;;
+ jansson-log)
+ cat "$M_LOGS/jansson.txt"; error
+ ;;
+ jansson)
+ jansson "jansson-extract"
+ jansson "jansson-prep"
+ jansson "jansson-build"
+ if [ "$QUICK" != "yes" ]; then jansson "jansson-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/jansson.txt"
+
+ return $?
}
freetype() {
- if [[ $1 == "freetype-extract" ]]; then
- rm -f "$M_LOGS/freetype.txt"; error
- elif [[ $1 != "freetype-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/freetype.txt"
- fi
-
- case "$1" in
- freetype-extract)
- extract $FREETYPE "freetype" &>> "$M_LOGS/freetype.txt"
- ;;
- freetype-prep)
- cd "$M_SOURCES/freetype"; error
- ;;
- freetype-build)
- cd "$M_SOURCES/freetype"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before freetype.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libpng.so ] || [ ! -f "$M_LDPATH"/libpng.a ] || [ ! -f "$M_PKGPATH"/libpng.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build png before freetype.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libbz2.so ] || [ ! -f "$M_LDPATH"/libbz2.a ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build bzip2 before freetype.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- # We need to override the PNG flags, otherwise the system include files/libraries might be used by mistake.
- export PKG_CONFIG_LIBDIR="$M_PKGPATH"
- export LIBPNG_LIBS=" `pkg-config --libs libpng` "
- export LIBPNG_CFLAGS=" `pkg-config --cflags libpng` "
- unset PKG_CONFIG_LIBDIR
-
- ./configure --prefix="$M_LOCAL" --without-harfbuzz &>> "$M_LOGS/freetype.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset LIBPNG_LIBS; unset LIBPNG_CFLAGS
-
- make --jobs=4 &>> "$M_LOGS/freetype.txt"; error
- make install &>> "$M_LOGS/freetype.txt"; error
- ;;
- freetype-check)
- cd "$M_SOURCES/freetype"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/freetype.txt"; error
- ;;
- freetype-check-full)
- cd "$M_SOURCES/freetype"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/freetype.txt"; error
- ;;
- freetype-clean)
- cd "$M_SOURCES/freetype"; error
- make clean &>> "$M_LOGS/freetype.txt"; error
- ;;
- freetype-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/freetype.txt"; error
- ;;
- freetype-log)
- cat "$M_LOGS/freetype.txt"; error
- ;;
- freetype)
- freetype "freetype-extract"
- freetype "freetype-prep"
- freetype "freetype-build"
- if [ "$QUICK" != "yes" ]; then freetype "freetype-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/freetype.txt"
-
- return $?
+ if [[ $1 == "freetype-extract" ]]; then
+ rm -f "$M_LOGS/freetype.txt"; error
+ elif [[ $1 != "freetype-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/freetype.txt"
+ fi
+
+ case "$1" in
+ freetype-extract)
+ extract $FREETYPE "freetype" &>> "$M_LOGS/freetype.txt"
+ ;;
+ freetype-prep)
+ cd "$M_SOURCES/freetype"; error
+ ;;
+ freetype-build)
+ cd "$M_SOURCES/freetype"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before freetype.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libpng.so ] || [ ! -f "$M_LDPATH"/libpng.a ] || [ ! -f "$M_PKGPATH"/libpng.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build png before freetype.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libbz2.so ] || [ ! -f "$M_LDPATH"/libbz2.a ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build bzip2 before freetype.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ # We need to override the PNG flags, otherwise the system include files/libraries might be used by mistake.
+ export PKG_CONFIG_LIBDIR="$M_PKGPATH"
+ export LIBPNG_LIBS=" `pkg-config --libs libpng` "
+ export LIBPNG_CFLAGS=" `pkg-config --cflags libpng` "
+ unset PKG_CONFIG_LIBDIR
+
+ ./configure --prefix="$M_LOCAL" --without-harfbuzz &>> "$M_LOGS/freetype.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS; unset LIBPNG_LIBS; unset LIBPNG_CFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/freetype.txt"; error
+ make install &>> "$M_LOGS/freetype.txt"; error
+ ;;
+ freetype-check)
+ cd "$M_SOURCES/freetype"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/freetype.txt"; error
+ ;;
+ freetype-check-full)
+ cd "$M_SOURCES/freetype"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/freetype.txt"; error
+ ;;
+ freetype-clean)
+ cd "$M_SOURCES/freetype"; error
+ make clean &>> "$M_LOGS/freetype.txt"; error
+ ;;
+ freetype-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/freetype.txt"; error
+ ;;
+ freetype-log)
+ cat "$M_LOGS/freetype.txt"; error
+ ;;
+ freetype)
+ freetype "freetype-extract"
+ freetype "freetype-prep"
+ freetype "freetype-build"
+ if [ "$QUICK" != "yes" ]; then freetype "freetype-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/freetype.txt"
+
+ return $?
}
utf8proc() {
- if [[ $1 == "utf8proc-extract" ]]; then
- rm -f "$M_LOGS/utf8proc.txt"; error
- elif [[ $1 != "utf8proc-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/utf8proc.txt"
- fi
-
- case "$1" in
- utf8proc-extract)
- extract $UTF8PROC "utf8proc" &>> "$M_LOGS/utf8proc.txt"
- tar xzvf "$M_ARCHIVES/$UTF8PROCTEST.tar.gz" --directory="$M_SOURCES/utf8proc/data" &>> "$M_LOGS/utf8proc.txt"; error
- ;;
- utf8proc-prep)
- cd "$M_SOURCES/utf8proc"; error
- if [[ $UTF8PROC =~ "utf8proc-1.3.1" ]]; then
- cat "$M_PATCHES/utf8proc/"utf8proc.release.version.patch | patch -p1 --verbose &>> "$M_LOGS/utf8proc.txt"; error
- fi
- ;;
- utf8proc-build)
- cd "$M_SOURCES/utf8proc"; error
-
- if [ `which curl &> /dev/null; echo $?` != 0 ] && [ ! -f "$M_BNPATH"/curl ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build curl before utf8proc.\n"; tput sgr0
- return 3
- elif [ `which curl &> /dev/null; echo $?` != 0 ]; then
- alias curl="$M_BNPATH"/curl
- fi
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
-
- make prefix="$M_LOCAL" &>> "$M_LOGS/utf8proc.txt"; error
- make prefix="$M_LOCAL" install &>> "$M_LOGS/utf8proc.txt"; error
-
- unset CFLAGS;
- ;;
- utf8proc-check)
- cd "$M_SOURCES/utf8proc"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/utf8proc.txt"; error
- ;;
- utf8proc-check-full)
- cd "$M_SOURCES/utf8proc"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/utf8proc.txt"; error
- ;;
- utf8proc-clean)
- cd "$M_SOURCES/utf8proc"; error
- make clean &>> "$M_LOGS/utf8proc.txt"; error
- ;;
- utf8proc-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/utf8proc.txt"; error
- ;;
- utf8proc-log)
- cat "$M_LOGS/utf8proc.txt"; error
- ;;
- utf8proc)
- utf8proc "utf8proc-extract"
- utf8proc "utf8proc-prep"
- utf8proc "utf8proc-build"
- utf8proc "utf8proc-check"
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/spf2.txt"
-
- return $?
+ if [[ $1 == "utf8proc-extract" ]]; then
+ rm -f "$M_LOGS/utf8proc.txt"; error
+ elif [[ $1 != "utf8proc-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/utf8proc.txt"
+ fi
+
+ case "$1" in
+ utf8proc-extract)
+ extract $UTF8PROC "utf8proc" &>> "$M_LOGS/utf8proc.txt"
+ tar xzvf "$M_ARCHIVES/$UTF8PROCTEST.tar.gz" --directory="$M_SOURCES/utf8proc/data" &>> "$M_LOGS/utf8proc.txt"; error
+ ;;
+ utf8proc-prep)
+ cd "$M_SOURCES/utf8proc"; error
+ if [[ $UTF8PROC =~ "utf8proc-1.3.1" ]]; then
+ cat "$M_PATCHES/utf8proc/"utf8proc.release.version.patch | patch -p1 --verbose &>> "$M_LOGS/utf8proc.txt"; error
+ fi
+ ;;
+ utf8proc-build)
+ cd "$M_SOURCES/utf8proc"; error
+
+ if [ `which curl &> /dev/null; echo $?` != 0 ] && [ ! -f "$M_BNPATH"/curl ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build curl before utf8proc.\n"; tput sgr0
+ return 3
+ elif [ `which curl &> /dev/null; echo $?` != 0 ]; then
+ alias curl="$M_BNPATH"/curl
+ fi
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+
+ make prefix="$M_LOCAL" &>> "$M_LOGS/utf8proc.txt"; error
+ make prefix="$M_LOCAL" install &>> "$M_LOGS/utf8proc.txt"; error
+
+ unset CFLAGS;
+ ;;
+ utf8proc-check)
+ cd "$M_SOURCES/utf8proc"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/utf8proc.txt"; error
+ ;;
+ utf8proc-check-full)
+ cd "$M_SOURCES/utf8proc"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/utf8proc.txt"; error
+ ;;
+ utf8proc-clean)
+ cd "$M_SOURCES/utf8proc"; error
+ make clean &>> "$M_LOGS/utf8proc.txt"; error
+ ;;
+ utf8proc-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/utf8proc.txt"; error
+ ;;
+ utf8proc-log)
+ cat "$M_LOGS/utf8proc.txt"; error
+ ;;
+ utf8proc)
+ utf8proc "utf8proc-extract"
+ utf8proc "utf8proc-prep"
+ utf8proc "utf8proc-build"
+ utf8proc "utf8proc-check"
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/spf2.txt"
+
+ return $?
}
memcached() {
- if [[ $1 == "memcached-extract" ]]; then
- rm -f "$M_LOGS/memcached.txt"; error
- elif [[ $1 != "memcached-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/memcached.txt"
- fi
-
- case "$1" in
- memcached-extract)
- extract $MEMCACHED "memcached" &>> "$M_LOGS/memcached.txt"
- ;;
- memcached-prep)
- cd "$M_SOURCES/memcached"; error
- if [[ $MEMCACHED == "libmemcached-0.50" ]]; then
- cat "$M_PATCHES/memcached/951_950.diff" | patch -p0 -verbose &>> "$M_LOGS/memcached.txt"; error;
- elif [[ $MEMCACHED == "libmemcached-1.0.8" ]]; then
- # Add the shutdown and clean up functions.
- cat "$M_PATCHES/memcached/"srandom_fix.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
- else
- # Fix memcached memory function unit tests.
- cat "$M_PATCHES/memcached/"memfunction_test_fix_1.0.18.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
- # Disable portable instruction executables so profiling capable builds work properly. Technically this is only
- # needed so "-pg" can be used, even though the "-pg" flag isn't enabled by default.
- cat "$M_PATCHES/memcached/"configure_1.0.18.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
- # On some IPv6 systems localhost resolves to ::1 which results in the memcached binary getting port binding failures,
- # and without a server to test against, the unit tests will fail.
- cat "$M_PATCHES/memcached/"1.0.18_fix_ipv6_and_udp_test_failures.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
- fi
- ;;
- memcached-build)
- cd "$M_SOURCES/memcached"; error
-
- # The libmemcached code (as of version 1.0.18) includes comparisons between integers and pointers. This violates
- # the ISO C++ standard, which means conformant compilers will fail without the -fpermissive command line option.
- printf "\n#include <stdlib.h>\n\nint main(int argc, char *argv[]) { return 0; }\n\n" | gcc -o /dev/null -x c++ -fpermissive - &> /dev/null
- if [ $? -eq 0 ]; then
- M_EXTRA="-fpermissive"
- else
- M_EXTRA=""
- fi
-
- export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_EXTRA $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_EXTRA $M_CPPFLAGS"
-
- # Recent versions of gcc require libmemcached to be explicitly linked with libm.so and libstdc++.so, and configure
- # doesn't appear to include these libraries automatically.
- export LIBS="-lm -lstdc++"
-
- # For some reason, the unit tests will fail if this environment variable is configured.
- unset MEMCACHED_SERVERS
-
- # export GEARMAND_BINARY="/usr/local/sbin/gearmand"
- # export MEMCACHED_BINARY="/usr/local/bin/memcached"
- # --with-memcached="/usr/local/bin/memcached"
-
- # Options used for 1.0.3+
- ./configure --disable-silent-rules --disable-dtrace --disable-sasl --enable-static --enable-shared --with-pic \
- --prefix="$M_LOCAL" &>> "$M_LOGS/memcached.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LIBS; unset M_EXTRA
- # unset GEARMAND_BINARY; unset MEMCACHED_BINARY
-
- make --jobs=4 &>> "$M_LOGS/memcached.txt"; error
- make install &>> "$M_LOGS/memcached.txt"; error
- ;;
- memcached-check)
- cd "$M_SOURCES/memcached"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
-
- # For some reason, the unit tests will fail when using this environment variable to find the memcached server.
- unset MEMCACHED_SERVERS
-
- # Doesn't appear to be necessary anymore...
- #rm -vf /tmp/memcached.pid* &>> "$M_LOGS/memcached.txt"; error
-
- # For some reason the included version of memcached is being used and causing the unit tests to fail, so overwrite the binary
- #cp /usr/local/bin/memcached "$M_SOURCES/memcached/memcached"
-
- make check &>> "$M_LOGS/memcached.txt"; error
- ;;
- memcached-check-full)
- cd "$M_SOURCES/memcached"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
-
- # For some reason, the unit tests will fail when using this environment variable to find the memcached server.
- unset MEMCACHED_SERVERS
-
- # Doesn't appear to be necessary anymore...
- #rm -vf /tmp/memcached.pid* &>> "$M_LOGS/memcached.txt"; error
-
- make check &>> "$M_LOGS/memcached.txt"; error
- make valgrind &>> "$M_LOGS/memcached.txt"; error
- make helgrind &>> "$M_LOGS/memcached.txt"; error
- make drd &>> "$M_LOGS/memcached.txt"; error
- ;;
- memcached-clean)
- cd "$M_SOURCES/memcached"; error
- make clean &>> "$M_LOGS/memcached.txt"; error
- ;;
- memcached-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/memcached.txt"; error
- ;;
- memcached-log)
- cat "$M_LOGS/memcached.txt"; error
- ;;
- memcached)
- memcached "memcached-extract"
- memcached "memcached-prep"
- memcached "memcached-build"
- if [ "$QUICK" != "yes" ]; then memcached "memcached-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/memcached.txt"
-
- return $?
+ if [[ $1 == "memcached-extract" ]]; then
+ rm -f "$M_LOGS/memcached.txt"; error
+ elif [[ $1 != "memcached-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/memcached.txt"
+ fi
+
+ case "$1" in
+ memcached-extract)
+ extract $MEMCACHED "memcached" &>> "$M_LOGS/memcached.txt"
+ ;;
+ memcached-prep)
+ cd "$M_SOURCES/memcached"; error
+ if [[ $MEMCACHED == "libmemcached-0.50" ]]; then
+ cat "$M_PATCHES/memcached/951_950.diff" | patch -p0 -verbose &>> "$M_LOGS/memcached.txt"; error;
+ elif [[ $MEMCACHED == "libmemcached-1.0.8" ]]; then
+ # Add the shutdown and clean up functions.
+ cat "$M_PATCHES/memcached/"srandom_fix.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
+ else
+ # Fix memcached memory function unit tests.
+ cat "$M_PATCHES/memcached/"memfunction_test_fix_1.0.18.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
+ # Disable portable instruction executables so profiling capable builds work properly. Technically this is only
+ # needed so "-pg" can be used, even though the "-pg" flag isn't enabled by default.
+ cat "$M_PATCHES/memcached/"configure_1.0.18.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
+ # On some IPv6 systems localhost resolves to ::1 which results in the memcached binary getting port binding failures,
+ # and without a server to test against, the unit tests will fail.
+ cat "$M_PATCHES/memcached/"1.0.18_fix_ipv6_and_udp_test_failures.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
+ # Fix the return code comparison for the missing binary unit test.
+ cat "$M_PATCHES/memcached/"1.0.18_fix_unittest_doesnotexist.patch | patch -p1 --verbose &>> "$M_LOGS/memcached.txt"; error
+ fi
+ ;;
+ memcached-build)
+ cd "$M_SOURCES/memcached"; error
+
+ # The libmemcached code (as of version 1.0.18) includes comparisons between integers and pointers. This violates
+ # the ISO C++ standard, which means conformant compilers will fail without the -fpermissive command line option.
+ printf "\n#include <stdlib.h>\n\nint main(int argc, char *argv[]) { return 0; }\n\n" | gcc -o /dev/null -x c++ -fpermissive - &> /dev/null
+ if [ $? -eq 0 ]; then
+ M_EXTRA="-fpermissive"
+ else
+ M_EXTRA=""
+ fi
+
+ export CFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_EXTRA $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_EXTRA $M_CPPFLAGS"
+
+ # Recent versions of gcc require libmemcached to be explicitly linked with libm.so and libstdc++.so, and configure
+ # doesn't appear to include these libraries automatically.
+ export LIBS="-lm -lstdc++"
+
+ # For some reason, the unit tests will fail if this environment variable is configured.
+ unset MEMCACHED_SERVERS
+
+ # export GEARMAND_BINARY="/usr/local/sbin/gearmand"
+ # export MEMCACHED_BINARY="/usr/local/bin/memcached"
+ # --with-memcached="/usr/local/bin/memcached"
+
+ # Options used for 1.0.3+
+ ./configure --disable-silent-rules --disable-dtrace --disable-sasl --enable-static --enable-shared --with-pic \
+ --prefix="$M_LOCAL" &>> "$M_LOGS/memcached.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LIBS; unset M_EXTRA
+ # unset GEARMAND_BINARY; unset MEMCACHED_BINARY
+
+ make --jobs=4 &>> "$M_LOGS/memcached.txt"; error
+ make install &>> "$M_LOGS/memcached.txt"; error
+ ;;
+ memcached-check)
+ cd "$M_SOURCES/memcached"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+
+ # For some reason, the unit tests will fail when using this environment variable to find the memcached server.
+ unset MEMCACHED_SERVERS
+
+ # Doesn't appear to be necessary anymore...
+ #rm -vf /tmp/memcached.pid* &>> "$M_LOGS/memcached.txt"; error
+
+ # For some reason the included version of memcached is being used and causing the unit tests to fail, so overwrite the binary
+ #cp /usr/local/bin/memcached "$M_SOURCES/memcached/memcached"
+
+ make check &>> "$M_LOGS/memcached.txt"; error
+ ;;
+ memcached-check-full)
+ cd "$M_SOURCES/memcached"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+
+ # For some reason, the unit tests will fail when using this environment variable to find the memcached server.
+ unset MEMCACHED_SERVERS
+
+ # Doesn't appear to be necessary anymore...
+ #rm -vf /tmp/memcached.pid* &>> "$M_LOGS/memcached.txt"; error
+
+ make check &>> "$M_LOGS/memcached.txt"; error
+ make valgrind &>> "$M_LOGS/memcached.txt"; error
+ make helgrind &>> "$M_LOGS/memcached.txt"; error
+ make drd &>> "$M_LOGS/memcached.txt"; error
+ ;;
+ memcached-clean)
+ cd "$M_SOURCES/memcached"; error
+ make clean &>> "$M_LOGS/memcached.txt"; error
+ ;;
+ memcached-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/memcached.txt"; error
+ ;;
+ memcached-log)
+ cat "$M_LOGS/memcached.txt"; error
+ ;;
+ memcached)
+ memcached "memcached-extract"
+ memcached "memcached-prep"
+ memcached "memcached-build"
+ if [ "$QUICK" != "yes" ]; then memcached "memcached-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/memcached.txt"
+
+ return $?
}
tokyocabinet() {
- if [[ $1 == "tokyocabinet-extract" ]]; then
- rm -f "$M_LOGS/tokyocabinet.txt"; error
- elif [[ $1 != "tokyocabinet-log" ]]; then
- date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/tokyocabinet.txt"
- fi
-
- case "$1" in
- tokyocabinet-extract)
- extract $TOKYOCABINET "tokyocabinet" &>> "$M_LOGS/tokyocabinet.txt"
- ;;
- tokyocabinet-prep)
- cd "$M_SOURCES/tokyocabinet" &>> "$M_LOGS/tokyocabinet.txt"; error
-
- # Adds tctreegetboth() and tcndbgetboth().
- cat "$M_PATCHES/tokyocabinet/"getboth.patch | patch -p1 --verbose &>> "$M_LOGS/tokyocabinet.txt"; error
- cat "$M_PATCHES/tokyocabinet/"tcndbdup.patch | patch -p3 --verbose &>> "$M_LOGS/tokyocabinet.txt"; error
- cat "$M_PATCHES/tokyocabinet/"fileopts.patch | patch -p3 --verbose &>> "$M_LOGS/tokyocabinet.txt"; error
- ;;
- tokyocabinet-build)
- cd "$M_SOURCES/tokyocabinet"; error
-
- if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build zlib before tokyocabinet.\n"; tput sgr0
- return 3
- fi
-
- if [ ! -f "$M_LDPATH"/libbz2.so ] || [ ! -f "$M_LDPATH"/libbz2.a ]; then
- tput sgr0; tput setaf 3; printf "\nPlease build bzip2 before tokyocabinet.\n"; tput sgr0
- return 3
- fi
-
- export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
- export CFLAGS="$M_SYM_INCLUDES-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
- export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
- export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
-
- ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/tokyocabinet.txt"; error
-
- unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
-
- make --jobs=4 &>> "$M_LOGS/tokyocabinet.txt"; error
- make install &>> "$M_LOGS/tokyocabinet.txt"; error
- ;;
- tokyocabinet-check)
- cd "$M_SOURCES/tokyocabinet"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/tokyocabinet.txt"; error
- ;;
- tokyocabinet-check-full)
- cd "$M_SOURCES/tokyocabinet"; error
- export LD_LIBRARY_PATH="$M_LDPATH"; error
- export PATH="$M_BNPATH:$PATH"; error
- make check &>> "$M_LOGS/tokyocabinet.txt"; error
- make check-valgrind &>> "$M_LOGS/tokyocabinet.txt"; error
- make check-large &>> "$M_LOGS/tokyocabinet.txt"; error
- make check-compare &>> "$M_LOGS/tokyocabinet.txt"; error
- make check-thread &>> "$M_LOGS/tokyocabinet.txt"; error
- make check-race &>> "$M_LOGS/tokyocabinet.txt"; error
- ;;
- tokyocabinet-clean)
- cd "$M_SOURCES/tokyocabinet"; error
- make clean &>> "$M_LOGS/tokyocabinet.txt"; error
- ;;
- tokyocabinet-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/tokyocabinet.txt"; error
- ;;
- tokyocabinet-log)
- cat "$M_LOGS/tokyocabinet.txt"; error
- ;;
- tokyocabinet)
- tokyocabinet "tokyocabinet-extract"
- tokyocabinet "tokyocabinet-prep"
- tokyocabinet "tokyocabinet-build"
- if [ "$QUICK" != "yes" ]; then tokyocabinet "tokyocabinet-check"; fi
- ;;
- *)
- printf "\nUnrecognized request.\n"
- exit 2
- ;;
- esac
-
- date +"Finished $1 at %r on %x"
- date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/tokyocabinet.txt"
-
- return $?
+ if [[ $1 == "tokyocabinet-extract" ]]; then
+ rm -f "$M_LOGS/tokyocabinet.txt"; error
+ elif [[ $1 != "tokyocabinet-log" ]]; then
+ date +"%n%nStarted $1 at %r on %x%n%n" &>> "$M_LOGS/tokyocabinet.txt"
+ fi
+
+ case "$1" in
+ tokyocabinet-extract)
+ extract $TOKYOCABINET "tokyocabinet" &>> "$M_LOGS/tokyocabinet.txt"
+ ;;
+ tokyocabinet-prep)
+ cd "$M_SOURCES/tokyocabinet" &>> "$M_LOGS/tokyocabinet.txt"; error
+
+ # Adds tctreegetboth() and tcndbgetboth().
+ cat "$M_PATCHES/tokyocabinet/"getboth.patch | patch -p1 --verbose &>> "$M_LOGS/tokyocabinet.txt"; error
+ cat "$M_PATCHES/tokyocabinet/"tcndbdup.patch | patch -p3 --verbose &>> "$M_LOGS/tokyocabinet.txt"; error
+ cat "$M_PATCHES/tokyocabinet/"fileopts.patch | patch -p3 --verbose &>> "$M_LOGS/tokyocabinet.txt"; error
+ ;;
+ tokyocabinet-build)
+ cd "$M_SOURCES/tokyocabinet"; error
+
+ if [ ! -f "$M_LDPATH"/libz.so ] || [ ! -f "$M_LDPATH"/libz.a ] || [ ! -f "$M_PKGPATH"/zlib.pc ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build zlib before tokyocabinet.\n"; tput sgr0
+ return 3
+ fi
+
+ if [ ! -f "$M_LDPATH"/libbz2.so ] || [ ! -f "$M_LDPATH"/libbz2.a ]; then
+ tput sgr0; tput setaf 3; printf "\nPlease build bzip2 before tokyocabinet.\n"; tput sgr0
+ return 3
+ fi
+
+ export LDFLAGS="-L$M_LDPATH -Wl,-rpath,$M_LDPATH $M_LDFLAGS"
+ export CFLAGS="$M_SYM_INCLUDES-fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CFLAGS"
+ export CXXFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CXXFLAGS"
+ export CPPFLAGS="$M_SYM_INCLUDES -fPIC -g3 -rdynamic -D_FORTIFY_SOURCE=2 $M_CPPFLAGS"
+
+ ./configure --prefix="$M_LOCAL" &>> "$M_LOGS/tokyocabinet.txt"; error
+
+ unset CFLAGS; unset CXXFLAGS; unset CPPFLAGS; unset LDFLAGS
+
+ make --jobs=4 &>> "$M_LOGS/tokyocabinet.txt"; error
+ make install &>> "$M_LOGS/tokyocabinet.txt"; error
+ ;;
+ tokyocabinet-check)
+ cd "$M_SOURCES/tokyocabinet"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/tokyocabinet.txt"; error
+ ;;
+ tokyocabinet-check-full)
+ cd "$M_SOURCES/tokyocabinet"; error
+ export LD_LIBRARY_PATH="$M_LDPATH"; error
+ export PATH="$M_BNPATH:$PATH"; error
+ make check &>> "$M_LOGS/tokyocabinet.txt"; error
+ make check-valgrind &>> "$M_LOGS/tokyocabinet.txt"; error
+ make check-large &>> "$M_LOGS/tokyocabinet.txt"; error
+ make check-compare &>> "$M_LOGS/tokyocabinet.txt"; error
+ make check-thread &>> "$M_LOGS/tokyocabinet.txt"; error
+ make check-race &>> "$M_LOGS/tokyocabinet.txt"; error
+ ;;
+ tokyocabinet-clean)
+ cd "$M_SOURCES/tokyocabinet"; error
+ make clean &>> "$M_LOGS/tokyocabinet.txt"; error
+ ;;
+ tokyocabinet-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/tokyocabinet.txt"; error
+ ;;
+ tokyocabinet-log)
+ cat "$M_LOGS/tokyocabinet.txt"; error
+ ;;
+ tokyocabinet)
+ tokyocabinet "tokyocabinet-extract"
+ tokyocabinet "tokyocabinet-prep"
+ tokyocabinet "tokyocabinet-build"
+ if [ "$QUICK" != "yes" ]; then tokyocabinet "tokyocabinet-check"; fi
+ ;;
+ *)
+ printf "\nUnrecognized request.\n"
+ exit 2
+ ;;
+ esac
+
+ date +"Finished $1 at %r on %x"
+ date +"%n%nFinished $1 at %r on %x%n%n" &>> "$M_LOGS/tokyocabinet.txt"
+
+ return $?
}
combine() {
- case "$1" in
- combine-tail)
- tail --lines=30 --follow=name --retry "$M_LOGS/combine.txt"; error
- exit 0
- ;;
- combine-log)
- cat "$M_LOGS/combine.txt"; error
- exit 0
- ;;
- combine-static)
- printf "Creating the static archive... "
- ;;
- *)
- rm -f "$M_SO" &>> "$M_LOGS/combine.txt"; error
- printf "Creating the shared object... "
- ;;
- esac
-
-
- if [[ ! -f "$M_SOURCES/gd/src/.libs/libgd.a" || \
- ! -f "$M_SOURCES/png/.libs/libpng16.a" || \
- ! -f "$M_SOURCES/lzo/src/.libs/liblzo2.a" || \
- ! -f "$M_SOURCES/pcre/.libs/libpcre2-8.a" || \
- ! -f "$M_SOURCES/jpeg/.libs/libjpeg.a" || \
- ! -f "$M_SOURCES/spf2/src/libspf2/.libs/libspf2.a" || \
- ! -f "$M_SOURCES/curl/lib/.libs/libcurl.a" || \
- ! -f "$M_SOURCES/xml2/.libs/libxml2.a" || \
- ! -f "$M_SOURCES/dkim/libopendkim/.libs/libopendkim.a" || \
- ! -f "$M_SOURCES/zlib/libz.a" || \
- ! -f "$M_SOURCES/bzip2/libbz2.a" || \
- ! -f "$M_SOURCES/dspam/src/.libs/libdspam.a" || \
- ! -f "$M_SOURCES/mysql/libmysql_r/.libs/libmysqlclient_r.a" || \
- ! -f "$M_SOURCES/geoip/libGeoIP/.libs/libGeoIP.a" || \
- ! -f "$M_SOURCES/clamav/libclamav/.libs/libclamav.a" || \
- ! -f "$M_SOURCES/clamav/libclamav/.libs/libclamunrar.a" || \
- ! -f "$M_SOURCES/clamav/libclamav/.libs/libclamunrar_iface.a" || \
- ! -f "$M_SOURCES/clamav/libclamav/libmspack-0.5alpha/.libs/libclammspack.a" || \
- ! -f "$M_SOURCES/clamav/libltdl/.libs/libltdlc.a" || \
- ! -f "$M_SOURCES/openssl/libcrypto.a" || \
- ! -f "$M_SOURCES/openssl/libssl.a" || \
- ! -f "$M_SOURCES/jansson/src/.libs/libjansson.a" || \
- ! -f "$M_SOURCES/freetype/objs/.libs/libfreetype.a" || \
- ! -f "$M_SOURCES/utf8proc/libutf8proc.a" || \
- ! -f "$M_SOURCES/memcached/libmemcached/.libs/libmemcached.a" || \
- ! -f "$M_SOURCES/tokyocabinet/libtokyocabinet.a" ]]; then
- printf " a required dependency is missing. \n\nCreate the dependencies by running \"build.lib.sh all\" and then try again."
- tput sgr0; tput setaf 1
- date +"%n%nFinished $COMMAND failed at %r on %x%n"
- tput sgr0
- exit 1
- fi
-
- rm -rf "$M_OBJECTS/gd" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/gd" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/gd" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/gd/src/.libs/libgd.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/png" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/png" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/png" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/png/.libs/libpng16.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/lzo" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/lzo" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/lzo" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/lzo/src/.libs/liblzo2.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/pcre" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/pcre" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/pcre" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/pcre/.libs/libpcre2-8.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/jpeg" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/jpeg" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/jpeg" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/jpeg/.libs/libjpeg.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/spf2" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/spf2" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/spf2" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/spf2/src/libspf2/.libs/libspf2.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/curl" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/curl" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/curl" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/curl/lib/.libs/libcurl.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/xml2" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/xml2" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/xml2" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/xml2/.libs/libxml2.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/dkim" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/dkim" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/dkim" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/dkim/libopendkim/.libs/libopendkim.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/zlib" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/zlib" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/zlib" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/zlib/libz.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/bzip2" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/bzip2" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/bzip2" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/bzip2/libbz2.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/dspam" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/dspam" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/dspam" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/dspam/src/.libs/libdspam.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/mysql" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/mysql" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/mysql" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/mysql/libmysql_r/.libs/libmysqlclient_r.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/geoip" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/geoip" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/geoip" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/geoip/libGeoIP/.libs/libGeoIP.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/clamav" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/clamav" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/clamav" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/clamav/libclamav/.libs/libclamav.a" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/clamav/libltdl/.libs/libltdlc.a" &>> "$M_LOGS/combine.txt"; error
-
- mkdir "$M_OBJECTS/clamav/unrar" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/clamav/unrar" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/clamav/libclamav/.libs/libclamunrar.a" &>> "$M_LOGS/combine.txt"; error
-
- mkdir "$M_OBJECTS/clamav/unrar_iface" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/clamav/unrar_iface" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/clamav/libclamav/.libs/libclamunrar_iface.a" &>> "$M_LOGS/combine.txt"; error
-
- mkdir "$M_OBJECTS/clamav/mspack" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/clamav/mspack" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/clamav/libclamav/libmspack-0.5alpha/.libs/libclammspack.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/crypto" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/crypto" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/crypto" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/openssl/libcrypto.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/ssl" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/ssl" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/ssl" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/openssl/libssl.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/jansson" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/jansson" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/jansson" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/jansson/src/.libs/libjansson.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/freetype" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/freetype" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/freetype" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/freetype/objs/.libs/libfreetype.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/utf8proc" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/utf8proc" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/utf8proc" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/utf8proc/libutf8proc.a" &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/memcached" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/memcached" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/memcached" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/memcached/libmemcached/.libs/libmemcached.a" &>> "$M_LOGS/combine.txt"; error
-
- # If libmemcached is built with Dtrace support, this object file will need to be included.
- # cp "$M_SOURCES/memcached/libmemcached/libmemcached_probes.o" . &>> "$M_LOGS/combine.txt"; error
-
- rm -rf "$M_OBJECTS/tokyocabinet" &>> "$M_LOGS/combine.txt"; error
- mkdir "$M_OBJECTS/tokyocabinet" &>> "$M_LOGS/combine.txt"; error
- cd "$M_OBJECTS/tokyocabinet" &>> "$M_LOGS/combine.txt"; error
- ar xv "$M_SOURCES/tokyocabinet/libtokyocabinet.a" &>> "$M_LOGS/combine.txt"; error
-
- case "$1" in
- combine-static)
- # Commands for creating a static version of the library.
- rm -f "$M_AR"; error
- ar rs "$M_AR" \
- "$M_OBJECTS"/lzo/*.o "$M_OBJECTS"/zlib/*.o \
- "$M_OBJECTS"/bzip2/*.o "$M_OBJECTS"/pcre/*.o \
- "$M_OBJECTS"/clamav/*.o "$M_OBJECTS"/clamav/unrar/*.o \
- "$M_OBJECTS"/clamav/unrar_iface/*.o "$M_OBJECTS"/clamav/mspack/*.o \
- "$M_OBJECTS"/tokyocabinet/*.o "$M_OBJECTS"/crypto/*.o "$M_OBJECTS"/ssl/*.o \
- "$M_OBJECTS"/mysql/*.o "$M_OBJECTS"/xml2/*.o "$M_OBJECTS"/spf2/*.o "$M_OBJECTS"/geoip/*.o \
- "$M_OBJECTS"/curl/*.o "$M_OBJECTS"/memcached/*.o "$M_OBJECTS"/utf8proc/*.o \
- "$M_OBJECTS"/png/*.o "$M_OBJECTS"/jpeg/*.o "$M_OBJECTS"/freetype/*.o "$M_OBJECTS"/gd/*.o \
- "$M_OBJECTS"/dkim/*.o "$M_OBJECTS"/dspam/*.o "$M_OBJECTS"/jansson/*.o &>> "$M_LOGS/combine.txt"; error
- find $M_LOCAL -type f -exec touch {} \;
- date +"%n%nFinished creating the static archive at %r on %x%n"
- ;;
- *)
- rm -f "$M_SO"
- gcc -Wl,-Bsymbolic -g3 -fPIC -rdynamic -shared -o "$M_SO" \
- "$M_OBJECTS"/lzo/*.o "$M_OBJECTS"/zlib/*.o \
- "$M_OBJECTS"/bzip2/*.o "$M_OBJECTS"/pcre/*.o \
- "$M_OBJECTS"/clamav/*.o "$M_OBJECTS"/clamav/unrar/*.o \
- "$M_OBJECTS"/clamav/unrar_iface/*.o "$M_OBJECTS"/clamav/mspack/*.o \
- "$M_OBJECTS"/tokyocabinet/*.o "$M_OBJECTS"/crypto/*.o "$M_OBJECTS"/ssl/*.o \
- "$M_OBJECTS"/mysql/*.o "$M_OBJECTS"/xml2/*.o "$M_OBJECTS"/spf2/*.o "$M_OBJECTS"/geoip/*.o \
- "$M_OBJECTS"/curl/*.o "$M_OBJECTS"/memcached/*.o "$M_OBJECTS"/utf8proc/*.o \
- "$M_OBJECTS"/png/*.o "$M_OBJECTS"/jpeg/*.o "$M_OBJECTS"/freetype/*.o "$M_OBJECTS"/gd/*.o \
- "$M_OBJECTS"/dkim/*.o "$M_OBJECTS"/dspam/*.o "$M_OBJECTS"/jansson/*.o \
- -lm -lrt -ldl -lnsl -lresolv -lpthread -lstdc++ &>> "$M_LOGS/combine.txt"; error
-
- # This will update the time stamps for the various standalone dependencies, which should prevent make from rebuilding them.
- find "$M_LOCAL/include" -type f -exec touch -c -m -r "$M_SO" -d '-1 minutes' {} \;
- find "$M_LDPATH" -type f -iname "libz.a" -or -iname "libz.lib" -exec touch -c -m -r "$M_SO" -d '+2 minutes' {} \;
- find "$M_LDPATH" -type f -iname "libcrypto.a" -or -iname "libcrypto.lib" -exec touch -c -m -r "$M_SO" -d '+4 minutes' {} \;
- find "$M_LDPATH" -type f -iname "libssl.a" -or -iname "libssl.lib" -exec touch -c -m -r "$M_SO" -d '+6 minutes' {} \;
- find "$M_LDPATH" -type f -iname "libutf8proc.a" -or -iname "libutf8proc.lib" -exec touch -c -m -r "$M_SO" -d '+8 minutes' {} \;
- find "$M_LDPATH" -type f -iname "libcheck.a" -or -iname "libcheck.lib" -exec touch -c -m -r "$M_SO" -d '+10 minutes' {} \;
- find "$M_SOURCES/googtest/lib/.libs/" -type f -iname "libgtest.a" -or -iname "libgtest.lib" -exec touch -c -m -r "$M_SO" -d '+12 minutes' {} \;
-
- date +"%n%nFinished creating the shared object at %r on %x%n"
- ;;
- esac
-
- if [ "$MASTER" == "yes" ]; then
- echo ""
- fi
-
- exit 0
-
+ case "$1" in
+ combine-tail)
+ tail --lines=30 --follow=name --retry "$M_LOGS/combine.txt"; error
+ exit 0
+ ;;
+ combine-log)
+ cat "$M_LOGS/combine.txt"; error
+ exit 0
+ ;;
+ combine-static)
+ printf "Creating the static archive... "
+ ;;
+ *)
+ rm -f "$M_SO" &>> "$M_LOGS/combine.txt"; error
+ printf "Creating the shared object... "
+ ;;
+ esac
+
+
+ if [[ ! -f "$M_SOURCES/gd/src/.libs/libgd.a" || \
+ ! -f "$M_SOURCES/png/.libs/libpng16.a" || \
+ ! -f "$M_SOURCES/lzo/src/.libs/liblzo2.a" || \
+ ! -f "$M_SOURCES/pcre/.libs/libpcre2-8.a" || \
+ ! -f "$M_SOURCES/jpeg/.libs/libjpeg.a" || \
+ ! -f "$M_SOURCES/spf2/src/libspf2/.libs/libspf2.a" || \
+ ! -f "$M_SOURCES/curl/lib/.libs/libcurl.a" || \
+ ! -f "$M_SOURCES/xml2/.libs/libxml2.a" || \
+ ! -f "$M_SOURCES/dkim/libopendkim/.libs/libopendkim.a" || \
+ ! -f "$M_SOURCES/zlib/libz.a" || \
+ ! -f "$M_SOURCES/bzip2/libbz2.a" || \
+ ! -f "$M_SOURCES/dspam/src/.libs/libdspam.a" || \
+ ! -f "$M_SOURCES/mysql/libmysql_r/.libs/libmysqlclient_r.a" || \
+ ! -f "$M_SOURCES/geoip/libGeoIP/.libs/libGeoIP.a" || \
+ ! -f "$M_SOURCES/clamav/libclamav/.libs/libclamav.a" || \
+ ! -f "$M_SOURCES/clamav/libclamav/.libs/libclamunrar.a" || \
+ ! -f "$M_SOURCES/clamav/libclamav/.libs/libclamunrar_iface.a" || \
+ ! -f "$M_SOURCES/clamav/libclamav/libmspack-0.5alpha/.libs/libclammspack.a" || \
+ ! -f "$M_SOURCES/clamav/libltdl/.libs/libltdlc.a" || \
+ ! -f "$M_SOURCES/openssl/libcrypto.a" || \
+ ! -f "$M_SOURCES/openssl/libssl.a" || \
+ ! -f "$M_SOURCES/jansson/src/.libs/libjansson.a" || \
+ ! -f "$M_SOURCES/freetype/objs/.libs/libfreetype.a" || \
+ ! -f "$M_SOURCES/utf8proc/libutf8proc.a" || \
+ ! -f "$M_SOURCES/memcached/libmemcached/.libs/libmemcached.a" || \
+ ! -f "$M_SOURCES/tokyocabinet/libtokyocabinet.a" ]]; then
+ printf " a required dependency is missing. \n\nCreate the dependencies by running \"build.lib.sh all\" and then try again."
+ tput sgr0; tput setaf 1
+ date +"%n%nFinished $COMMAND failed at %r on %x%n"
+ tput sgr0
+ exit 1
+ fi
+
+ rm -rf "$M_OBJECTS/gd" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/gd" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/gd" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/gd/src/.libs/libgd.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/png" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/png" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/png" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/png/.libs/libpng16.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/lzo" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/lzo" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/lzo" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/lzo/src/.libs/liblzo2.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/pcre" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/pcre" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/pcre" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/pcre/.libs/libpcre2-8.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/jpeg" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/jpeg" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/jpeg" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/jpeg/.libs/libjpeg.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/spf2" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/spf2" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/spf2" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/spf2/src/libspf2/.libs/libspf2.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/curl" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/curl" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/curl" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/curl/lib/.libs/libcurl.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/xml2" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/xml2" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/xml2" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/xml2/.libs/libxml2.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/dkim" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/dkim" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/dkim" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/dkim/libopendkim/.libs/libopendkim.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/zlib" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/zlib" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/zlib" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/zlib/libz.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/bzip2" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/bzip2" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/bzip2" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/bzip2/libbz2.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/dspam" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/dspam" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/dspam" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/dspam/src/.libs/libdspam.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/mysql" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/mysql" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/mysql" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/mysql/libmysql_r/.libs/libmysqlclient_r.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/geoip" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/geoip" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/geoip" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/geoip/libGeoIP/.libs/libGeoIP.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/clamav" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/clamav" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/clamav" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/clamav/libclamav/.libs/libclamav.a" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/clamav/libltdl/.libs/libltdlc.a" &>> "$M_LOGS/combine.txt"; error
+
+ mkdir "$M_OBJECTS/clamav/unrar" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/clamav/unrar" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/clamav/libclamav/.libs/libclamunrar.a" &>> "$M_LOGS/combine.txt"; error
+
+ mkdir "$M_OBJECTS/clamav/unrar_iface" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/clamav/unrar_iface" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/clamav/libclamav/.libs/libclamunrar_iface.a" &>> "$M_LOGS/combine.txt"; error
+
+ mkdir "$M_OBJECTS/clamav/mspack" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/clamav/mspack" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/clamav/libclamav/libmspack-0.5alpha/.libs/libclammspack.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/crypto" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/crypto" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/crypto" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/openssl/libcrypto.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/ssl" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/ssl" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/ssl" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/openssl/libssl.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/jansson" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/jansson" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/jansson" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/jansson/src/.libs/libjansson.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/freetype" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/freetype" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/freetype" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/freetype/objs/.libs/libfreetype.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/utf8proc" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/utf8proc" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/utf8proc" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/utf8proc/libutf8proc.a" &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/memcached" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/memcached" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/memcached" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/memcached/libmemcached/.libs/libmemcached.a" &>> "$M_LOGS/combine.txt"; error
+
+ # If libmemcached is built with Dtrace support, this object file will need to be included.
+ # cp "$M_SOURCES/memcached/libmemcached/libmemcached_probes.o" . &>> "$M_LOGS/combine.txt"; error
+
+ rm -rf "$M_OBJECTS/tokyocabinet" &>> "$M_LOGS/combine.txt"; error
+ mkdir "$M_OBJECTS/tokyocabinet" &>> "$M_LOGS/combine.txt"; error
+ cd "$M_OBJECTS/tokyocabinet" &>> "$M_LOGS/combine.txt"; error
+ ar xv "$M_SOURCES/tokyocabinet/libtokyocabinet.a" &>> "$M_LOGS/combine.txt"; error
+
+ case "$1" in
+ combine-static)
+ # Commands for creating a static version of the library.
+ rm -f "$M_AR"; error
+ ar rs "$M_AR" \
+ "$M_OBJECTS"/lzo/*.o "$M_OBJECTS"/zlib/*.o \
+ "$M_OBJECTS"/bzip2/*.o "$M_OBJECTS"/pcre/*.o \
+ "$M_OBJECTS"/clamav/*.o "$M_OBJECTS"/clamav/unrar/*.o \
+ "$M_OBJECTS"/clamav/unrar_iface/*.o "$M_OBJECTS"/clamav/mspack/*.o \
+ "$M_OBJECTS"/tokyocabinet/*.o "$M_OBJECTS"/crypto/*.o "$M_OBJECTS"/ssl/*.o \
+ "$M_OBJECTS"/mysql/*.o "$M_OBJECTS"/xml2/*.o "$M_OBJECTS"/spf2/*.o "$M_OBJECTS"/geoip/*.o \
+ "$M_OBJECTS"/curl/*.o "$M_OBJECTS"/memcached/*.o "$M_OBJECTS"/utf8proc/*.o \
+ "$M_OBJECTS"/png/*.o "$M_OBJECTS"/jpeg/*.o "$M_OBJECTS"/freetype/*.o "$M_OBJECTS"/gd/*.o \
+ "$M_OBJECTS"/dkim/*.o "$M_OBJECTS"/dspam/*.o "$M_OBJECTS"/jansson/*.o &>> "$M_LOGS/combine.txt"; error
+ find $M_LOCAL -type f -exec touch {} \;
+ date +"%n%nFinished creating the static archive at %r on %x%n"
+ ;;
+ *)
+ rm -f "$M_SO"
+ gcc -Wl,-Bsymbolic -g3 -fPIC -rdynamic -shared -o "$M_SO" \
+ "$M_OBJECTS"/lzo/*.o "$M_OBJECTS"/zlib/*.o \
+ "$M_OBJECTS"/bzip2/*.o "$M_OBJECTS"/pcre/*.o \
+ "$M_OBJECTS"/clamav/*.o "$M_OBJECTS"/clamav/unrar/*.o \
+ "$M_OBJECTS"/clamav/unrar_iface/*.o "$M_OBJECTS"/clamav/mspack/*.o \
+ "$M_OBJECTS"/tokyocabinet/*.o "$M_OBJECTS"/crypto/*.o "$M_OBJECTS"/ssl/*.o \
+ "$M_OBJECTS"/mysql/*.o "$M_OBJECTS"/xml2/*.o "$M_OBJECTS"/spf2/*.o "$M_OBJECTS"/geoip/*.o \
+ "$M_OBJECTS"/curl/*.o "$M_OBJECTS"/memcached/*.o "$M_OBJECTS"/utf8proc/*.o \
+ "$M_OBJECTS"/png/*.o "$M_OBJECTS"/jpeg/*.o "$M_OBJECTS"/freetype/*.o "$M_OBJECTS"/gd/*.o \
+ "$M_OBJECTS"/dkim/*.o "$M_OBJECTS"/dspam/*.o "$M_OBJECTS"/jansson/*.o \
+ -lm -lrt -ldl -lnsl -lresolv -lpthread -lstdc++ &>> "$M_LOGS/combine.txt"; error
+
+ # This will update the time stamps for the various standalone dependencies, which should prevent make from rebuilding them.
+ find "$M_LOCAL/include" -type f -exec touch -c -m -r "$M_SO" -d '-1 minutes' {} \;
+ find "$M_LDPATH" -type f -iname "libz.a" -or -iname "libz.lib" -exec touch -c -m -r "$M_SO" -d '+2 minutes' {} \;
+ find "$M_LDPATH" -type f -iname "libcrypto.a" -or -iname "libcrypto.lib" -exec touch -c -m -r "$M_SO" -d '+4 minutes' {} \;
+ find "$M_LDPATH" -type f -iname "libssl.a" -or -iname "libssl.lib" -exec touch -c -m -r "$M_SO" -d '+6 minutes' {} \;
+ find "$M_LDPATH" -type f -iname "libutf8proc.a" -or -iname "libutf8proc.lib" -exec touch -c -m -r "$M_SO" -d '+8 minutes' {} \;
+ find "$M_LDPATH" -type f -iname "libcheck.a" -or -iname "libcheck.lib" -exec touch -c -m -r "$M_SO" -d '+10 minutes' {} \;
+ find "$M_SOURCES/googtest/lib/.libs/" -type f -iname "libgtest.a" -or -iname "libgtest.lib" -exec touch -c -m -r "$M_SO" -d '+12 minutes' {} \;
+
+ date +"%n%nFinished creating the shared object at %r on %x%n"
+ ;;
+ esac
+
+ if [ "$MASTER" == "yes" ]; then
+ echo ""
+ fi
+
+ exit 0
+
}
load() {
- if [ "$MASTER" == "yes" ]; then
- echo ""
- fi
-
- printf "Checking the shared object... "
-
- if [ ! -f "$M_SO" ]; then
- printf " the magmad.so file is missing.\n\nCreate the shared object by running \"build.lib.sh all\" and then try again."
- tput sgr0; tput setaf 1
- date +"%n%nFinished $COMMAND failed at %r on %x%n%n"
- tput sgr0
- exit 1
- fi
-
- if [ ! -d $M_CHECK ]; then mkdir -p "$M_CHECK" ; error ; fi
- cd "$M_CHECK"; error
-
- # Copy the current symbols file over.
- cat $M_SYM_FILE | egrep -v $M_SYM_SKIP > magma.open.symbols.h; error
-
- # Create a file with a function that assigns the original symbols to the dynamic version.
- echo "#include \"magma.open.check.h\"" > magma.open.symbols.c; error
- echo "#include \"magma.open.symbols.h\"" >> magma.open.symbols.c; error
- cat magma.open.symbols.h | \
- grep "extern" | \
- sed "s/extern //" | \
- sed "s/;/ = NULL;/g" \
- >> magma.open.symbols.c; error
- echo "const char * symbols_check(void *magma) {" >> magma.open.symbols.c; error
- cat magma.open.symbols.h | \
- grep "extern" | \
- awk -F'(' '{print $2}' | \
- grep -v '^$' | \
- tr -d '*' | sed 's/_d)//' | \
- sed 's/SSL_COMP)/SSL_COMP_get_compression_methods/g' | \
- awk '{ print "if ((*(void **)&(" $1 "_d) = dlsym(magma, \"" $1 "\")) == NULL) return \"" $1 "\";"}' >> magma.open.symbols.c; error
- echo "return NULL;" >> magma.open.symbols.c; error
- echo "}" >> magma.open.symbols.c; error
-
- ## Because GeoIPDBDescription is an array of pointers it doesn't need the leading ampersand.
- #sed -i -e "s/GeoIPDBDescription_d = &GeoIPDBDescription;/GeoIPDBDescription_d = GeoIPDBDescription;/g" magma.open.symbols.c; error
-
- ## This function prototype is prefixed with a macro in parentheses which fools the default parsing rules.
- #sed -i -e "s/SSL_COMP)/SSL_COMP_get_compression_methods/g" magma.open.symbols.c; error
-
- # The name dkim_getsighdr_d is taken by the OpenDKIM library, so we had to break convention and use dkim_getsighdrx_d.
- sed -i -e "s/\"dkim_getsighdrx\"/\"dkim_getsighdr\"/g" magma.open.symbols.c; error
-
- # Compile the source files. If an error occurs at compile time it is probably because we have a mismatch somewhere.
- gcc -D_REENTRANT -D_GNU_SOURCE -DHAVE_NS_TYPE -D_LARGEFILE64_SOURCE $M_SYM_INCLUDES $M_SO \
- -g3 -rdynamic -Wall -Wextra -Werror -o magma.open.check magma.open.check.c magma.open.symbols.c -ldl; error
-
- # If errors are generated from invalid symbols, this should print out the specific lines that are invalid.
- if [ $? -ne 0 ]; then
-
- LNS=`gcc -D_REENTRANT -D_GNU_SOURCE -DHAVE_NS_TYPE -D_LARGEFILE64_SOURCE $M_SYM_INCLUDES $M_SO -g3 -rdynamic -Wall -Wextra -Werror \
- -o magma.open.check magma.open.check.c magma.open.symbols.c -ldl 2>&1 | grep "magma.open.symbols.c" | awk -F':' '{ print $2 }' | \
- grep "[0-9*]" | awk '{print $1 ", " }' | sort -gu | uniq | tr -d "\n" | sed "s/, $//g"`
-
- # Only output the symbol info we found lines to print.
- if [ "$LNS" != "" ]; then
-
- printf "printing invalid symbols...\n"
- echo "lines = " $LNS
- echo ""
-
- LNS=`gcc -D_REENTRANT -D_GNU_SOURCE -DHAVE_NS_TYPE -D_LARGEFILE64_SOURCE $M_SYM_INCLUDES $M_SO -g3 -rdynamic -Wall -Wextra -Werror \
- -o magma.open.check magma.open.check.c magma.open.symbols.c -ldl 2>&1 | grep "magma.open.symbols.c" | awk -F':' '{ print $2 }' | \
- grep "[0-9*]" | awk '{print $1 "p;" }' | sort -gu | uniq | tr -d "\n"`
-
- cat magma.open.symbols.c | sed -n "$LNS"; error
-
- fi
-
- echo ""
- exit 1
- fi
-
- # Execute the program to see if the library can be loaded successfully at run time.
- ./magma.open.check "$M_SO"; error
- echo ""
- return 0
+ if [ "$MASTER" == "yes" ]; then
+ echo ""
+ fi
+
+ printf "Checking the shared object... "
+
+ if [ ! -f "$M_SO" ]; then
+ printf " the magmad.so file is missing.\n\nCreate the shared object by running \"build.lib.sh all\" and then try again."
+ tput sgr0; tput setaf 1
+ date +"%n%nFinished $COMMAND failed at %r on %x%n%n"
+ tput sgr0
+ exit 1
+ fi
+
+ if [ ! -d $M_CHECK ]; then mkdir -p "$M_CHECK" ; error ; fi
+ cd "$M_CHECK"; error
+
+ # Copy the current symbols file over.
+ cat $M_SYM_FILE | egrep -v $M_SYM_SKIP > magma.open.symbols.h; error
+
+ # Create a file with a function that assigns the original symbols to the dynamic version.
+ echo "#include \"magma.open.check.h\"" > magma.open.symbols.c; error
+ echo "#include \"magma.open.symbols.h\"" >> magma.open.symbols.c; error
+ cat magma.open.symbols.h | \
+ grep "extern" | \
+ sed "s/extern //" | \
+ sed "s/;/ = NULL;/g" \
+ >> magma.open.symbols.c; error
+ echo "const char * symbols_check(void *magma) {" >> magma.open.symbols.c; error
+ cat magma.open.symbols.h | \
+ grep "extern" | \
+ awk -F'(' '{print $2}' | \
+ grep -v '^$' | \
+ tr -d '*' | sed 's/_d)//' | \
+ sed 's/SSL_COMP)/SSL_COMP_get_compression_methods/g' | \
+ awk '{ print "if ((*(void **)&(" $1 "_d) = dlsym(magma, \"" $1 "\")) == NULL) return \"" $1 "\";"}' >> magma.open.symbols.c; error
+ echo "return NULL;" >> magma.open.symbols.c; error
+ echo "}" >> magma.open.symbols.c; error
+
+ ## Because GeoIPDBDescription is an array of pointers it doesn't need the leading ampersand.
+ #sed -i -e "s/GeoIPDBDescription_d = &GeoIPDBDescription;/GeoIPDBDescription_d = GeoIPDBDescription;/g" magma.open.symbols.c; error
+
+ ## This function prototype is prefixed with a macro in parentheses which fools the default parsing rules.
+ #sed -i -e "s/SSL_COMP)/SSL_COMP_get_compression_methods/g" magma.open.symbols.c; error
+
+ # The name dkim_getsighdr_d is taken by the OpenDKIM library, so we had to break convention and use dkim_getsighdrx_d.
+ sed -i -e "s/\"dkim_getsighdrx\"/\"dkim_getsighdr\"/g" magma.open.symbols.c; error
+
+ # Compile the source files. If an error occurs at compile time it is probably because we have a mismatch somewhere.
+ gcc -D_REENTRANT -D_GNU_SOURCE -DHAVE_NS_TYPE -D_LARGEFILE64_SOURCE $M_SYM_INCLUDES $M_SO \
+ -g3 -rdynamic -Wall -Wextra -Werror -o magma.open.check magma.open.check.c magma.open.symbols.c -ldl; error
+
+ # If errors are generated from invalid symbols, this should print out the specific lines that are invalid.
+ if [ $? -ne 0 ]; then
+
+ LNS=`gcc -D_REENTRANT -D_GNU_SOURCE -DHAVE_NS_TYPE -D_LARGEFILE64_SOURCE $M_SYM_INCLUDES $M_SO -g3 -rdynamic -Wall -Wextra -Werror \
+ -o magma.open.check magma.open.check.c magma.open.symbols.c -ldl 2>&1 | grep "magma.open.symbols.c" | awk -F':' '{ print $2 }' | \
+ grep "[0-9*]" | awk '{print $1 ", " }' | sort -gu | uniq | tr -d "\n" | sed "s/, $//g"`
+
+ # Only output the symbol info we found lines to print.
+ if [ "$LNS" != "" ]; then
+
+ printf "printing invalid symbols...\n"
+ echo "lines = " $LNS
+ echo ""
+
+ LNS=`gcc -D_REENTRANT -D_GNU_SOURCE -DHAVE_NS_TYPE -D_LARGEFILE64_SOURCE $M_SYM_INCLUDES $M_SO -g3 -rdynamic -Wall -Wextra -Werror \
+ -o magma.open.check magma.open.check.c magma.open.symbols.c -ldl 2>&1 | grep "magma.open.symbols.c" | awk -F':' '{ print $2 }' | \
+ grep "[0-9*]" | awk '{print $1 "p;" }' | sort -gu | uniq | tr -d "\n"`
+
+ cat magma.open.symbols.c | sed -n "$LNS"; error
+
+ fi
+
+ echo ""
+ exit 1
+ fi
+
+ # Execute the program to see if the library can be loaded successfully at run time.
+ ./magma.open.check "$M_SO"; error
+ echo ""
+ return 0
}
keys() {
- printf "Fixing the permissions for the DIME, DKIM and TLS keys in the magma sandbox...\n"
- if [ "$MASTER" == "yes" ]; then
- echo ""
- fi
-
- chmod 600 "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem"; error
- chmod 600 "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pem"; error
- chmod 600 "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.key"; error
- chmod 600 "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.signet"; error
-
- # Tell git to skip checking for changes to these SQL files, but we only do this if git is on the system and the files
- # are stored inside a repo.
- GIT_IS_AVAILABLE=`which git &> /dev/null && git log &> /dev/null && echo 1`
- if [[ "$GIT_IS_AVAILABLE" == "1" ]]; then
- git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem"
- git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pub"
- git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.key"
- git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.signet"
- fi
-
+ printf "Fixing the permissions for the DIME, DKIM and TLS keys in the magma sandbox...\n"
+ if [ "$MASTER" == "yes" ]; then
+ echo ""
+ fi
+
+ chmod 600 "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem"; error
+ chmod 600 "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pem"; error
+ chmod 600 "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.key"; error
+ chmod 600 "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.signet"; error
+
+ # Tell git to skip checking for changes to these SQL files, but we only do this if git is on the system and the files
+ # are stored inside a repo.
+ GIT_IS_AVAILABLE=`which git &> /dev/null && git log &> /dev/null && echo 1`
+ if [[ "$GIT_IS_AVAILABLE" == "1" ]]; then
+ git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem"
+ git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pub"
+ git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.key"
+ git update-index --skip-worktree "$M_PROJECT_ROOT/sandbox/etc/dime.localhost.localdomain.signet"
+ fi
+
}
generate() {
- printf "Generating DIME, DKIM and TLS keys for the magma sandbox...\n"
+ printf "Generating DIME, DKIM and TLS keys for the magma sandbox...\n"
+
+ # Generate a DKIM private key.
+ "$M_LOCAL/bin/"openssl genrsa -out "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pem" 2048 2>&1 >& /dev/null
- # Generate a DKIM private key.
- "$M_LOCAL/bin/"openssl genrsa -out "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pem" 2048 2>&1 >& /dev/null
+ # Derive the DKIM public DNS record based on the generated key.
+ "$M_LOCAL/bin/"openssl rsa -in "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pem" -pubout -outform PEM 2> /dev/null | \
+ sed -r "s/-----BEGIN PUBLIC KEY-----$//" | sed -r "s/-----END PUBLIC KEY-----//" | tr -d [:space:] | \
+ awk "{ print \"bazinga._domainkey IN TXT \\\"v=DKIM1; k=rsa; p=\" substr(\$1, 1, 208) \"\\\" \\\"\" substr(\$1, 209) \"\\\" ; ----- DKIM bazinga key\" }" > \
+ "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pub" ; error
- # Derive the DKIM public DNS record based on the generated key.
- "$M_LOCAL/bin/"openssl rsa -in "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pem" -pubout -outform PEM 2> /dev/null | \
- sed -r "s/-----BEGIN PUBLIC KEY-----$//" | sed -r "s/-----END PUBLIC KEY-----//" | tr -d [:space:] | \
- awk "{ print \"bazinga._domainkey IN TXT \\\"v=DKIM1; k=rsa; p=\" substr(\$1, 1, 208) \"\\\" \\\"\" substr(\$1, 209) \"\\\" ; ----- DKIM bazinga key\" }" > \
- "$M_PROJECT_ROOT/sandbox/etc/dkim.localhost.localdomain.pub" ; error
+ # The TLS private key and a self-signed certificate.
+ "$M_LOCAL/bin/"openssl req -x509 -nodes -batch -days 1826 -newkey rsa:4096 \
+ -keyout "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem" \
+ -out "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem" >& /dev/null ; error
- # The TLS private key and a self-signed certificate.
- "$M_LOCAL/bin/"openssl req -x509 -nodes -batch -days 1826 -newkey rsa:4096 \
- -keyout "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem" \
- -out "$M_PROJECT_ROOT/sandbox/etc/tls.localhost.localdomain.pem" >& /dev/null ; error
+ keys
- keys
-
}
combo() {
- date +"%nStarting $1 at %r on %x%n" &>> "$M_LOGS/build.txt"
-
- # If compiling, then proceed sequentially to ensure dependencies are compiled in order.
- if [[ $1 == "build" ]]; then
-
- # These libraries don't have any pre-requisites or dependencies.
- ($M_BUILD "zlib-$1") & ZLIB_PID=$!
- ($M_BUILD "bzip2-$1") & BZIP2_PID=$!
- ($M_BUILD "jpeg-$1") & JPEG_PID=$!
- ($M_BUILD "lzo-$1") & LZO_PID=$!
- ($M_BUILD "pcre-$1") & PCRE_PID=$!
- ($M_BUILD "spf2-$1") & SPF2_PID=$!
- ($M_BUILD "checker-$1") & CHECKER_PID=$!
- ($M_BUILD "jansson-$1") & JANSSON_PID=$!
- ($M_BUILD "memcached-$1") & MEMCACHED_PID=$!
- ($M_BUILD "googtest-$1") & GOOGTEST_PID=$!
- ($M_BUILD "googtap-$1") & GOOGTAP_PID=$!
-
- # These libraries require zlib, but nothing else.
- wait $ZLIB_PID; error
-
- ($M_BUILD "png-$1") & PNG_PID=$!
- ($M_BUILD "xml2-$1") & XML2_PID=$!
- ($M_BUILD "openssl-$1") & OPENSSL_PID=$!
- ($M_BUILD "geoip-$1") & GEOIP_PID=$!
-
- # These libraries require zlib (above) and openssl.
- wait $OPENSSL_PID; error
-
- ($M_BUILD "curl-$1") & CURL_PID=$!
- ($M_BUILD "dkim-$1") & DKIM_PID=$!
- ($M_BUILD "mysql-$1") & MYSQL_PID=$!
-
- # These libraries require zlib (above), bzip2, png and jpeg.
- wait $PNG_PID; error
- wait $JPEG_PID; error
- wait $BZIP2_PID; error
-
- ($M_BUILD "freetype-$1") & FREETYPE_PID=$!
- ($M_BUILD "tokyocabinet-$1") & TOKYOCABINET_PID=$!
-
- # ClamAV requires zlib (above) and bzip (above), pcre and xml2.
- wait $XML2_PID; error
- wait $PCRE_PID; error
-
- ($M_BUILD "clamav-$1") & CLAMAV_PID=$!
-
- # The gd library requires zlib (above), png (above), jpeg (above) and freetype.
- wait $FREETYPE_PID; error
-
- ($M_BUILD "gd-$1") & GD_PID=$!
-
- # The dspam library requires mysql.
- wait $MYSQL_PID; error
-
- ($M_BUILD "dspam-$1") & DSPAM_PID=$!
-
- # The utf8proc library requires curl.
- wait $CURL_PID; error
-
- ($M_BUILD "utf8proc-$1") & UTF8PROC_PID=$!
-
- # Wait on any remaining build jobs.
- wait $GD_PID; error
- wait $LZO_PID; error
- wait $SPF2_PID; error
- wait $DKIM_PID; error
- wait $GEOIP_PID; error
- wait $DSPAM_PID; error
- wait $CLAMAV_PID; error
- wait $CHECKER_PID; error
- wait $GOOGTAP_PID; error
- wait $JANSSON_PID; error
- wait $GOOGTEST_PID; error
- wait $UTF8PROC_PID; error
- wait $FREETYPE_PID; error
- wait $MEMCACHED_PID; error
- wait $TOKYOCABINET_PID; error
-
- else
-
- # If this isn't a build, then we kick off everything in parallel.
- ($M_BUILD "clamav-$1") & CLAMAV_PID=$!
- ($M_BUILD "curl-$1") & CURL_PID=$!
- ($M_BUILD "mysql-$1") & MYSQL_PID=$!
- ($M_BUILD "gd-$1") & GD_PID=$!
- ($M_BUILD "png-$1") & PNG_PID=$!
- ($M_BUILD "lzo-$1") & LZO_PID=$!
- ($M_BUILD "pcre-$1") & PCRE_PID=$!
- ($M_BUILD "jpeg-$1") & JPEG_PID=$!
- ($M_BUILD "spf2-$1") & SPF2_PID=$!
- ($M_BUILD "xml2-$1") & XML2_PID=$!
- ($M_BUILD "dkim-$1") & DKIM_PID=$!
- ($M_BUILD "zlib-$1") & ZLIB_PID=$!
- ($M_BUILD "bzip2-$1") & BZIP2_PID=$!
- ($M_BUILD "dspam-$1") & DSPAM_PID=$!
- ($M_BUILD "geoip-$1") & GEOIP_PID=$!
- ($M_BUILD "checker-$1") & CHECKER_PID=$!
- ($M_BUILD "openssl-$1") & OPENSSL_PID=$!
- ($M_BUILD "googtest-$1") & GOOGTEST_PID=$!
- ($M_BUILD "googtap-$1") & GOOGTAP_PID=$!
- ($M_BUILD "jansson-$1") & JANSSON_PID=$!
- ($M_BUILD "freetype-$1") & FREETYPE_PID=$!
- ($M_BUILD "utf8proc-$1") & UTF8PROC_PID=$!
- ($M_BUILD "memcached-$1") & MEMCACHED_PID=$!
- ($M_BUILD "tokyocabinet-$1") & TOKYOCABINET_PID=$!
-
- wait $GD_PID; error
- wait $PNG_PID; error
- wait $LZO_PID; error
- wait $PCRE_PID; error
- wait $JPEG_PID; error
- wait $CURL_PID; error
- wait $SPF2_PID; error
- wait $XML2_PID; error
- wait $DKIM_PID; error
- wait $ZLIB_PID; error
- wait $BZIP2_PID; error
- wait $DSPAM_PID; error
- wait $MYSQL_PID; error
- wait $GEOIP_PID; error
- wait $CLAMAV_PID; error
- wait $CHECKER_PID; error
- wait $OPENSSL_PID; error
- wait $GOOGTEST_PID; error
- wait $GOOGTAP_PID; error
- wait $JANSSON_PID; error
- wait $UTF8PROC_PID; error
- wait $FREETYPE_PID; error
- wait $MEMCACHED_PID; error
- wait $TOKYOCABINET_PID; error
-
- fi
-
- date +"%nFinished $1 at %r on %x%n"
- date +"%nFinished $1 at %r on %x%n" &>> "$M_LOGS/build.txt"
+ date +"%nStarting $1 at %r on %x%n" &>> "$M_LOGS/build.txt"
+
+ # If compiling, then proceed sequentially to ensure dependencies are compiled in order.
+ if [[ $1 == "build" ]]; then
+
+ # These libraries don't have any pre-requisites or dependencies.
+ ($M_BUILD "zlib-$1") & ZLIB_PID=$!
+ ($M_BUILD "bzip2-$1") & BZIP2_PID=$!
+ ($M_BUILD "jpeg-$1") & JPEG_PID=$!
+ ($M_BUILD "lzo-$1") & LZO_PID=$!
+ ($M_BUILD "pcre-$1") & PCRE_PID=$!
+ ($M_BUILD "spf2-$1") & SPF2_PID=$!
+ ($M_BUILD "checker-$1") & CHECKER_PID=$!
+ ($M_BUILD "jansson-$1") & JANSSON_PID=$!
+ ($M_BUILD "memcached-$1") & MEMCACHED_PID=$!
+ ($M_BUILD "googtest-$1") & GOOGTEST_PID=$!
+ ($M_BUILD "googtap-$1") & GOOGTAP_PID=$!
+
+ # These libraries require zlib, but nothing else.
+ wait $ZLIB_PID; error
+
+ ($M_BUILD "png-$1") & PNG_PID=$!
+ ($M_BUILD "xml2-$1") & XML2_PID=$!
+ ($M_BUILD "openssl-$1") & OPENSSL_PID=$!
+ ($M_BUILD "geoip-$1") & GEOIP_PID=$!
+
+ # These libraries require zlib (above) and openssl.
+ wait $OPENSSL_PID; error
+
+ ($M_BUILD "curl-$1") & CURL_PID=$!
+ ($M_BUILD "dkim-$1") & DKIM_PID=$!
+ ($M_BUILD "mysql-$1") & MYSQL_PID=$!
+
+ # These libraries require zlib (above), bzip2, png and jpeg.
+ wait $PNG_PID; error
+ wait $JPEG_PID; error
+ wait $BZIP2_PID; error
+
+ ($M_BUILD "freetype-$1") & FREETYPE_PID=$!
+ ($M_BUILD "tokyocabinet-$1") & TOKYOCABINET_PID=$!
+
+ # ClamAV requires zlib (above) and bzip (above), pcre and xml2.
+ wait $XML2_PID; error
+ wait $PCRE_PID; error
+
+ ($M_BUILD "clamav-$1") & CLAMAV_PID=$!
+
+ # The gd library requires zlib (above), png (above), jpeg (above) and freetype.
+ wait $FREETYPE_PID; error
+
+ ($M_BUILD "gd-$1") & GD_PID=$!
+
+ # The dspam library requires mysql.
+ wait $MYSQL_PID; error
+
+ ($M_BUILD "dspam-$1") & DSPAM_PID=$!
+
+ # The utf8proc library requires curl.
+ wait $CURL_PID; error
+
+ ($M_BUILD "utf8proc-$1") & UTF8PROC_PID=$!
+
+ # Wait on any remaining build jobs.
+ wait $GD_PID; error
+ wait $LZO_PID; error
+ wait $SPF2_PID; error
+ wait $DKIM_PID; error
+ wait $GEOIP_PID; error
+ wait $DSPAM_PID; error
+ wait $CLAMAV_PID; error
+ wait $CHECKER_PID; error
+ wait $GOOGTAP_PID; error
+ wait $JANSSON_PID; error
+ wait $GOOGTEST_PID; error
+ wait $UTF8PROC_PID; error
+ wait $FREETYPE_PID; error
+ wait $MEMCACHED_PID; error
+ wait $TOKYOCABINET_PID; error
+
+ else
+
+ # If this isn't a build, then we kick off everything in parallel.
+ ($M_BUILD "clamav-$1") & CLAMAV_PID=$!
+ ($M_BUILD "curl-$1") & CURL_PID=$!
+ ($M_BUILD "mysql-$1") & MYSQL_PID=$!
+ ($M_BUILD "gd-$1") & GD_PID=$!
+ ($M_BUILD "png-$1") & PNG_PID=$!
+ ($M_BUILD "lzo-$1") & LZO_PID=$!
+ ($M_BUILD "pcre-$1") & PCRE_PID=$!
+ ($M_BUILD "jpeg-$1") & JPEG_PID=$!
+ ($M_BUILD "spf2-$1") & SPF2_PID=$!
+ ($M_BUILD "xml2-$1") & XML2_PID=$!
+ ($M_BUILD "dkim-$1") & DKIM_PID=$!
+ ($M_BUILD "zlib-$1") & ZLIB_PID=$!
+ ($M_BUILD "bzip2-$1") & BZIP2_PID=$!
+ ($M_BUILD "dspam-$1") & DSPAM_PID=$!
+ ($M_BUILD "geoip-$1") & GEOIP_PID=$!
+ ($M_BUILD "checker-$1") & CHECKER_PID=$!
+ ($M_BUILD "openssl-$1") & OPENSSL_PID=$!
+ ($M_BUILD "googtest-$1") & GOOGTEST_PID=$!
+ ($M_BUILD "googtap-$1") & GOOGTAP_PID=$!
+ ($M_BUILD "jansson-$1") & JANSSON_PID=$!
+ ($M_BUILD "freetype-$1") & FREETYPE_PID=$!
+ ($M_BUILD "utf8proc-$1") & UTF8PROC_PID=$!
+ ($M_BUILD "memcached-$1") & MEMCACHED_PID=$!
+ ($M_BUILD "tokyocabinet-$1") & TOKYOCABINET_PID=$!
+
+ wait $GD_PID; error
+ wait $PNG_PID; error
+ wait $LZO_PID; error
+ wait $PCRE_PID; error
+ wait $JPEG_PID; error
+ wait $CURL_PID; error
+ wait $SPF2_PID; error
+ wait $XML2_PID; error
+ wait $DKIM_PID; error
+ wait $ZLIB_PID; error
+ wait $BZIP2_PID; error
+ wait $DSPAM_PID; error
+ wait $MYSQL_PID; error
+ wait $GEOIP_PID; error
+ wait $CLAMAV_PID; error
+ wait $CHECKER_PID; error
+ wait $OPENSSL_PID; error
+ wait $GOOGTEST_PID; error
+ wait $GOOGTAP_PID; error
+ wait $JANSSON_PID; error
+ wait $UTF8PROC_PID; error
+ wait $FREETYPE_PID; error
+ wait $MEMCACHED_PID; error
+ wait $TOKYOCABINET_PID; error
+
+ fi
+
+ date +"%nFinished $1 at %r on %x%n"
+ date +"%nFinished $1 at %r on %x%n" &>> "$M_LOGS/build.txt"
}
follow() {
- # Note that the build.txt and combo.txt log files are intentionally excluded from this list because they don't belong to a bundled package file.
- tail -n 0 -F "$M_LOGS/clamav.txt" "$M_LOGS/curl.txt" "$M_LOGS/dspam.txt" "$M_LOGS/jansson.txt" "$M_LOGS/memcached.txt" "$M_LOGS/openssl.txt" \
- "$M_LOGS/tokyocabinet.txt" "$M_LOGS/zlib.txt" "$M_LOGS/bzip2.txt" "$M_LOGS/dkim.txt" "$M_LOGS/geoip.txt" "$M_LOGS/lzo.txt" \
- "$M_LOGS/mysql.txt" "$M_LOGS/spf2.txt" "$M_LOGS/xml2.txt" "$M_LOGS/gd.txt" "$M_LOGS/png.txt" "$M_LOGS/jpeg.txt" "$M_LOGS/freetype.txt" \
- "$M_LOGS/utf8proc.txt" "$M_LOGS/checker.txt" "$M_LOGS/pcre.txt"
+ # Note that the build.txt and combo.txt log files are intentionally excluded from this list because they don't belong to a bundled package file.
+ tail -n 0 -F "$M_LOGS/clamav.txt" "$M_LOGS/curl.txt" "$M_LOGS/dspam.txt" "$M_LOGS/jansson.txt" "$M_LOGS/memcached.txt" "$M_LOGS/openssl.txt" \
+ "$M_LOGS/tokyocabinet.txt" "$M_LOGS/zlib.txt" "$M_LOGS/bzip2.txt" "$M_LOGS/dkim.txt" "$M_LOGS/geoip.txt" "$M_LOGS/lzo.txt" \
+ "$M_LOGS/mysql.txt" "$M_LOGS/spf2.txt" "$M_LOGS/xml2.txt" "$M_LOGS/gd.txt" "$M_LOGS/png.txt" "$M_LOGS/jpeg.txt" "$M_LOGS/freetype.txt" \
+ "$M_LOGS/utf8proc.txt" "$M_LOGS/checker.txt" "$M_LOGS/pcre.txt"
}
log() {
- # Note that the build.txt and combo.txt log files are intentionally excluded from this list because they don't belong to a bundled package file.
- cat "$M_LOGS/clamav.txt" "$M_LOGS/curl.txt" "$M_LOGS/dspam.txt" "$M_LOGS/jansson.txt" "$M_LOGS/memcached.txt" "$M_LOGS/openssl.txt" \
- "$M_LOGS/tokyocabinet.txt" "$M_LOGS/zlib.txt" "$M_LOGS/bzip2.txt" "$M_LOGS/dkim.txt" "$M_LOGS/geoip.txt" "$M_LOGS/lzo.txt" \
- "$M_LOGS/mysql.txt" "$M_LOGS/spf2.txt" "$M_LOGS/xml2.txt" "$M_LOGS/gd.txt" "$M_LOGS/png.txt" "$M_LOGS/jpeg.txt" "$M_LOGS/freetype.txt" \
- "$M_LOGS/utf8proc.txt" "$M_LOGS/checker.txt" "$M_LOGS/pcre.txt"
+ # Note that the build.txt and combo.txt log files are intentionally excluded from this list because they don't belong to a bundled package file.
+ cat "$M_LOGS/clamav.txt" "$M_LOGS/curl.txt" "$M_LOGS/dspam.txt" "$M_LOGS/jansson.txt" "$M_LOGS/memcached.txt" "$M_LOGS/openssl.txt" \
+ "$M_LOGS/tokyocabinet.txt" "$M_LOGS/zlib.txt" "$M_LOGS/bzip2.txt" "$M_LOGS/dkim.txt" "$M_LOGS/geoip.txt" "$M_LOGS/lzo.txt" \
+ "$M_LOGS/mysql.txt" "$M_LOGS/spf2.txt" "$M_LOGS/xml2.txt" "$M_LOGS/gd.txt" "$M_LOGS/png.txt" "$M_LOGS/jpeg.txt" "$M_LOGS/freetype.txt" \
+ "$M_LOGS/utf8proc.txt" "$M_LOGS/checker.txt" "$M_LOGS/pcre.txt"
}
advance() {
- shift
- echo "$@"
+ shift
+ echo "$@"
}
status() {
- CPU=`iostat cpu | head -4 | tail -2`
- DISK=`iostat -m -x sda sdb sdc vda vdb vdc | tail -n +6 | sed "s/Device:/device:/" | awk '{print $1 "\t " $6 "\t" $7 "\t" $14}'`
-
- while true; do
- clear
- tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Commands\n\n"; tput sgr0
- ps --no-headers -C build -C build.sh -C build.lib -C build.lib.sh -o command:100,etime | grep -v status | cat - |
- while read line; do
- BASE=`echo "$line" | awk '{print $1}'`
- line=`eval "advance $line"`
- C=`basename "$BASE"`
- if [[ "$C" == "bash" ]]; then
- BASE=`echo "$line" | awk '{print $1}'`
- line=`eval "advance $line"`
- C=`basename "$BASE"`
- fi
- echo "$C $line"
- done
- tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Load\n\n"; tput sgr0
- uptime | sed "s/^.*load average://" | awk -F',' '{print "avg-load: " $1 ", " $2 ", " $3 }'
- tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Processor\n\n"; tput sgr0
- echo "$CPU"
- tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Disk\n\n"; tput sgr0
- echo "$DISK"
-
- # Refresh the stats for the next loop; note that this takes 4 seconds to complete.
- CPU=`iostat cpu 4 2 | tail -5 | head -2`
- DISK=`iostat -m -x sda sdb sdc vda vdb vdc 4 2 | tail -3 | head -2 | sed "s/Device:/device:/"`
-
- # If the status code isn't 0, it means iostat hasn't been installed.
- if [ $? != 0 ]; then
- sleep 1;
- fi
- done
+ CPU=`iostat cpu | head -4 | tail -2`
+ DISK=`iostat -m -x sda sdb sdc vda vdb vdc | tail -n +6 | sed "s/Device:/device:/" | awk '{print $1 "\t " $6 "\t" $7 "\t" $14}'`
+
+ while true; do
+ clear
+ tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Commands\n\n"; tput sgr0
+ ps --no-headers -C build -C build.sh -C build.lib -C build.lib.sh -o command:100,etime | grep -v status | cat - |
+ while read line; do
+ BASE=`echo "$line" | awk '{print $1}'`
+ line=`eval "advance $line"`
+ C=`basename "$BASE"`
+ if [[ "$C" == "bash" ]]; then
+ BASE=`echo "$line" | awk '{print $1}'`
+ line=`eval "advance $line"`
+ C=`basename "$BASE"`
+ fi
+ echo "$C $line"
+ done
+ tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Load\n\n"; tput sgr0
+ uptime | sed "s/^.*load average://" | awk -F',' '{print "avg-load: " $1 ", " $2 ", " $3 }'
+ tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Processor\n\n"; tput sgr0
+ echo "$CPU"
+ tput sgr0; tput sgr 0 1; tput setaf 6; printf "\n# Disk\n\n"; tput sgr0
+ echo "$DISK"
+
+ # Refresh the stats for the next loop; note that this takes 4 seconds to complete.
+ CPU=`iostat cpu 4 2 | tail -5 | head -2`
+ DISK=`iostat -m -x sda sdb sdc vda vdb vdc 4 2 | tail -3 | head -2 | sed "s/Device:/device:/"`
+
+ # If the status code isn't 0, it means iostat hasn't been installed.
+ if [ $? != 0 ]; then
+ sleep 1;
+ fi
+ done
}
all() {
- rm -f "$M_LOGS/build.txt"; error
- date +"%nStarting at %r on %x%n"
- date +"Starting at %r on %x" &>> "$M_LOGS/build.txt"
- $M_BUILD "extract"; error
- $M_BUILD "prep"; error
- $M_BUILD "build"; error
- $M_BUILD "combine"; error
- $M_BUILD "load"; error
- $M_BUILD "keys"; error
-
- # Quick builds don't run the dependency checks, and/or unit tests.
- if [ "$QUICK" != "yes" ]; then
- $M_BUILD "check"
- fi
-
- date +"Finished at %r on %x%n"
- date +"Finished at %r on %x" &>> "$M_LOGS/build.txt"
+ rm -f "$M_LOGS/build.txt"; error
+ date +"%nStarting at %r on %x%n"
+ date +"Starting at %r on %x" &>> "$M_LOGS/build.txt"
+ $M_BUILD "extract"; error
+ $M_BUILD "prep"; error
+ $M_BUILD "build"; error
+ $M_BUILD "combine"; error
+ $M_BUILD "load"; error
+ $M_BUILD "keys"; error
+
+ # Quick builds don't run the dependency checks, and/or unit tests.
+ if [ "$QUICK" != "yes" ]; then
+ $M_BUILD "check"
+ fi
+
+ date +"Finished at %r on %x%n"
+ date +"Finished at %r on %x" &>> "$M_LOGS/build.txt"
}
# Store the command for failure messages
@@ -2906,8 +2908,8 @@ COMMAND="$@"
# Parent
if [[ "$PARENT" == "" ]]; then
- MASTER="yes"
- export PARENT="$BASHPID"
+ MASTER="yes"
+ export PARENT="$BASHPID"
fi
# Setup
@@ -2965,33 +2967,33 @@ elif [[ $1 == "tail" ]]; then follow
# Catchall
else
- echo ""
- echo " Libraries"
- echo $" `basename $0` {gd|png|lzo|pcre|jpeg|curl|spf2|xml2|dkim|zlib|bzip2|dspam|mysql|geoip|clamav|checker|openssl|freetype|utf8proc|memcached|tokyocabinet} and/or "
- echo ""
- echo " Stages (which may be combined via a dash with the above)"
- echo $" `basename $0` {extract|prep|build|check|check-full|clean|tail|log} or "
- echo ""
- echo " Global Commands"
- echo $" `basename $0` {combine|load|keys|generate|follow|log|status|all}"
- echo ""
- echo " Please specify a library, a stage, a global command or a combination of library and stage."
- echo ""
- exit 2
+ echo ""
+ echo " Libraries"
+ echo $" `basename $0` {gd|png|lzo|pcre|jpeg|curl|spf2|xml2|dkim|zlib|bzip2|dspam|mysql|geoip|clamav|checker|openssl|freetype|utf8proc|memcached|tokyocabinet} and/or "
+ echo ""
+ echo " Stages (which may be combined via a dash with the above)"
+ echo $" `basename $0` {extract|prep|build|check|check-full|clean|tail|log} or "
+ echo ""
+ echo " Global Commands"
+ echo $" `basename $0` {combine|load|keys|generate|follow|log|status|all}"
+ echo ""
+ echo " Please specify a library, a stage, a global command or a combination of library and stage."
+ echo ""
+ exit 2
fi
# Beep the speaker 10 times to let us know when 'all' is done or 3 times for something else.
if [[ "$PARENT" == "$BASHPID" ]]; then
- if [[ $1 == "all" ]]; then
- NUMS="1 2 3 4 5 6 7 8 9 10"
- else
- NUMS="1 2 3"
- fi
+ if [[ $1 == "all" ]]; then
+ NUMS="1 2 3 4 5 6 7 8 9 10"
+ else
+ NUMS="1 2 3"
+ fi
- for i in $NUMS; do
- printf "\a"; sleep 1
- done
+ for i in $NUMS; do
+ printf "\a"; sleep 1
+ done
fi
diff --git a/lib/patches/memcached/1.0.18_fix_unittest_doesnotexist.patch b/lib/patches/memcached/1.0.18_fix_unittest_doesnotexist.patch
new file mode 100644
index 00000000..852dc985
--- /dev/null
+++ b/lib/patches/memcached/1.0.18_fix_unittest_doesnotexist.patch
@@ -0,0 +1,29 @@
+diff --git a/libtest/unittest.cc b/libtest/unittest.cc
+index a2843d2..e55a575 100644
+--- a/libtest/unittest.cc
++++ b/libtest/unittest.cc
+@@ -618,15 +618,7 @@ static test_return_t application_doesnotexist_BINARY(void *)
+ true_app.will_fail();
+
+ const char *args[]= { "--fubar", 0 };
+-#if defined(__APPLE__) && __APPLE__
+- ASSERT_EQ(Application::INVALID_POSIX_SPAWN, true_app.run(args));
+-#elif defined(__FreeBSD__) && __FreeBSD__
+ ASSERT_EQ(Application::INVALID_POSIX_SPAWN, true_app.run(args));
+-#else
+- ASSERT_EQ(Application::SUCCESS, true_app.run(args));
+- ASSERT_EQ(Application::INVALID_POSIX_SPAWN, true_app.join());
+-#endif
+-
+ test_zero(true_app.stdout_result().size());
+
+ return TEST_SUCCESS;
+@@ -877,7 +869,7 @@ static test_return_t get_free_port_TEST(void *)
+ static test_return_t fatal_TEST(void *)
+ {
+ ASSERT_EQ(fatal_calls++, fatal::disabled_counter());
+- throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "Testing va_args based fatal(): %d", 10);
++ throw libtest::fatal(LIBYATL_DEFAULT_PARAM, "Testing va_args based fatal(): %d", 10);
+
+ return TEST_SUCCESS;
+ }