summaryrefslogtreecommitdiff
path: root/dns/dnsmasq-devel/files/update.py
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2025-05-24 21:46:08 +0200
committerMatthias Andree <mandree@FreeBSD.org>2025-05-24 21:48:45 +0200
commiteea38a526daa5a7fbeb3c74aa693f9c2a45b7bc9 (patch)
treeef541c713ec672c4536db356bd7e93defb22a760 /dns/dnsmasq-devel/files/update.py
parentdevel/cppinsights: Update 19.1 => 20.1 (diff)
dns/dnsmasq-devel: update to v2.92test10 with one FreeBSD patch
Changes since v2.92test9: This one has been submitted upstream to unbreak compilation: * e4bc90e 2025-05-24 | Unbreak compilation on non-Linux systems (FreeBSD) [Matthias Andree] These are part of the official v2.92test10: * 90b2485 2025-05-24 | Remove compiler warnings for obscure combinations of build options. (tag: v2.92test10) [Simon Kelley] * ebef27f 2025-05-24 | Add TFTP options windowsize (RFC 7440) and timeout (RFC 2349). [Simon Kelley] * 1861a88 2025-05-21 | Only define variable "a" if we HAVE_LINUX_NETWORK [Matthias Andree] * 96bdb42 2025-05-20 | Fix GCC's -Wunterminated-string-initialization warning in edns0.c. [Matthias Andree] * c7a909a 2025-05-21 | Add RRtypes HHIT and BRID to the table. [Simon Kelley] MFH: 2025Q2
Diffstat (limited to 'dns/dnsmasq-devel/files/update.py')
-rwxr-xr-xdns/dnsmasq-devel/files/update.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/dns/dnsmasq-devel/files/update.py b/dns/dnsmasq-devel/files/update.py
new file mode 100755
index 000000000000..5657cd9bc06d
--- /dev/null
+++ b/dns/dnsmasq-devel/files/update.py
@@ -0,0 +1,39 @@
+#!/usr/bin/env python3
+"""update.py for dnsmasq-devel - (C) 2025 Matthias Andree, placed under MIT license
+To use, edit Makefile with the new version and possibly URLBASE below when switching to release-candidates,
+then run python update.py, which will download, check sigs, if GnuPG checks out, update makesum,
+upload tarball and sig to my public_distfiles/ because upstream has low bandwidth, and test build.
+
+If things work out, commit manually and push."""
+
+URLBASE = 'https://www.thekelleys.org.uk/dnsmasq/test-releases/'
+
+import os
+import shutil
+import subprocess
+import sys
+
+def trace(func):
+ def wrapper(*args, **kwargs):
+ print(f"> {func.__name__}({args}, {kwargs})", file=sys.stderr)
+ retval = func(*args, **kwargs)
+ print(f"< {func.__name__} -> {retval!r}", file=sys.stderr)
+ return retval
+ return wrapper
+
+subprocess.run = trace(subprocess.run)
+
+completed_distname = subprocess.run('make -V DISTNAME'.split(), capture_output=True, check=True, env={"LC_ALL": "C.UTF-8", "PATH": f'{os.environ["PATH"]}'}, encoding='UTF-8')
+name = completed_distname.stdout.splitlines()[0].strip()
+fnt = name + '.tar.xz'
+fns = fnt + '.asc'
+urt = URLBASE + fnt
+urs = URLBASE + fns
+subprocess.run(['fetch', urt, urs], check=True)
+subprocess.run(['gpg', '--verify', fns, fnt], check=True)
+subprocess.run(['rsync', '-avHP', '--chmod=0644', fnt, fns, 'freefall.freebsd.org:public_distfiles/'], check=True)
+shutil.move(fnt, '/usr/ports/distfiles/' + fnt)
+os.remove(fns)
+subprocess.run(['make', 'makesum'], check=True)
+subprocess.run(['make', 'clean'], check=True)
+subprocess.run(['make', 'check-plist', 'package'], check=True)