Skip to content

Commit 81d5b8a

Browse files
committed
please.sh upgrade: learn about GNU TLS
The 32-bit version of GNU TLS is currently broken because we inherit MSYS2's version, and it was not rebuilt when its dependencies `libhogweed` and `libnettle` were upgraded to versions whose `.dll` file names changed (and therefore GNU TLS is currently broken). Signed-off-by: Johannes Schindelin <[email protected]>
1 parent 4fc3264 commit 81d5b8a

File tree

1 file changed

+68
-2
lines changed

1 file changed

+68
-2
lines changed

please.sh

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,15 @@ set_package () {
494494
extra_packages="mingw-w64-openssl-pdb"
495495
pkgpath=/usr/src/MINGW-packages/$package
496496
;;
497+
gnutls)
498+
type=MSYS
499+
extra_packages="libgnutls gnutls-devel"
500+
pkgpath=/usr/src/MSYS2-packages/$package
501+
;;
502+
mingw-w64-gnutls)
503+
type=MINGW
504+
pkgpath=/usr/src/MINGW-packages/$package
505+
;;
497506
curl)
498507
type=MSYS
499508
extra_packages="libcurl libcurl-devel"
@@ -2344,14 +2353,16 @@ upgrade () { # [--directory=<artifacts-directory>] [--only-mingw] [--no-build] [
23442353
test -z "$only_mingw" ||
23452354
test curl = "$package" ||
23462355
test openssl = "$package" ||
2356+
test gnutls = "$package" ||
23472357
test MINGW = "$type" ||
2348-
die "The --only-mingw option is supported only for curl\n"
2358+
die "The --only-mingw option is supported only for openssl/gnutls/curl\n"
23492359

23502360
test -z "$skip_mingw" ||
23512361
test openssl = "$package" ||
2362+
test gnutls = "$package" ||
23522363
test curl = "$package" ||
23532364
test MSYS = "$type" ||
2354-
die "The --skip-mingw option is supported only for openssl/curl\n"
2365+
die "The --skip-mingw option is supported only for openssl/gnutls/curl\n"
23552366

23562367
test -z "$only_mingw" || test -z "$skip_mingw" ||
23572368
die "--only-mingw and --skip-mingw are mutually exclusive\n"
@@ -2900,6 +2911,61 @@ upgrade () { # [--directory=<artifacts-directory>] [--only-mingw] [--no-build] [
29002911
url=https://www.openssl.org/news/openssl-$v-notes.html &&
29012912
release_notes_feature='Comes with [OpenSSL v'$version']('"$url"').'
29022913
;;
2914+
gnutls)
2915+
feed="$(curl -s https://gnutls.org/news.atom)" &&
2916+
version="$(echo "$feed" |
2917+
sed -n '/<title>G[Nn][Uu] \?TLS [1-9]/{s/.*TLS \([1-9][0-9.]*\).*/\1/p;q}')" &&
2918+
test -n "$version" ||
2919+
die "Could not determine newest GNU TLS version\n"
2920+
2921+
test -n "$only_mingw" ||
2922+
(cd "$sdk64$pkgpath" &&
2923+
sed -i -e 's/^\(_base_ver=\).*/\1'$version/ \
2924+
-e 's/^pkgrel=.*/pkgrel=1/' PKGBUILD &&
2925+
maybe_force_pkgrel "$force_pkgrel" &&
2926+
updpkgsums &&
2927+
git commit -s -m "$package: new version ($version${force_pkgrel:+-$force_pkgrel})" PKGBUILD &&
2928+
create_bundle_artifact) &&
2929+
test 0 = $? ||
2930+
die "Could not update %s\n" "$sdk64$pkgpath/PKGBUILD"
2931+
2932+
git -C "$sdk32$pkgpath" pull "$sdk64$pkgpath/.." main &&
2933+
2934+
(if test -n "$skip_mingw"
2935+
then
2936+
exit 0
2937+
fi &&
2938+
set_package mingw-w64-$1 &&
2939+
maybe_init_repository "$sdk64$pkgpath" &&
2940+
cd "$sdk64$pkgpath" &&
2941+
{ test -n "$skip_upload" ||
2942+
require_push_url origin; } &&
2943+
sdk="$sdk64" ff_main_branch || exit
2944+
2945+
sed -i -e 's/^\(_pkgver=\).*/\1'$version/ \
2946+
-e 's/^pkgrel=.*/pkgrel=1/' PKGBUILD &&
2947+
maybe_force_pkgrel "$force_pkgrel" &&
2948+
updpkgsums &&
2949+
git commit -s -m "${package#mingw-w64-}: new version ($version${force_pkgrel:+-$force_pkgrel})" PKGBUILD &&
2950+
create_bundle_artifact &&
2951+
2952+
if test -z "$skip_build"
2953+
then
2954+
build $force $cleanbuild "$package" &&
2955+
sdk="$sdk64" pkg_copy_artifacts &&
2956+
install "$package" &&
2957+
if test -z "$skip_upload"
2958+
then
2959+
upload "$package"
2960+
fi
2961+
fi) &&
2962+
test 0 = $? &&
2963+
2964+
v="$(echo "$version" | tr -dc 0-9.)" &&
2965+
url="$(echo "$feed" |
2966+
sed -n '/<a href=[^>]*>G[Nn][Uu] \?TLS [1-9]/{s/.*<a href="\?\([^>"]*\).*/\1/p;q}')" &&
2967+
release_notes_feature='Comes with [GNU TLS v'$version']('"$url"').'
2968+
;;
29032969
mingw-w64-wintoast|mingw-w64-cv2pdb)
29042970
(cd "$sdk64$pkgpath" &&
29052971
MINGW_INSTALLS=mingw64 \

0 commit comments

Comments
 (0)