Updates from running bin/reconfigure on recent changes, in preparation for
making private snapshot. Also updated tracing information for recent types
added to public API routines.
Tested on:
Linux/32 2.6.x (kagiso)
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.