From 1fc410acba67480b9a17b20976b97c339220cfad Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 20 Jan 2025 11:31:05 +0100 Subject: [PATCH 1/5] appveyor.yml: pre-remove mingw-w64-i686-gdb-multiarch if present Signed-off-by: Jim Klimov --- appveyor.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 2c0d712164..d6bc008257 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -34,6 +34,11 @@ install: - cmd: | REM Do not give pacman cause for complaints: C:\msys64\usr\bin\bash -lc "mkdir -p /var/cache/pacman/pkg; ls -la /" + REM FIXME: Since Jan 2025, normal update below fails with the message: + REM installing mingw-w64-i686-gdb (16.1-1) breaks dependency + REM 'mingw-w64-i686-gdb=15.2' required by mingw-w64-i686-gdb-multiarch + REM Currently we sweep it away by removing the conflicting package: + C:\msys64\usr\bin\bash -lc "date -u; pacman --noconfirm -R mingw-w64-i686-gdb-multiarch || true" - cmd: | REM Core update (in case any core packages are outdated): C:\msys64\usr\bin\bash -lc "date -u; pacman --noconfirm -Syuu" From e05a1db96d5d78bdf47863fbaa68a1b18389665d Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 20 Jan 2025 11:32:39 +0100 Subject: [PATCH 2/5] scripts/Windows/build-mingw-prereqs.sh: bump (C) and license blurb Signed-off-by: Jim Klimov --- scripts/Windows/build-mingw-prereqs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/Windows/build-mingw-prereqs.sh b/scripts/Windows/build-mingw-prereqs.sh index 90e0a9a8d5..d61f75529c 100755 --- a/scripts/Windows/build-mingw-prereqs.sh +++ b/scripts/Windows/build-mingw-prereqs.sh @@ -1,7 +1,7 @@ #!/bin/sh -# Copyright (C) 2022-2023 by Jim Klimov -# Licensed same as NUT +# Copyright (C) 2022-2025 by Jim Klimov +# Licensed GPLv2+, same as NUT # # Helper automating the nuances from NUT::scripts/Windows/README.adoc # to provide prerequisites needed in semi-native or cross-builds. From f7e916580a69322b7364cec6e1e7c3ad45e1fb5a Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 20 Jan 2025 12:04:14 +0100 Subject: [PATCH 3/5] scripts/Windows/build-mingw-prereqs.sh: minor fixes to layout; use "rsync -c" to only modify dest if needed Signed-off-by: Jim Klimov --- scripts/Windows/build-mingw-prereqs.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/Windows/build-mingw-prereqs.sh b/scripts/Windows/build-mingw-prereqs.sh index d61f75529c..68de0b1e22 100755 --- a/scripts/Windows/build-mingw-prereqs.sh +++ b/scripts/Windows/build-mingw-prereqs.sh @@ -47,7 +47,7 @@ prepareEnv() { # Assumes Ubuntu/Debian with mingw prepared, per README HOST_FLAG="--host=$ARCH" - PREFIX="/usr/$ARCH" + PREFIX="/usr/$ARCH" export ARCH PREFIX @@ -86,7 +86,7 @@ provide_netsnmp() ( # Quickly install if prebuilt if [ -d "${WSDIR}/${DEP_DIRNAME}/.inst" ]; then ( cd "${WSDIR}/${DEP_DIRNAME}/.inst" || exit - (command -v rsync) && $SUDO rsync -avPHK ./ / && exit + (command -v rsync) && $SUDO rsync -cavPHK ./ / && exit $SUDO cp -pr ./ / && exit exit 1 ) && return 0 @@ -94,6 +94,8 @@ provide_netsnmp() ( # no stashed .inst; any Makefile at least? if [ -s "${WSDIR}/${DEP_DIRNAME}/Makefile" ]; then ( cd "${WSDIR}/${DEP_DIRNAME}" && $SUDO $MAKE install ) && return ; fi + + # Not pre-built, fall through fi # (Re-)make and install from scratch From 112f4fc7e9eb25b6077eaef3c7995f9fbb655a9b Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 20 Jan 2025 15:34:35 +0000 Subject: [PATCH 4/5] scripts/Windows/build-mingw-prereqs.sh: default to "gmake" if available by such name Signed-off-by: Jim Klimov --- scripts/Windows/build-mingw-prereqs.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/Windows/build-mingw-prereqs.sh b/scripts/Windows/build-mingw-prereqs.sh index 68de0b1e22..28c34d4f72 100755 --- a/scripts/Windows/build-mingw-prereqs.sh +++ b/scripts/Windows/build-mingw-prereqs.sh @@ -12,7 +12,11 @@ # TODO: Support `make uninstall` attempts for older versions?.. prepareEnv() { - [ -n "${MAKE-}" ] || MAKE="make -j 8" + [ -n "${MAKE-}" ] || { + (command -v gmake) 2>/dev/null >/dev/null \ + && MAKE="gmake -j 8" \ + || MAKE="make -j 8" + } export MAKE if [ -z "${SUDO-}" ] ; then From 6212bc0fbb95bb9f3e836e83b82fd86457ec0214 Mon Sep 17 00:00:00 2001 From: Jim Klimov Date: Mon, 20 Jan 2025 16:28:08 +0000 Subject: [PATCH 5/5] scripts/Windows/build-mingw-prereqs.sh: separate MAKEFLAGS from MAKE [#1491] Signed-off-by: Jim Klimov --- scripts/Windows/build-mingw-prereqs.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/Windows/build-mingw-prereqs.sh b/scripts/Windows/build-mingw-prereqs.sh index 28c34d4f72..2a52391105 100755 --- a/scripts/Windows/build-mingw-prereqs.sh +++ b/scripts/Windows/build-mingw-prereqs.sh @@ -14,11 +14,16 @@ prepareEnv() { [ -n "${MAKE-}" ] || { (command -v gmake) 2>/dev/null >/dev/null \ - && MAKE="gmake -j 8" \ - || MAKE="make -j 8" + && MAKE="gmake" \ + || MAKE="make" } export MAKE + [ -n "${MAKEFLAGS-}" ] || { + MAKEFLAGS="-j 8" + export MAKEFLAGS + } + if [ -z "${SUDO-}" ] ; then SUDO=" " # avoid reeval if (command -v sudo) ; then SUDO="sudo" ; fi