summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorLarry Knox <lrknox@hdfgroup.org>2018-08-24 14:14:56 (GMT)
committerLarry Knox <lrknox@hdfgroup.org>2018-08-24 14:14:56 (GMT)
commit6569f208b8f39ace9e442e94ab110bec94c67d37 (patch)
treeb477826af1b6b47b1da9dfe948050ed7a50e75c4 /bin
parent2ad049a6411923653365962c826cf59cf801d0d7 (diff)
parent21eef8a98ee6949c69d79c6c4d87fc8e4e38dc29 (diff)
downloadhdf5-6569f208b8f39ace9e442e94ab110bec94c67d37.zip
hdf5-6569f208b8f39ace9e442e94ab110bec94c67d37.tar.gz
hdf5-6569f208b8f39ace9e442e94ab110bec94c67d37.tar.bz2
Merge pull request #1220 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:1.10/master to 1.10/master
* commit '21eef8a98ee6949c69d79c6c4d87fc8e4e38dc29': (354 commits) Commit version with new release date. Add example packaging option and fix html5 issues Commit version with new release date. Commit files changed by autogen.sh. Merge pull request #1208 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10 Merge pull request #1207 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10 Merge pull request #1203 in HDFFV/hdf5 from ~BYRN/hdf5_adb:hdf5_1_10 to hdf5_1_10 Commit version with new release date. Commit new generated H5version.h including #defines for H5_USE_110_API. Correct nested c-style comment. Merge pull request #1197 in HDFFV/hdf5 from ~BYRN/hdf5_merge_adb:hdf5_1_10 to hdf5_1_10 Merge pull request #1194 in HDFFV/hdf5 from ~VCHOI/my_hdf5_fork:hdf5_1_10 to hdf5_1_10 Updated the H5Dread/write_chunk() release note. Added a release note for the H5Dread/write_chunk() API calls. Update Intel Fortran version for Windows 10. RELEASE.txt updates. Version change for 1.10.3 release. Revised entry on CVE issues Added notes about CVE issues Update version for HDF5 1.10.3 release. Add placeholder for performance improvement in RELEASE.txt updated fortran fixes ...
Diffstat (limited to 'bin')
-rwxr-xr-xbin/cmakehdf510
-rwxr-xr-xbin/make_vers6
-rwxr-xr-xbin/release79
-rw-r--r--bin/runbkgprog87
4 files changed, 137 insertions, 45 deletions
diff --git a/bin/cmakehdf5 b/bin/cmakehdf5
index 7f6453a..da1aef8 100755
--- a/bin/cmakehdf5
+++ b/bin/cmakehdf5
@@ -46,8 +46,9 @@ cacheinit=$srcdir/config/cmake/cacheinit.cmake
build_cpp_lib=-DHDF5_BUILD_CPP_LIB:BOOL=OFF # C++ interface default off
build_fortran=-DHDF5_BUILD_FORTRAN:BOOL=OFF # Fortran interface default off
build_hl_lib=-DHDF5_BUILD_HL_LIB:BOOL=ON # High Level interface default on
-build_threadsafe=-DHDF5_ENABLE_THREADSAFE:BOOL=OFF # Threadsafe feature default off
+build_threadsafe=-DHDF5_ENABLE_THREADSAFE:BOOL=OFF # Threadsafe feature default off
build_testing=-DBUILD_TESTING:BOOL=ON # Build tests default on
+build_test_shell=-DTEST_SHELL_SCRIPTS:BOOL=ON # Run shell script tests default on
build_tools=-DHDF5_BUILD_TOOLS:BOOL=ON # Build tools default on
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT=ON # enable zlib filter default on
with_szlib=-DHDF5_ENABLE_SZIP_SUPPORT=OFF # enables szip filter default off
@@ -256,6 +257,12 @@ while [ $# -gt 0 ]; do
--disable-testing)
build_testing=-DBUILD_TESTING:BOOL=OFF
;;
+ --enable-shell-testing)
+ build_test_shell=-DTEST_SHELL_SCRIPTS:BOOL=ON
+ ;;
+ --disable-shell-testing)
+ build_test_shell=-DTEST_SHELL_SCRIPTS:BOOL=OFF
+ ;;
--with-zlib)
with_zlib=-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=ON
;;
@@ -342,6 +349,7 @@ STEP "Configure..." \
$build_threadsafe \
$shared_lib \
$build_testing \
+ $build_test_shell \
$build_tools \
$with_zlib \
$with_szlib \
diff --git a/bin/make_vers b/bin/make_vers
index 7e7fba1..4de2dbd 100755
--- a/bin/make_vers
+++ b/bin/make_vers
@@ -7,8 +7,8 @@ require 5.003;
# is added (like support for 1.4, etc), the min_sup_idx parameter will
# need to be decremented. - QAK)
-# Max. library "index" (0 = v1.0, 1 = 1.2, etc)
-$max_idx = 5;
+# Max. library "index" (0 = v1.0, 1 = 1.2, 2 = 1.4, 3 = 1.6, 4 = 1.8, 5 = 1.10, 6 = 1.12, etc)
+$max_idx = 6;
# Min. supported previous library version "index" (0 = v1.0, 1 = 1.2, etc)
$min_sup_idx = 3;
@@ -478,7 +478,7 @@ for $file (@ARGV) {
}
}
close SOURCE;
-
+
# Create header files
print "Generating '", $prefix, "H5version.h'\n";
create_public($prefix);
diff --git a/bin/release b/bin/release
index 3f75a00..afdbb51 100755
--- a/bin/release
+++ b/bin/release
@@ -188,46 +188,47 @@ tar2zip()
# Returns 0 if successful; 1 otherwise
#
# need function to create another temporary directory, extract the
- # $tmpdir/$HDF5_VERS.tar into it, add (create) build-unix.sh,
- # CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz and ZLib.tar.gz,
- # and then tar.gz it.
+ # $tmpdir/$HDF5_VERS.tar into it, create build-VS*.bat files,
+ # add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
+ # ZLib.tar.gz, HDF5 examples, and then zip it.
tar2cmakezip()
{
if [ $# -ne 3 ]; then
- echo "usage: tar2cmakezip <tarfilename> <tgzfilename>"
+ echo "usage: tar2cmakezip <tarfilename> <zipfilename>"
return 1
fi
cmziptmpdir=/tmp/cmziptmpdir$$
- mkdir -p $cmziptmpdir
+ cmziptmpsubdir=$cmziptmpdir/CMake-$HDF5_VERS
+ mkdir -p $cmziptmpsubdir
version=$1
tarfile=$2
zipfile=$3
# step 1: untar tarball in cmgztmpdir
- (cd $cmziptmpdir; tar xf -) < $tarfile
+ (cd $cmziptmpsubdir; tar xf -) < $tarfile
# sanity check
- if [ ! -d $cmziptmpdir/$version ]; then
- echo "untar did not create $cmziptmpdir/$version source dir"
+ if [ ! -d $cmziptmpsubdir/$version ]; then
+ echo "untar did not create $cmziptmpsubdir/$version source dir"
# cleanup
rm -rf $cmziptmpdir
return 1
fi
- # step 2: add batch files for building CMake on windows
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5_1_10/build-VS2013-32.bat $cmziptmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5_1_10/build-VS2013-64.bat $cmziptmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5_1_10/build-VS2015-32.bat $cmziptmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5_1_10/build-VS2015-64.bat $cmziptmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5_1_10/build-VS2017-32.bat $cmziptmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5_1_10/build-VS2017-64.bat $cmziptmpdir
+ # step 2: add batch file for building CMake on window
+ (cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2013 -C Release -V -O hdf5.log" > build-VS2013-32.bat; chmod 755 build-VS2013-32.bat)
+ (cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201364 -C Release -V -O hdf5.log" > build-VS2013-64.bat; chmod 755 build-VS2013-64.bat)
+ (cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2015 -C Release -V -O hdf5.log" > build-VS2015-32.bat; chmod 755 build-VS2015-32.bat)
+ (cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201564 -C Release -V -O hdf5.log" > build-VS2015-64.bat; chmod 755 build-VS2015-64.bat)
+ (cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2017 -C Release -V -O hdf5.log" > build-VS2017-32.bat; chmod 755 build-VS2017-32.bat)
+ (cd $cmziptmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -V -O hdf5.log" > build-VS2017-64.bat; chmod 755 build-VS2017-64.bat)
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
- cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmziptmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmziptmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.7-Source.tar.gz $cmziptmpdir
- cp $cmziptmpdir/$version/config/cmake/scripts/CTestScript.cmake $cmziptmpdir
- cp $cmziptmpdir/$version/config/cmake/scripts/HDF5config.cmake $cmziptmpdir
- cp $cmziptmpdir/$version/config/cmake/scripts/HDF5options.cmake $cmziptmpdir
+ cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmziptmpsubdir
+ cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmziptmpsubdir
+ cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmziptmpsubdir
+ cp $cmziptmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmziptmpsubdir
+ cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmziptmpsubdir
+ cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmziptmpsubdir
# step 4: convert text files
# There maybe a simpler way to do this.
@@ -235,16 +236,13 @@ tar2cmakezip()
# -k Keep the date stamp
# -q quiet mode
# grep redirect output to /dev/null because -q or -s are not portable.
- find $cmziptmpdir/$version | \
+ find $cmziptmpsubdir/$version | \
while read inf; do \
if file $inf | grep "$inf\: .*text" > /dev/null 2>&1 ; then \
unix2dos -q -k $inf; \
fi\
done
-
- mkdir $cmziptmpdir/CMake-$HDF5_VERS
- mv $cmziptmpdir/* $cmziptmpdir/CMake-$HDF5_VERS
# step 3: make zipball
# -9 maximum compression
# -y Store symbolic links as such in the zip archive
@@ -289,9 +287,9 @@ tar2cmakezip()
# Returns 0 if successful; 1 otherwise
#
# need function to create another temporary directory, extract the
- # $tmpdir/$HDF5_VERS.tar into it, add (create) build-unix.sh,
- # CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz and ZLib.tar.gz,
- # and then tar.gz it.
+ # $tmpdir/$HDF5_VERS.tar into it, create build-unix.sh,
+ # add CTestScript.cmake, HDF5config.cmake, SZIP.tar.gz
+ # ZLib.tar.gz, HDF5 examples, and then tar.gz it.
tar2cmaketgz()
{
if [ $# -ne 3 ]; then
@@ -299,16 +297,17 @@ tar2cmaketgz()
return 1
fi
cmgztmpdir=/tmp/cmgztmpdir$$
- mkdir -p $cmgztmpdir
+ cmgztmpsubdir=$cmgztmpdir/CMake-$HDF5_VERS
+ mkdir -p $cmgztmpsubdir
version=$1
tarfile=$2
tgzfile=$3
# step 1: untar tarball in cmgztmpdir
- (cd $cmgztmpdir; tar xf -) < $tarfile
+ (cd $cmgztmpsubdir; tar xf -) < $tarfile
# sanity check
- if [ ! -d $cmgztmpdir/$version ]; then
- echo "untar did not create $cmgztmpdir/$version source dir"
+ if [ ! -d $cmgztmpsubdir/$version ]; then
+ echo "untar did not create $cmgztmpsubdir/$version source dir"
# cleanup
rm -rf $cmgztmpdir
return 1
@@ -316,17 +315,15 @@ tar2cmaketgz()
# step 2: add build-unix.sh script
- (cd $cmgztmpdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log" > build-unix.sh; chmod 755 build-unix.sh)
+ (cd $cmgztmpsubdir; echo "ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log" > build-unix.sh; chmod 755 build-unix.sh)
# step 3: add SZIP.tar.gz, ZLib.tar.gz and cmake files
- cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpdir
- cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.7-Source.tar.gz $cmgztmpdir
- cp $cmgztmpdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpdir
- cp $cmgztmpdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpdir
- cp $cmgztmpdir/$version/config/cmake/scripts/HDF5options.cmake $cmgztmpdir
- mkdir $cmgztmpdir/CMake-$HDF5_VERS
- mv $cmgztmpdir/* $cmgztmpdir/CMake-$HDF5_VERS
+ cp /mnt/scr1/pre-release/hdf5/CMake/SZip.tar.gz $cmgztmpsubdir
+ cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir
+ cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-1.10.8-Source.tar.gz $cmgztmpsubdir
+ cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir
+ cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir
+ cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmgztmpsubdir
tar czf $DEST/CMake-$HDF5_VERS.tar.gz -C $cmgztmpdir . || exit 1
# cleanup
diff --git a/bin/runbkgprog b/bin/runbkgprog
new file mode 100644
index 0000000..69fa2d0
--- /dev/null
+++ b/bin/runbkgprog
@@ -0,0 +1,87 @@
+#!/usr/bin/perl -w
+require 5.003;
+$indent=4;
+
+#
+# Copyright by The HDF Group.
+# Copyright by the Board of Trustees of the University of Illinois.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
+# the COPYING file, which can be found at the root of the source code
+# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.
+# If you do not have access to either file, you may request a copy from
+# help@hdfgroup.org.
+#
+
+# Run program in background
+#
+use warnings;
+use strict;
+
+use Carp;
+use Time::HiRes;
+use POSIX 'setsid';
+
+my $child_pid;
+my $child_proc;
+my $cmd = $ARGV[0];
+my $debug = 1;
+
+print "\nStart child process\n";
+start_child();
+print "\nStarted child process\n";
+
+sub start_child {
+ die "cannot execute cmd: $cmd" unless -x $cmd;
+ if ($^O eq 'MSWin32') { # Windows
+ require Win32::Process;
+ Win32::Process::Create($child_proc, $cmd, $cmd, 0, 0, ".") || confess "Could not spawn child: $!";
+ $child_pid = $child_proc->GetProcessID();
+ }
+ else { # Unix
+ $SIG{CHLD} = 'IGNORE';
+ $child_pid = fork();
+ unless (defined $child_pid) {
+ confess "Could not spawn child (Unix): $!";
+ }
+ if ($child_pid == 0) { # child
+ unless ($debug) {
+ open STDIN, "<", "/dev/null" or die "Can't read /dev/null: $!";
+ open STDOUT, ">", "/dev/null" or die "Can't write /dev/null: $!";
+ }
+ setsid or warn "setsid cannot start a new session: $!";
+ unless ($debug) {
+ open STDERR, '>&STDOUT' or die "Can't dup stdout: $!";
+ }
+ local $| = 1;
+ unless (exec($cmd)) {
+ confess "Could not start child: $cmd: $!";
+ CORE::exit(0);
+ }
+ }
+ # parent
+ $SIG{CHLD} = 'DEFAULT';
+ }
+ # catch early child exit, e.g. if program path is incorrect
+ sleep(1.0);
+ POSIX::waitpid(-1, POSIX::WNOHANG()); # clean up any defunct child process
+ if (kill(0,$child_pid)) {
+ print "\nStarted child process id $child_pid\n";
+ }
+ else {
+ warn "Child process exited quickly: $cmd: process $child_pid";
+ }
+}
+
+sub stop_child
+{
+ if ($^O eq 'MSWin32') { # Windows
+ Win32::Process::KillProcess($child_pid,0);
+ }
+ else { # Unix
+ kill 9, $child_pid || warn "could not kill process $child_pid: $!";
+ }
+ print "Stopped child process id $child_pid\n";
+}