Remove --enable-hdfv1_6 configure flag, now that all dependencies on it
have been removed and new --with-default-api-version=[v16|v18] and
--disable-deprecated-symbols flags have taken its place.
Update types in bin/trace so that bin/reconfigure runs cleanly.
Run bin/reconfigure to regenerate configure script, along with
other associated files, etc.
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
Make version macro for typedefs closer to version macro for API
functions.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
Pursue calls to H5Gcreate() relentlessly and ruthlessly exterminate
them, leaving only a few tame specimens in text files and comments. ;-)
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
Remove stray reference to "group revision" configure flag
Remove Windows-specific EOL characters from src/H5FDwindows.c
Add some missing types to bin/trace
Re-run bin/reconfigure script to regenerate information after changes above.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (linux)
Solaris/32 2.10 (linew)
Add --enable-deprecated-symbols configure option, to allow users to
remove deprecated public API symbols at configure time.
Add bin/make_vers script to bin/reconfigure actions.
Run bin/reconfigure to regenerate autotool components.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
Linux/32 2.6 (kagiso)
Initial checkin of API version macro generation script (bin/make_vers),
along with configuration file (src/H5vers.txt) and generated header
(src/H5version.h). Right now, no version macros are defined, since the main
source code and tests need to be adjusted to pay attention to the macros
defined.
Also, fixed makefile for generating error header files when used with
GNU make.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Added a clarification the environment variables dumping is BEFORE command option
parsing. Also added a dumping AFTER the option parsing.
Tested:
Just eyeballed since it is trival. Let daily tests runs to test it.
Bug fix (851)
Description:
h5vers calls bin/reconfigure which may fail but h5vers does not
check its return value. This will result in discrepency between
files such as configure and configure.in.
Solution:
Fixed it by checking exit code of bin/reconfigure and return error if
it fails.
Tested:
osage and kagiso.
Bug fix.
Description:
When it reads the allhostfile, it does eliminate comments or blank lines
completely, thus it continues to use ssh/rsh even when only the local
host is tested.
Solution:
Changed the sed scripts to eliminate comments and blank lines.
Tested:
Cobalt by running bin/runtest. Since this is not really library source,
the three platforms test does not apply.
Show disk usage at different stage of the snapshot processes
so that we know how much disk are needed in different stage.
(This still does not know how big disk usage during make check
process since many temporary files are deleted right after the tests
finish.)
Tested platform:
Kagiso.
Description:
Fixed some mistakes introduced yesterday due to a misunderstanding of what sort of datatypes the trace scripts prints out. This commit mostly reverts those changes, adds some new datatypes, and fixes some errors with regards to how the trace script handles pointer datatypes. Since the trace script scans the argument list for the "*" character and handles it appropriately, one should never need to explicitly specify a pointer type in the TypeString hash.
Description:
Fix up the bin/trace script. The script has been updated to include all of the new datatypes that have been added to the library. It's output has also been made a bit clearer with regards to the NO TRACE comment scattered throughout the code which prevents tracing information from being added.
The script cannot handle functions that take a variable number of arguments nor can it deal with functions whose prototype differs based on certain preprocessor directives. However, there are only 3 instances of this in the library. All other warnings that the script used to generated have been fixed.
The script has not actually been run on the source files yet.
Tested:
smirom
Add mention of the h5copy & h5mkgrp tools to the release notes.
Update documentation for the "--private" flag in release script
Tested on:
None - just text/comment changes
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
Improvement.
Description:
Added the forcemode option. (was in hdf4 for months.)
auto-configure have changed the ac_try syntax from 'eval $ac_try' to
'eval "$ac_try"'. Add a new global-substitute to support that too.
Platforms Tested:
Kagiso only since it is just a shell script simple change.
The execution method changed a little bit. It is not just (eval $ac_try ...)
but as (eval "$ac_try") instead. Changed to use the new pattern.
Platfrom tested:
Red storm.
default to be release_dir in the snapshot base directory so that it is simplier
to control release directory destination per snapshot setup.
Tested platform:
Kagiso.
bug fix.
Problem:
1. The last fix using "svn --version" did not work since the source code
is shared between different machines which have different svn versions.
Changed the code to inspect the .svn/entries content to guess what version
of svn uses. From that to decide which GETSVNENTRIES to use.
2. GETSVNENTRIES_14 had two errors:
2.a., % as 1,$ is actually not recognized by ed. Changed that to "1,$s/..."
but that got mixed up with $ being a shell meta-character. Changed to use
g command instead. (Could have use \ to escape $ but g is cleaner.)
2.b., Some directories have no files but sub-directories. The ed script
might end up with an empty file in some steps and ed does not like to
run g command with an empty file. Fixed it by adding a dummy blank line.
Platforms tested:
Osage and copper.
Upgrade.
Description:
svn version 1.4.x uses a different format of .svn/entries files as older
versions like 1.3.x. chkmanifest could not parse the file correctly.
Solution:
Created different versions of entries file parsing according to svn version.
There is also a bug in grep that matches ./configure with ./fortran/configure.
Don't know how to or even possible to nullify the wildcard character effect
of '.'. Added a ^ to mark beginning of line. At least it makes it the same
length though it would still match with "X/configure". Hopefully this sort
of error are easier to detect by human
Add "attribute exists" internal routine to make verifying that an attribute
with the same name doesn't already exist easier.
Tweak "trace" script to produce more whitespace in H5TRACE macros, in order
to make them easier to read.
Minor other whitespace cleanups
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Switch from using H5L_index_t/H5L_INDEX_<foo> to H5_index_t/H5_INDEX_<foo>
in order to accommodate indices on aspects of attributes as well as links.
Add basic support for deleting attributes in dense storage (needs more
support/tests for shared attributes in dense storage still).
Misc. cleanups, etc.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
The version of libtool used by HDF5 isn't directly affected by the reconfigure
script; instead, libtoolize --force must be used by hand. Libtool was the
source of the problem, so rolling its version back to 1.5.14 should solve the
issue (at least temporarily).
Reconfigure should still work on both heping and kagiso.
Tested on heping, kagiso, and tg-login3.
File format is not stable, don't keep files produced!
Description:
First stage of checkins modifying the format of groups to support creation
order. Implement "dense" storage for links in groups.
Try to clarify some of the symbols for the H5L API.
Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)
Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).
Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.
Clean up lots of compiler warnings and other minor formatting issues.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-v1.6 compa
Mac OSX/32 10.4.8 (amazon)
AIX 5.3 (copper) w/parallel & FORTRAN
Users can create external links using H5L_create_external(). These links
point to an object in another HDF5 file. Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.
Added tests, tools support, etc.
Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).
Additional documentation and examples are forthcoming.
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL). Tests that fail will be skipped.
This is not a perfect fix, but is better than nothing.
Along with this change, check-vfd should be added to the Daily Tests.
Upgrade
Description:
chnaged it from doing CVS-managed files to SVN-managed files.
(The use of ed, is real ugly, but ed exists in all Unix systems.
May want to consider using awk which is a more powerful and will have
a cleaner implementation.)
Feature
Description:
Revised Link APIs.
Solution:
New link APIs use H5L*
H5*create_expand do not create links to the objects created; this must
be done manually with H5Llink.
Added APIs to link an object given its ID (H5Llink), to copy links (H5Lcopy),
and changed creation APIs (H5Lcreate_hard and H5Lcreate_soft) and query
API (H5Lget_linkinfo instead of H5Gget_objinfo).
All old APIs are still supported in H5Gdeprec.c .
Platforms tested:
sol, mir, copper
Misc. update:
Forgot to update MANIFEST and release docs. Will do after checkin.
The snapshot release directory was temporarily moved to a different
directory called unstable_format. Since the format is now back to
the normal one, reverse the release directory to the normal place too.
Platforms tested:
No test since it was a trivial change.
feature.
Description:
Added the option of -64 which is similar to -n32. This is needed by
Atlantia which has the ABI as -n32.
Platforms tested:
Pretty straight forward but not testable by h5committest.
Will be tested when daily tests run.
fix.
Description:
More machines stop supporting "rsh machine command".
Worse yet, it hangs the "rsh machine command" process.
Solution:
Switch the order of testing remote execution to use
ssh first, then rsh.
Platforms tested:
no h5committest since it does not test this command.
Change is trivial and will monitor Daily test tonight.
Bug fix
Description:
The snapshot script was trying to install-doc, even though the docs are
no longer included in the cvs repo.
Solution:
Replaced 'make install install-doc' with 'make install-all', which should
have the same effect (installing the library and examples).
Platforms tested:
very minor change
Change to release script
Description:
Silenced doxygen's output when bin/release doc is run. Now if doxygen
has an error the release script will exit.
Platforms tested:
mir
New feature.
Description:
Added the feature to make a release tarball for the documents tree too.
Platforms tested:
Feature code was created by James. I just did some touch up and
tested it by hand in heping. I am checking it in while he is absent.
Misc. update:
Cleanup
Description:
v1.7:
Removed some debug files left by previous change.
Uncommented the removal of the temporary working directory.
v1.6:
Moved the code of removal of the temporary working directory
to a later location in order to stay in sync with v1.7.
(The later location is needed for v1.7 code but makes no different
to v1.6)
Platforms tested:
Tested by hand.
improvement.
Description:
Release must be run at the top of the hdf5 source directory.
Added a test to verify this condition at the beginning of the
command.
Platforms tested:
Tested by hand.
Bug fix in release script
Description:
release --private should create a release without changing the current
version of the library. This wasn't working for the libtool version, which
was getting bumped regardless.
Solution:
Fixed the release and h5vers scripts to leave the source directory
unchanged when bin/release --private is run.
Platforms tested:
mir (changes to scripts only)
Bug fix.
Description:
Fixed a typo and also moved initialization of n_xxxx variables to the
common declaration place.
Platforms tested:
Tested in v1.6 branch already.
Cleaned up reconfigure output
Description:
Added two lines to separate output from trace script from autotools
output in reconfigure.
Solution:
Running reconfigure updated src/Makefile.in as a side effect, since
I changed config/lt_vers.am in my last checkin but forgot to
run reconfigure then.
Platforms tested:
mir (cosmetic change to reconfigure script only)
Bug fix.
Description:
release created temporary files in .. directory. If the -d directory
is the same as the parent directory, it would fail when it tried to
copy the temporary files to the destination directory.
Solution:
Changed release to create a temporary directory and create all temporary
files in that temporary directory.
Platforms tested:
Handtested in heping.
Improvement
Description:
Release action now prints a message showing Release version and where it
deposits it.
Platforms tested:
Change is simple and will test by hand after check in.
Misc. update:
Improvement.
Description:
Splitted the "make check" into "make check-s" and "make check-p" so that
it is clearer which nature of tests are being tested.
Platforms tested:
heping (serial and pp).
Temporary fix.
Description:
Since the file format is unstable, we don't want the snapshot tarball
be readily available to any FTP users. Change the snapshot archived
location to a directory that is not accessible by Anon. FTP. If someone
wants to use one of these snapshot versions, give him/her a copy of these
files.
When file format is restored, switch this back to the previous default
location.
Platforms tested:
no test since change is pretty trivial. I have scheduled a snapshot
release tonight to see if it will put it in the right place.
Feature
Description:
bin/reconfigure now allows users to define the paths to the autotools on their
system. bin/reconfigure also runs the trace script when it is invoked.
Solution:
The autotools are specified using environment variables: AUTOCONF, AUTOMAKE,
ACLOCAL, AUTOHEADER, and LIBTOOL_DIR. See bin/reconfigure for the defaults.
The version of each of the autotools is checked before they are run, so
users can't invoke the wrong version of any autotool.
The trace script is run on all the .c files in the src directory when
reconfigure is invoked. Ideally, bin/reconfigure should be run when any new
function is added to the library, but if the tracing information is out of
date the library will still work.
The trace script has also been modified to ignore the multi and stdio file
drivers (per Quincey's suggestion).
Platforms tested:
mir, shanti
Cleanup and new feature.
Description:
Remove old code no longer used (LOCATE_GASS, LOCATE_FORTRAN, LOCATE_HDF4.
Added new option to locate szlib.
Platforms tested:
Tested in heping and shanti.
Configure feature
Description:
Added 'make trace' target.
Solution:
Added tracing to 1.7. This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Improvement
Description:
The previous HTML files strategy was to expect the very first comment
block is the copyright notice. That did not work well as more and more
other comments appear now.
Solution:
Changed the strategy to look for the only the essential body of copyright
notice. This no longer verifies this body of text is a comment block. But
the previous strategy is not really bullet-proof either.
Platforms tested:
tested in heping.
Improvement
Description:
The previous HTML files strategy was to expect the very first comment
block is the copyright notice. That did not work well as more and more
other comments appear now.
Solution:
Changed the strategy to look for the only the essential body of copyright
notice. This no longer verifies this body of text is a comment block. But
the previous strategy is not really bullet-proof either.
Platforms tested:
tested in heping.
Bug fix, feature.
Description:
Fix a bug to recognize "#xyz..." is a comment in the init file.
Add more binary data file types.
Added prunepath command.
Platforms tested:
heping.
Added messages to remind platform watchers to check for processes
still running in the remote machine after timeout.
Platforms tested:
Just eyeballed. Changes is trivial.
Improvement
Description:
The copyright notice of some files may contain some white spaces such
as tabs, trailing blanks and \r (common in Windows files). Diff will
flag them as not matching. Could not just use -b or -w of diff because
it will ignore embedded spaces and could not handle \r anyway.
Solution:
Added a RINSE function will remove all \r and trailing spaces and
expand tabs to proper number of spaces. Now, diff can compare without
worry of cosmetic white spaces.
Platforms tested:
heping, applying on a Windows/copy_hdf.bat file.
New feature
Description:
A tool to fix configure file so that it can launch configure testing executable
via the proper launching command, e.g., yod. (Thus the name yodconfigure
is used.)
Tested:
Red Storm, both parallel and serial configure.
Bug fix.
Description:
chkcopyright has been changed to return an exit code whether it passes
or not. Changed the detection accordingly.
Platforms tested:
heping.
Update copyrights
Description:
Updated copyright information in hdf5/bin and top-level and added some
more files to be skipped to the chkcopyright config file.
Platforms tested:
None - just eyeballed
Improvement.
Description:
The df command sometimes hangs because of file system problem.
Solution:
Run the df command as background process and wait for it 10 seconds
to finish, then just continues.
Platforms tested:
Should work. Daily test will test it.
Added another case of shell-like style file--if lines leading by #'s
are found, treat it like a shell-like style file.
Platforms tested:
hand tested in heping.
New feature.
Description:
Added code that try to guess what type of file it is by inspecting the
first 5 lines. Then it tries to find the Copyright notice according
to the guess.
Another revamp.
Description:
Now search the copyright notice within the beginning 60 lines only.
(This applies to source code. For HTML files, it is still search
all the way through the file.)
Platforms tested:
Hand tested.
revision.
Description:
The copyright notice for Makefile(in) were fixed at the beginning of the files.
But they are now generated by automake and autoconf such that Gnu jams its
own copyright block at the beginning.
Solution:
Changed the rule such that the HDF5 copyright notice can be somewhere else
in the file as long as they are together as one paragraph.
Also added recognition of Makefile.am as a possible MAKEFILE type.
Platforms tested:
Tested by hand in heping.
Feature.
Description:
Added the copyright checking--most settings are temporary. Need
cleanup or fixes when most copyrights notices are completed.
Platforms tested:
Tested by hand.
Bug fix.
Description:
In some racing condition, the process ID file might be removed just
the moment before timekeeper cats its content. When that happens,
the $pid is a blank. Timekeeper was not prepared for this.
Solution:
Added code to verify $pid is some number before proceeding.
Platforms tested:
Tested by hand only.
upgrade.
Description:
A new feature md5 is added to the release script. Upgrade snapshot
to include md5 in the snapshot release process.
Platforms tested:
No test since the change is pretty simple and it is hard to test
without really doing a snapshot release.
Misc. update:
Feature - md5 checksum
Description:
Added md5 checksumming to snapshot releases. When bin/release is run,
it will by default create a .tar archive and a .md5 checksum of that
archive in the destination directory.
Solution:
md5 is now a method in bin/release, along with the various ways to compress
hdf5. The checksum is always of the .tar archive, even when other forms
of compression are used (this is so that a given release always has only
one checksum, for simplicity).
Platforms tested:
mir (change to bin/release only)
Misc. update:
Bug fixes
Description:
This checkin fixes an occasional error on kelgia on sol during distclean.
It also causes test scripts to depend properly on the programs they're
supposed to be testing.
Solution:
The kelgia bug was due to some files being cleaned by automake and manually.
Removed the manual cleaning in src/Makefile.am.
Test script dependencies now need to be specified manually, since the
makefile can't guess what they test from their name. Currently all test
scripts in a given directory have a single list of dependencies--this was
easy and seems to be sufficient.
These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am.
Platforms tested:
heping, mir, modi4, sol
Misc. update:
Bug fix.
Description:
Error encountered in the clean command was not passed back to calling
command. Fixed it.
Platforms tested:
heping (where clean has no error) and sol (where clean has error).
cleanup.
Description:
The install directory (--prefix) has been changed to $PWD/hdf5 long time
ago. It is no need to reset to installdir any more.
Platforms tested:
Change is trivial and will be tested in Daily tests.
Misc. update:
upgrade.
Description:
Release used to copy the updated release_docs/HISTORY.txt and
release_docs/RELEASE.txt to the doc/html/ADGuide. The doc/ is
removed from the source tree. So, remove the command that
does the copying.
Note that once the separated doc/ location is known, release needs
to copy the two files into them and committed them via sub-version
commands.
Platforms tested:
No test because it is a trivial change and it is not easy to change
without triggering the full release process.
Misc. update:
bug fix.
Description:
The deploy command would exit whether it succeeded or not.
Solution:
Fixed it so that it exits only when deploy has encountered failures.
Platforms tested:
Trivial change. Will watch the daily test results.
Misc. update:
bug fix.
Description:
-nt is not a universal option for the test command in all platforms.
The use of it in conclude.am cause some platforms to bark at the
Makefile generated.
Solution:
Created a command script bin/newer which tests if file1 is newer
than file2. Replace the "test file1 -nt file2" by
"newer file1 file2".
Platforms tested:
Tested in sol.
Feature.
Description:
The temporary output filename of each remote host test is now
a combination of hostname and configname.
Platforms tested:
Will be tested by Daily test.
Configuration feature
Description:
Formerly, bin/reconfigure needed to invoke Automake with the --foreign
flag or it would fail. It turns out that there is a clever way to
specify this flag inside configure.in so that it doesn't need to
be explicitly invoked.
This should make it easier for people not using machines connected
to AFS (e.g., the netCDF folks) to invoke Automake on HDF5.
Platforms tested:
mir and heping
Add API calls allowing user control of the metadata cache.
Description:
Prior to this update, the metadata cache was not configurable
from outside the library.
Solution:
Add API calls allowing the user to configure the metadata cache
either at file open time, or for any open file. Also added calls
permitting the user to monitor cache size and hit rate. These
latter facilities are needed for "manual" cache size control
Platforms tested:
h5committested
Misc. update:
Feature - libtool shared library versioning
Description:
Libtool provides a mechanism for different versions of the same shared
library to be distinguished. Now this is applied to HDF5 when it is
built as a shared library.
Solution:
The version number is stored in config/lt_vers.am, and included in
src/Makefile.am.
This number will be automatically updated by bin/h5vers; developers
only need to update it when they change the API.
*** IMPORTANT ***
Any time the API changes, the version number in config/lt_vers.am must
be updated!
Platforms tested:
mir, eirene, verbena, modi4
Misc. update:
Bug fix
Description:
When chkmanifest failed, output is not dumped to failed detail section
and people tend to ignore it.
Solution:
Buffer the output of chkmanifest in a file and dump it to failed detail
section if it fails. Else, just output to standout.
Platforms tested:
Tested by hand in heping.
Improvement
Description:
Dumping the beginning 10 lines of log files does not give much
useful information and they sort of mix up with the last 30 lines.
Solution:
Do not dump the beginning 10 lines any more.
Platforms tested:
Tested by hand.
Purpose:
Bug fix
Description:
Automake relies on the helper script depcomp to handle dependency tracking.
This script was from an older version of automake, and was generating
warnings on copper and sol.
Solution:
Updated bin/depcomp and bin/missing scripts.
Platforms tested:
copper, sleipnir, modi4
Automake version upgrade
Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.
Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
Bug fix
Description:
h5vers would spit out the output that reconfigure script produced.
Solution:
Sent output from reconfigure to /dev/null. h5vers is now quiet as before.
Platforms tested:
verbena, eirene, heping
Bug fix
Description:
h5vers script called automake without using bin/reconfigure
Solution:
Altered h5vers script to use bin/reconfigure
Also:
***
CHANGED NAME OF reconfigure.sh TO reconfigure !
***
This matches the other scripts in the bin/ directory. Also changed
permissions on reconfigure so it can be executed.
Platforms tested:
eirene
Misc. update:
Feature
Description:
Added code to dump the beginnng and last few lines of the
test log file if errors have occurred.
Platforms tested:
Tested the code itself separatedly but daily test is where
it is really tested. Should work.
feature
Description:
Starting to add a feature that will print out details from the snapshot
test logfile when the test fails. Only a debug statment is added to
see if snapshot is reporting error status correctly.
Platforms tested:
Not tested. Wait for daily test to show the result.
Update
Description:
Matthew reinstalled autotools into AFS with architecture directories.
Solution:
Updated bin/reconfigure.sh script to point to new locations of autotools.
reconfigure.sh should run on "any" Linux box connected to AFS.
Platforms tested:
reconfigure.sh tested on heping and eirene. No other files modified.
Purpose:
Bug fix
Description:
HDF5's libtool includes a hack to ensure that libraries are found
on IRIX. This hack did not have the correct path for the hl-fortran
tests to find the main library.
Solution:
Extend the hack. This may call for a better long-term solution...
Platforms tested:
modi4 (hack only takes effect on IRIX)
Improvement.
Description:
Added a command to dump all environment variables at the
beginning of the snapshot test.
Platforms tested:
Attempted to test in eirene but aborted it after seeing the
dumping because it was doing things to the current/ of daily
test directory. *arg!*
Purpose:
Bug fix
Description:
modi4 dies during build with strange errors.
The root cause of these is a two-year-old hack in HDF5's libtool
script that only takes effect on IRIX.
Solution:
Edited the libtool hack (by editing ltmain.sh) to correct a bug in
the hack.
Also made sure that compiler-specific DEFAULT_LIBS are used
when linking.
Platforms tested:
sleipnir, copper, modi4, sol
Configure feature
Description:
Changed bin/reconfigure.sh script to use autotools in AFS.
Solution:
Previously, the only machine with the correct versions of autoconf and
automake was heping. Now both tools are installed in AFS, so
in theory any hdf machine can be used to run the reconfigure script.
Platforms tested:
heping, eirene, verbena.
On sleipnir and arabica the autotools were unable to find a version
of m4 that was new enough for them.
Misc. update:
Bug fix
Description:
Correct formatting error which would run some macros together if the
length of the error got too large.
Solution:
Throw in some extra whitespace
Platforms tested:
FreeBSD 4.11 (sleipnir) w/parallel
Too minor to require h5committest
Bug fix
Description:
Correct path to 'sh' and set executable, so this script can be run
directly from the command line.
Platforms tested:
Linux 2.4 (heping)
Too minor to require h5committest
Bug fix
Description:
Dependencies for aclocal.m4 seemed to be confused. This was causing
make to try to re-generate a bunch of configuration files.
Solution:
Updated and re-ran reconfigure.sh script.
Platforms tested:
sleipnir, copper, sol
Bug fix
Description:
Two files in the bin directory didn't make it into CVS.
Solution:
Added depcomp and compile to CVS repository.
Platforms tested:
Already testsed with these files.
Configuration feature
Description:
HDF5 now uses automake to generate Makefiles
Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh
Platforms tested:
Many
slight improvement
Description:
Added a time stamp when a host is not reachable.
Added a pause to let timekeeper to complete.
Platforms tested:
It should work.
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)
Description:
Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation. So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.
I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
FreeBSD 4.10 (sleipnir) w/threadsafe
FreeBSD 4.10 (sleipnir) w/backward compatibility
Solaris 2.7 (arabica) w/"purify options"
Solaris 2.8 (sol) w/FORTRAN & C++
AIX 5.x (copper) w/parallel & FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN
Linux 2.4 (heping) w/FORTRAN & C++
Misc. update:
Updated to call timekeeper with minutes.
Also put all timekeeper output to a separated logfile.
Platforms tested:
Did not test since it is hard to test without starting the whole daily test.
The change is trivial too.
Feature
Description:
# As a time keeper of the remote daily test process launched by runtest.
# It sleeps for a certain time and then wakes up to hangup those processes
# that are still around, assuming they have run too long.
Platforms tested:
hand tested in heping.
Bug fix.
Description:
-e is not a valid condition for /bin/sh in all machines such as SunOS.
Solution:
Rewrote the condition to avoid the need of using "test -e ...".
Platforms tested:
In Sol only.
Bug fix.
Description:
There was a historical hack to prevent runtest in multiple
hosts to run cvs update while they were launched by the daily test.
But a more proper fix has been implemented to prevent that but
this hack was not removed. It ended up enforcing one CVS update
per day. But if someone tested runtest during the day, it would
prevent the evening daily from doing update. That is not good.
Solution:
Removed the hack which is not need any more.
Platforms tested:
NO h5committest since it does test runtest. Tested it by
hand in eirene and heping.
Misc. update:
Feature
Description:
Added code to support the -configname feature.
Platforms tested:
no h5committest which does not test this command.
ran it by hand in eirene comparing tg-login1 and tg-login2.
Misc. update:
Feature
Description:
Added --private option which is for individuals making a private
release version. It sets the SubRelease string to the date of
release. This should be sufficient to distinguish releases
provided one does not make two private releases on the same
day.
Platforms tested:
No h5committest since it does not test this feature.
Hand tested it in Eirene.
Bug fix and feature.
Description:
The setenv was done in runtest but it has the effect will linger
onto the next test. So, if the first test sets $CXX to a certain
value, it lingers on the all following tests of the same host.
This is usually not desired.
Solution:
Move the actual setenv code to snapshot. Runtest now just parses them
and pass along the setenv request to snapshot.
Platforms tested:
no h5comittest which does not really test the change.
Hand tested in eirene with Tg-NCSA.
Misc. update:
Code cleanup & small bug fix
Description:
Regenerate dependency files
Add htri_t as separate type from hbool_t for code tracing purposes.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/parallel
too minor to require h5committest
Bug fix/code update
Description:
Upgrade to latest version of config.guess & config.sub, which work
correctly on Cray X1 (and may help on NEC SX-6).
NOTE: This upgrade has _nothing_ to do with autoconf or libtool, these
shell scripts are _not_ tied to any particular version of those tools.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
Cray X1
cvs checkout often included empty directories the contents of which
are no longer needed.
Added -P to cvs command to prune them.
Platforms tested:
no h5committest which does not test snaptest.
cleanup.
Description:
Removed the old command that parses setenv2 and setenv3 which are
replaced by setenvN.
Platforms tested:
No h5committest since it does not test this script.
Pretty sure it works.
new feature
Description:
Added the -setup option so that it can setup the snapshot test
directory structure. This will help the setup of snapshot test
in a new machine, especially remote machine much easier.
Platforms tested:
no h5committest becuase it does not test this script.
Tested in tg-ncsa.
Improvement
Description:
The cvs checkout used the complete path of current/ which is not
accepted by cvs server. Changed it to chdir to the snapshot directory
and then cvs checkout just current/.
Platforms tested:
Not h5committested because it does not test this command.
Tested in tg-ncsa which has no direct access to the CVS directory
and must use the server route.
Misc. update:
Bug Fix/Update
Description:
Updated "trace" to include "void**" as a datatype (it sets it to
"x"). Format changes as well.
Added "close(DEPEND); close(NEW);" to the dependencies script. This
was reported by a user that it wasn't doing this.
Platforms tested:
Linux (small changes)
Misc. update:
Bug fix
Description:
The op-snapshot checkout "ate" the next option by mistake.
Solution:
Remove the extra shift.
Platforms tested:
Can't really test it without doing a real snapshot test.
Pretty sure it is correct and will watch the result tomorrow.
Misc. update:
Improvement
Description:
The -w timeout option is not supported by all hosts.
Added the "ping -c 3" possible PING command.
Platforms tested:
Tested in eirene by hand only.
Misc. update:
new feature
Description:
Added a new option of "setenvN" which does
set environment variable with $1 values
e.g., setenvN 3 x a b c is same as setenv x="a b c".
Platforms tested:
No h5committest. Tested by hand in copper.
Misc. update:
new feature
Description:
Added a new test option of
op-snapshot <option> snapshot option
This allows snapshot.cfg to tell runtest to run snapshot with a
special option.
Platforms tested:
Not h5committest because it is outside of its scope.
Tested by hand.
Misc. update:
New features
Description:
Add options of verbose (-v, -v9) and -fname which limits to
checking file with the file name pattern.
Solution:
Platforms tested:
Did not h5committest which does not cover this command.
Verified it by hand.
Misc. update:
feature
Description:
Added the checking for Makefile.
Skip checking CVS files.
Printed filename of unknown file types.
Platforms tested:
No h5committest.
Tested by hand on various files.
Misc. update:
Code cleanup
Description:
Removed H5E_major_t and H5E_minor_t since they aren't used in the library
any longer.
Platforms tested:
h5committested
Misc. update:
Update/Fix
Description:
The Dependencies files weren't begin generated properly for C++.
Solution:
Modified the "dependencies" script to use "top_srcdir" only instead
of "srcdir", which tended to confuse matters. Regenerated the
Dependencies files.
Platforms tested:
Arabica (Small changes)
Misc. update:
Update
Description:
Revamped the configuration system. The configurations for the Fortran
and C++ libraries are no longer separate from the "main"
configuration system. This involved removing the "configure*" and
"aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
merging settings in the config/ subdirectories into the main config/
subdirectory.
Fortran header files had to be modified a little for Linux. It was
checking if it was a Linux machine by some #defines, however with the
-std=c99 switch, these defines weren't there. I added a check for
some other ones which should be there whether the -std=c99 switch is
used or not.
Had to add C++ information to this script.
Platforms tested:
Verbena (Fortran & C++)
Sol (Fortran & C++)
Copper (Fortran & C++)
Modi4 (Parallel, Fortran, & C++)
Misc. update:
New Feature
Description:
A command script to check if the Copyright notice is included in
the files.
Platforms tested:
no h5committest since it does not apply.
Tested by hand.
Misc. update:
Updated MANIFEST
Removed old feature
Description:
Removed the hardsetting of --prefix and creation of <prefix>/ directory
since this version has prefix default to hdf5/ in the build-directory
and will create the <prefix>/ directory during install.
Platforms tested:
Tested in eirene by hand.
Misc. update:
New tool.
Description:
A new tool to build the HDF5 library. This was historically the
makeh5 command. Added here so that it can be used in machines outside
of the HDF Groups. Having it in the source allows version specific
customization.
Platforms tested:
Did run h5committest which failed due to other source code problems.
Tested it by hand by ../hdf5/bin/buildhdf5 and passed as far as its
own functionality.
Misc. update:
Bug fix
Description:
If the base directory (.../snapshot-...) does not exist yet,
the runtest and snapshot will continue on till it bumped into
a "wall".
Solution:
Added verification that the BASEDIR does exist.
bug fixes
Description:
The "fs flush" actually discards the local caches information,
NOT pushing the local file out to the servers. It does not
help the AFS problems we had but probably made it worse by
creating more demands on the servers.
Solution:
Removed the FLUSH_FILES code.
Platforms tested:
Can't be tested by h5committest and I am pretty sure the
change is safe.
Misc. update:
Bug Fix
Description:
If there was a header file with a path like:
/some/path/mpich.optimized/...
The dependencies script would change that to
/some/path/mpich.loptimized/...
^--Note.
Solution:
Mike McKay offered the solution to replace the substitution script
from "s/\.o/\.lo/g" to "s/\.o(\b)/\.lo$1/g". It doesn't crash when
run on Linux, but we need to make sure that it's okay for his
machine.
Platforms tested:
Linux, since this script is only run on GNU platforms.
Misc. update:
feature.
Description:
Added the option of "setenv3" which sets the environment variable
that has three components like env AR="ar -X 64". It is another
kludge like setenv2. Got to code in a better 'setenv' option.
Platforms tested:
Copper (because its -64 compiling needs that AR set as above).
Eirene (where it usually launches).
Did not do h5committest which does not test bin/runtest.
Misc. update:
bug fix.
Description:
It checked on the CVSROOT setting even when no cvs is needed.
Solution:
Moved the verification inside the checkout code so that the
CVS settings are checked when it is needed.
Platforms tested:
Eirene--this is invoked by bin/runtest. Platform tests do not
apply here.
Misc. update:
New Feature
Description:
Some machine has a different hostname from its official name (e.g., copper
is called Cu12) and some machine name are dynamic aliases (e.g., titan is
mapped user01 or user02). Some names are cryptic (who could remember
hn0? are platinum hosts while user0? are for titan). We had to hardcode
those names into the snaptest.cfg file. An ongoing maintenance PAIN.
Solution:
Added -configname <name> option where
"use <name> as hostname in the parsing of the snaptest configure file"
Changed RSH code to append the hostname used in the Allhostfile. Now, we
need not worry about machine name mapped to a different host and it is
much cleaner to match up entries between allhostfile and snaptest.cfg files.
Platforms tested:
Did not use h5committest which does not cover this code.
Tested in eirene, titan, platinum and copper.
Misc. update:
Improvement
Description:
Added a 5 seconds timeout to the PING command so that it can detect
host not online quicker.
Platforms tested:
The three platforms tests do not cover this command.
Test it in eirene where it is usually run.
Misc. update:
Bug fix.
Description:
n_test must be inited to 1 when it is for tests within one machine.
Undid my previous mistake.
Platforms tested:
Eirene.
Did not do the h5committest because this is a script and if it works
in one machine, it most like will work in all Unix platform.
Misc. update:
new feature and some bug fixes
Description:
Add a new feature to "skip" some tests.
Sometimes, a machine has problem (e.g. titan and sleipnir having AFS
problems). Sometimes some feature in a machine is temporary off (e.g.,
PGI compilers in eirene.) The tests will be reported being SKIPPED
which will be reminder to remove the skipping once the problem is fixed.
I installed the skipping control in snaptest.cfg rather than in
allhostsfile to have a finer control to skip just a subset of the
tests of a machine, rather than skipping the all tests of a machine.
Bug fixes: fixed the miscounting of number of tests ran. It was
reporting one too many.
Platforms tested:
Only tested in eirene since eirene is the one uses it directly.
Misc. update:
New feature
Description:
Added feature to print a summary of total number of tests and time spent
in each host.
Platforms tested:
Did not run h5committest because it does not test this script.
Did test it out in eirene and burrwhite.
Misc. update:
No document change.
Bug fix
Description:
SGI shell treats $0 as function name if used in a function.
Set the name here to avoid that ambiguity and better style too.
Platforms tested:
Just in modi4 and burrwhite since it is a shell script and the
change is machine independent.
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
2002-08-09 11:58:59 Robb Matzke <matzke@arborea.spizella.com>
* rewrite_func: Add trace info after any kind of FUNC_ENTER* macro.
New feature
Description:
Added TIMESTAMP and event markers. Easier to tell the chronical events.
Turned of echo mode. Added an option to turn it on.
Platforms tested:
Only in eirene.
Bug fix
Description:
Teach the perl script about the new "_API" added to all API functions.
Platforms tested:
FreeBSD 4.6 (sleipnir) w and w/o parallel
Linux 2.2.x (eirene) w/FORTRAN & C++
Solaris 2.7 (arabica) w/FORTRAN
IRIX64 6.5 (modi4) w/FORTRAN & parallel
feature
Description:
Removed the search of HDF4 library specifically.
Replaced the locate_hdf4 with a more general locate_sw.
Added the search of zlib.
Platforms tested:
eirene and all hdf group machines.
New feature
Description:
This search for various software (hdf4, hdf5, zlib) among possible
locations. It is customized toward NCSA machines structure.
Platforms tested:
eirene.
Update
Description:
Changed so that the Fortran and C++ configures are named "HDF5
Fortran" and "HDF5 C++" resp. instead of just "HDF5.
Solution:
Add an extra parameter to the subroutine which generates the new
configure.in files.
Platforms tested:
Linux
Update
Description:
Updated the h5vers script to automatically update the configure.in
files so that they reflect the correct version in the AC_INIT line.
Platforms tested:
Linux
Update
Description:
Updated ltmain.sh with the newest version from the 1.4.2 libtool. The
one I updated with earlier still had a few bugs in it, for some
reason. I got rid of the RPM version on my machine and used the
compiled source instead.
Platforms tested:
Linux
Bug Fix
Description:
On some platforms, mktemp doesn't work. This would wipe out the
tmpdir variable's value.
Solution:
Reinitialize tmpdir in these cases.
Platforms tested:
HP-UX
Bug Fix
Description:
Ported the hack of hte ltmain.sh script from the v1.4 branch to the
1.5 branch, since it's sure to fail on systems with really long
-Wl... flags...
Autotools Update
Description:
I've updated autoconf, automake, and libtool to the latest/greatest
versions; 2.53, 1.6, and 1.4.2 resp.
Many changes come with the new versions:
- ltconfig is no longer used
- acconfig.h is no longer used (#define values are declared with
the macro)
- regeneration of all of the aclocal.m4, configure, and
H5config.h.in files.
- new config.{guess,sub} files
- new ltmain.sh file
Platforms tested:
AIX (blue), and Linux
Feature/bug fix
Description:
The 'snapshot diff' command is run in all cases, even after the initial
"snapshot diff" and hosts are polled to run the test. It would not cause
any harm except wasting time repeating diff'ing. Also, the path is
quite right to invoke snapshot by merely "bin/snapshot diff" since it
has not "cd" to the right directory yet.
Solution:
Added a new option of "-nodiff" to skip the special diff request.
Then make "runtest" to call itself again with it to prevent
any further unnecessary diff'ing.
Platforms tested:
eirene
New feature
Description:
"snapshot diff" will just run the diff and exit 0 is no significant
differences found between current and previous versions.
Runtest will try a "snapshot diff" and will skip test if no significant
differences are found.
Platforms tested:
eirene
New feature
Description:
Replacing the hardcoding of default version for snapshot test
to a file, bin/snapshot_version. This way, runtest and snapshot
can be version neutral. Makes maintenance easier.
Platforms tested:
eirene.
Bug fix
Description:
check-install was on the same make line with install. They
got run in parallel.
Run check-install as a separate make action after make install is completed.
Platforms tested:
Eirene
Feature
Description:
The output of multiple tests of one host used to all go to the same
logfile. It is harder to find the beginning of each test.
Solution:
Added hour and minute (HHMM) into the logfile name. Different
tests should go to different files now. If a second test starts
within a minute of the previous test, their output will be all
in the same file. In the case, there are probably not that much
output to worry.
Platforms tested:
eirene
New feature
Description:
The examples have been changed to use the installed h5cc to do
the compiling. Added a step in the "test" part to
"cd examples; gmake check" which will test against the installed
software.
A more proper way is to create a "check-install" target to test
other installed software besides the C API, such as the Fortran
API.
Platforms tested:
eirene
Bug Fix
Description:
When doing an install of dynamic executables on some platforms, the
"mktemp" command may fail which causes the contents of "tmpdir" to go
away. If it's a failure, we still need the previous value of tmpdir.
Solution:
I replicated some code so that tmpdir's old value before the mktemp
call is regen'ed if the mktemp call failed.
Platforms tested:
HP-UX SysV
Bug Fix
Description:
For some reason, a wrong line was introduced into the ltconfig in my
"Major Hack(tm)" stuff.
Solution:
Removed this line, which isn't supposed to be there cause that's why
the Major Hack was there to begin with.
Platforms tested:
NERSC machine and Pacific Blue
Bug fix
Description:
A a build had occurred in the source tree ($CURRENT) and did not
do a distclean, the left over files would interfere with srcdir
build.
Solution:
Added a "make distclean" in the "checkout" option to clean up
the $CURRENT just in case. Not necessarily the most optimal
spot to do the cleaning but convenient.
Platforms tested:
Eirene.
Bug fix
Description:
Snapshot does "make check" directly, instead of building all
binary first. This means it does not cover code that are not
tested (e.g., example, perform). (That explained why the errors
in the PIO performance code were not reported in daily test but
blew up when people built the library the "normal" way.)
It is done this way so that the snaptest aborts as soon as
the first test failed rather than after all code are compiled.
Solution:
Add "make" (to build all binary) before "make check".
The allows snaptest to fail as soon as the first compiling failure.
If we wish the snaptest to abort on the first test failure, the two
can be swapped as "make check && make ...". (It would appear strange
to run tests then make binary.)
Platforms tested:
Would be tested in the daily test tonight. (I should have tested
it first but I started this commit process already. Sorry.)
Purpose:
Bug Fix
Description:
We needed to support C++ on SP3. Libtool was putting a "-bnso" flag
on the compile line. This was causing the C++ compiler to barf..
Solution:
Removed the line.
Platforms tested:
OSF5.1
kludge
Description:
Somehow if consecutive "rsh houdin -n ..." are issued too close,
a "Connection refused" result. Then /usr/local/krb5/rsh falls
back to ordinary rsh protocal which of course won't work either.
Solution:
if the houdin to be tested is houdin, wait for 5 seconds before
launching the 'rsh ...' command. Hopefully the system admin can
fix the rsh problem.
Platforms tested:
eirene talking to houdin.
Feature (actually a kludge)
Description:
The old "setenv" option for the snaptest.cfg cannot handle
if there are white spaces in the setenv value part.
Added a "setenv2" that expects the value consists of 2 parts.
A better solution (like can parse in double quoted values) is
needed.
Platforms tested:
eirene with houdin (solaris 2.7)
Purpose:
Fix Bill's "Major Hack" for NERSC seaborg machine
Description:
Bill's fix was based on the machine name. NERSC SP3 gseaborg
was renamed to seaborg.
Solution:
Fixed the name.
Platforms tested:
Not tested yet.