Update libssh2 to 1.11.1

This commit is contained in:
dmiller 2025-04-14 17:20:50 +00:00
parent 58ef6f6dac
commit 2bc341de52
118 changed files with 11071 additions and 4234 deletions

View file

@ -1,25 +1,35 @@
#!/bin/sh
# Copyright (C) The libssh2 project and its contributors.
# SPDX-License-Identifier: BSD-3-Clause
#
# Script to build release-archives with. Note that this requires a checkout
# from git and you should first run 'autoreconf -fi' and './configure'.
#
version="$1"
set -eu
export LC_ALL=C
export TZ=UTC
version="${1:-}"
if [ -z "$version" ]; then
echo "Specify a version number!"
exit
fi
if [ "only" = "$2" ]; then
if [ "only" = "${2:-}" ]; then
echo "Setup version number only!"
only=1
else
only=
fi
libversion="$version"
major="$(echo "$libversion" | cut -d. -f1 | sed -e "s/[^0-9]//g")"
minor="$(echo "$libversion" | cut -d. -f2 | sed -e "s/[^0-9]//g")"
patch="$(echo "$libversion" | cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g")"
major=$(echo "$libversion" | cut -d. -f1 | sed -e "s/[^0-9]//g")
minor=$(echo "$libversion" | cut -d. -f2 | sed -e "s/[^0-9]//g")
patch=$(echo "$libversion" | cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g")
numeric="$(printf "%02x%02x%02x\n" "$major" "$minor" "$patch")"
@ -34,10 +44,12 @@ if test -z "$only"; then
HEADER="$HEADER$ext"
fi
# requires a date command that knows -u for UTC time zone
datestamp="$(LC_TIME=C date -u)"
# requires a date command that knows + for format and -d for date input
timestamp=${SOURCE_DATE_EPOCH:-$(date +"%s")}
datestamp=$(date -d "@$timestamp")
filestamp=$(date -d "@$timestamp" +"%Y%m%d%H%M.%S")
# Replace in-place version number in header file:
# Replace version number in header file:
sed -i.bak \
-e "s/^#define LIBSSH2_VERSION .*/#define LIBSSH2_VERSION \"$libversion\"/g" \
-e "s/^#define LIBSSH2_VERSION_NUM .*/#define LIBSSH2_VERSION_NUM 0x$numeric/g" \
@ -46,18 +58,17 @@ sed -i.bak \
-e "s/^#define LIBSSH2_VERSION_PATCH .*/#define LIBSSH2_VERSION_PATCH $patch/g" \
-e "s/^#define LIBSSH2_TIMESTAMP .*/#define LIBSSH2_TIMESTAMP \"$datestamp\"/g" \
"$HEADER"
rm -f "$HEADER.bak"
echo "libssh2 version $libversion"
echo "libssh2 numerical $numeric"
echo "datestamp $datestamp"
if test -n "$only"; then
# done!
exit
fi
echo "libssh2 version $libversion"
echo "libssh2 numerical $numeric"
echo "datestamp $datestamp"
findprog() {
file="$1"
for part in $(echo "$PATH" | tr ':' ' '); do
@ -85,7 +96,7 @@ else
automake --include-deps Makefile >/dev/null
fi
#######################################################################
############################################################################
#
# Generate the changelog
#
@ -107,6 +118,23 @@ if test "$res" != 0; then
exit 2
fi
retar() {
tempdir=$1
rm -rf "$tempdir"
mkdir "$tempdir"
cd "$tempdir"
gzip -dc "../$targz" | tar -xf -
find libssh2-* -depth -exec touch -c -t "$filestamp" '{}' +
tar --create --format=ustar --owner=0 --group=0 --numeric-owner --sort=name libssh2-* | gzip --best --no-name > out.tar.gz
mv out.tar.gz ../
cd ..
rm -rf "$tempdir"
}
retar ".tarbuild"
echo "replace $targz with out.tar.gz"
mv out.tar.gz "$targz"
############################################################################
#
# Now make a bz2 archive from the tar.gz original
@ -132,11 +160,11 @@ gzip -dc "$targz" | xz -6e - > "$xz"
makezip() {
rm -rf "$tempdir"
mkdir "$tempdir"
cd "$tempdir" || exit 1
cd "$tempdir"
gzip -dc "../$targz" | tar -xf -
find . | zip "$zip" -@ >/dev/null
find . | sort | zip -9 -X "$zip" -@ >/dev/null
mv "$zip" ../
cd .. || exit 1
cd ..
rm -rf "$tempdir"
}
@ -145,7 +173,14 @@ echo "Generating $zip"
tempdir=".builddir"
makezip
# Set deterministic timestamp
touch -c -t "$filestamp" "$targz" "$bzip2" "$xz" "$zip"
echo "------------------"
echo "maketgz report:"
echo ""
ls -l "$targz" "$bzip2" "$zip" "$xz"
ls -l "$targz" "$bzip2" "$xz" "$zip"
sha256sum "$targz" "$bzip2" "$xz" "$zip"
echo "Run this:"
echo "gpg -b -a '$targz' && gpg -b -a '$bzip2' && gpg -b -a '$xz' && gpg -b -a '$zip'"