Bring changes from file free space branch back to the trunk. *yay!*
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
w/C++ & FORTRAN, w/threadsafe, in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Mac OS X/32 10.5.8 (amazon) in debug mode
Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
Header Installation Fix
Description:
Updated the bin/install-sh script with the copy from the new Automake 1.11
distribution. This addresses the problem with Solaris only copying the
first header file on the one-line command to the install directory.
Tested:
Linew, Jam, Liberty, Smirom:
- build, test, install, installcheck.
Updating autotools
Description:
Installed new autotools and used them to reconfigure HDF5.
- Automake upgraded to 1.11
- Autoconf upgraded to 2.64
- bin/reconfigure script edited to use new versions (on jam), and
run to generate new configure script and Makefile.in's.
- configure.in script edited to add "_cv_" to all AC_CACHE_VAL strings
(in order to comply with new autoconf standard).
Tested:
Tested on machines jam, smirom, liberty, linew.
Tested w/ features c++, fortran, parallel.
Tested w/ compilers gcc, pgcc, icc.
Further testing via Daily Tests should catch any other outliers. Upon
passing DT's, I'll propogate the new tools into 1.8, hdf4, et cetera.
Bring r16846 from revise_chunks branch back to trunk:
Fix broken (for how long?) H5_ASSIGN_OVERFLOW macro to actually detect
overflows during assignments, along with several errors it [now] detected.
Cleaned up a fix minor warnings and/or pieces of code also.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(h5committest not needed - multi-platform test performed on branch)
- Updated bin/reconfigure to use latest version of automake (1.10.2).
Re-generated Makefile.in's by running bin/reconfigure.
- Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
libraries.
Tested:
jam, liberty, smirom
Bring r16305 back from revise_chunks branch:
Add detection of C99 "designated initializers" to configure script and
use new H5_HAVE_C99_DESIGNATED_INITIALIZER macro to conditionally compile
default layout variables in src/H5Pdcpl.c
Also, minor code cleanups, etc.
Tested on:
FreeBSD/32 6.3 (duty) in debug mode
(Other platforms tested on branch)
The Tail command in jam (a newer linux) does not accept the +2l option.
It ended up wiping most of the release_doc/RELEASE.txt file contents.
Replaced the "tail +2l" by "sed -e 1d".
Tested:
Tested in Jam to verify it functions properly again.
was not updated automatically and therefore
was always outdated. Modified h5vers script to update
the version for the VMS configuration file as we do for
the similar windows file.
Platforms tested:
kagiso with bin/h5vers
th user's definition of H5_USE_16_API. The H5_USE_16_API_DEFAULT is defined through
configure with the flag --with-default-api-version=v16.
Tested with h5committest.
Description:
- Remove need to set LD_LIBRARY_PATH when using shared szip library.
- Libtool 2.2.6a is now used to generate libraries.
- 'make check install' dependency bug is fixed, and should no longer
break the build.
- removed hard coding of shell in config/commence.am, as this causes
problems on Solaris with the new version of libtool.
- RELEASE.txt with appropriate changes.
Tested:
- kagiso, smirom, linew (merged from 1.8, pretty quick tests)
> 1.
Description: Added a new field 'app_count' to H5I_id_info_t struct, to track
the reference count on an id due to the application. the old 'count' field
tracks the total. Generally any id visible to the application gets placed
in app_count. Added app_ref boolean parameter to H5I_inc_ref, H5I_dec_ref,
H5I_register, H5I_clear_type, and a few other functions, to specify whether
the operation(s) being performed on the id(s) are due to the application
(TRUE) or not (FALSE). Test added for this case.
Tested: kagiso, smirom, linew (h5committest)
Description:
-- Remove a couple lines of debugging output
-- Make sure H5_PACKAGE_NAME outputs 'HDF5' rather than 'hdf5'
-- Take into account version strings with a postfix. This isn't currently used in HDF5 1.9 branch, but is in HDF5 1.8.
Tested:
kagiso
Description:
This commit is a major update to the Windows-maintained H5pubconf.h file. This file is statically-distributed because Windows cannot generate it dynamically as other platforms do. Previously, our Windows version contained a minimal subset of the macro definitions required. To update, I've gone through each macro (based on kagiso's output), and tested for the correct value on Windows. This allows us to better target code based on feature flags. It should also be easier to update in the future as changes are made to the configure script.
This commit also contains one small bug fix in h5ls.c. Some Windows-specific code was missing a local variable definition. The bug went unnoticed because Windows didn't define the feature flag correctly.
I've also made changes to the h5vers script. Whenever the version string is incremented (automatically by h5test after a snapshot), the strings in H5pubconf.h will also be updated.
Tested:
VS2005 on WinXP (32- and 64-bit)
VS.NET on WinXP 32-bit
h5vers tested under Cygwin
Description: Test gcov script on kagiso
Solution: The bin/gcov_script was not working on kagiso (it was written to
be used on heping, but since we don't have heping anymore, we
need it on kagiso). There was a problem in that the generated
.gcda files were being created in the /src/.libs directory when
the script was expecting them to be in the /src directory. Also,
-lgcov was added to LDFLAGS.
The script performs configuration of HDF5 and runs the tests, and
generates code coverage statistics for the source code files,
which it places in the gcov_logs directory.
The individual *.gcov files show the number of times each
individual line of the associated source file is executed, and
displays branches tken information as well. The file gcov.log
shows a summary of each source file's coverage statistics in one
easily accessible file.
Tested: kagiso
Description: Applying update to autotools that was applied to 1.8 a couple
of weeks ago to the trunk.
Updated bin/reconfigure script to reflect the new versions of
libtool and automake in the /home1/packages/ directory.
Rearranged configure.in script. When using libtool 2.2.2, the
libtool script doesn't generate until later in the configuration
process, so I had to move a test that parsed through the libtool
script to a point after where it was actually being generated.
Ran libtoolize on the project, and ran bin/reconfigure to
regenerate configure and Makefile.in's throughout.
Tested: kagiso, smirom, linew (h5committest)
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.
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.