bbed69ec6c
- update to 1.8.16, changes documented here: https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.16/src/hdf5-1.8.16-RELEASE.txt - rebase hdf5-ldouble-ppc64le.patch - remove hdf5-cpp-compilation-errors.patch - prepare independent so versions and add TODO !!! see TODO in spec file !!! I'm not the right persion to split packages and care for deps and baselibs etc. Don't forward to Factory before this TODO is fixed! OBS-URL: https://build.opensuse.org/request/show/356581 OBS-URL: https://build.opensuse.org/package/show/science/hdf5?expand=0&rev=17
81 lines
2.0 KiB
Bash
81 lines
2.0 KiB
Bash
#!/bin/bash
|
|
|
|
exit_error()
|
|
{
|
|
echo "$0: $@" >&2
|
|
exit 1
|
|
}
|
|
|
|
dbg()
|
|
{
|
|
echo "dbg: $@" >&2
|
|
}
|
|
|
|
cleanup()
|
|
{
|
|
rm -f lt_vers.sh sonum_spec.sed sonum_baselibs.sed
|
|
rm -f hdf5.spec.tmp baselibs.conf.tmp
|
|
}
|
|
|
|
## We are going to parse these variables from tarball:
|
|
# LT_VERS_INTERFACE
|
|
# LT_CXX_VERS_INTERFACE
|
|
# LT_F_VERS_INTERFACE
|
|
# LT_HL_VERS_INTERFACE
|
|
# LT_HL_CXX_VERS_INTERFACE
|
|
# LT_HL_F_VERS_INTERFACE
|
|
# LT_TOOLS_VERS_INTERFACE
|
|
|
|
cleanup
|
|
|
|
VER="$(grep -m1 "^Version:" hdf5.spec)" || exit_error "can't grep version"
|
|
read x VER <<<$VER
|
|
|
|
SRC="$(grep -m1 "^Source0:" hdf5.spec)" || exit_error "can't grep source"
|
|
read x SRC <<<$SRC
|
|
SRC=$(basename "$SRC" | sed "s/%{version}/$VER/")
|
|
|
|
test -f "$SRC" || exit_error "tarball '$SRC' does not exist"
|
|
dbg "inspecting $SRC"
|
|
|
|
tar --wildcards -x -O -f "$SRC" "*/config/lt_vers.am" \
|
|
| tr -d ' \t' \
|
|
| grep "^LT_.*INTERFACE=" \
|
|
> lt_vers.sh \
|
|
|| exit_error "can't grep interface versions"
|
|
|
|
# we expect exactly 7 variables
|
|
. lt_vers.sh || exit_error "can't source lt_vers.sh"
|
|
test $(wc -l < lt_vers.sh) -le "7" \
|
|
|| exit_error "more than 7 vars found, update this script!"
|
|
|
|
for infix in "" _CXX _F _HL _HL_CXX _HL_F _TOOLS; do
|
|
var="LT${infix}_VERS_INTERFACE"
|
|
test "${!var}" -gt 0 || exit_error "$var='${!var}' bad or undefined"
|
|
dbg "update $var=${!var}"
|
|
def_sonum="sonum${infix}"
|
|
# create sed scripts for spec file and baselibs
|
|
echo "s/^%define $def_sonum .*/%define $def_sonum ${!var}/" >> sonum_spec.sed
|
|
echo "s/@${def_sonum}@/${!var}/g" >> sonum_baselibs.sed
|
|
done
|
|
|
|
# update spec file if needed
|
|
sed -f sonum_spec.sed hdf5.spec > hdf5.spec.tmp
|
|
if diff -q hdf5.spec.tmp hdf5.spec &>/dev/null; then
|
|
dbg "hdf5.spec was up-to-date"
|
|
else
|
|
mv hdf5.spec.tmp hdf5.spec
|
|
echo "hdf5.spec updated" >&2
|
|
fi
|
|
|
|
# update baselibs if needed
|
|
sed -f sonum_baselibs.sed baselibs.conf.in > baselibs.conf.tmp
|
|
if diff -q baselibs.conf.tmp baselibs.conf &>/dev/null; then
|
|
dbg "baselibs.conf was up-to-date"
|
|
else
|
|
mv baselibs.conf.tmp baselibs.conf
|
|
echo "baselibs.conf updated" >&2
|
|
fi
|
|
|
|
cleanup
|