===========================
libfabric README for Chapel
===========================

This copy of libfabric 1.21.0 is being released with Chapel for
convenience and was obtained from:

  https://github.com/ofiwg/libfabric

Any Chapel issues that seem to be related to libfabric should be
directed to the Chapel team at https://chapel-lang.org/bugs.html.


Upgrading libfabric versions
============================

The directory $CHPL_HOME/third-party/libfabric/libfabric-src contains the
un-tarballed libfabric package contents. Version updates should be done as
follows, assuming the CWD is $CHPL_HOME/third-party/libfabric/:

1. download the latest libfabric version: e.g. libfabric-1.21.0
2. verify the checksum as `echo "SHASUM libfabric-1.21.0.tar.bz2" | shasum -c`
3. `tar xf libfabric-1.21.0.tar.bz2`
4. `rm -rf libfabric-src`
5. `mv libfabric-1.21.0 libfabric-src`
6. `git add --force libfabric-src` (--force to ignore our .gitignore)
7. update the version number mentioned above
8. verify any references to libfabric's man pages in the runtime shim are
   accurate and update the version number referenced.
9. make sure these instructions are up to date :)
10. test (some CHPL_COMM=ofi configuration)
11. commit, PR, merge, etc

Note that these instructions are for simple API-compatible updates. If the
libfabric API changes, or the references to the man pages in the runtime
shim are no longer accurate, more care should be taken to see what
changes have been made and if we need to change anything on our end.
