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