openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
October 2024
- 1 participants
- 1410 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-qrcode for openSUSE:Factory checked in at 2024-10-01 17:19:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-qrcode (Old)
and /work/SRC/openSUSE:Factory/.python-qrcode.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-qrcode"
Tue Oct 1 17:19:24 2024 rev:14 rq:1204843 version:8.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-qrcode/python-qrcode.changes 2024-06-24 20:57:52.358325401 +0200
+++ /work/SRC/openSUSE:Factory/.python-qrcode.new.29891/python-qrcode.changes 2024-10-01 17:19:46.257622005 +0200
@@ -1,0 +2,20 @@
+Mon Sep 30 09:47:24 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to 8.0.0
+ * Added support for Python 3.11 and 3.12.
+ * Drop support for Python <=3.8.
+ * Change local development setup to use Poetry_.
+ * Testsuite and code quality checks are done
+ through Github Actions.
+ * Code quality and formatting utilises ruff_.
+ * Removed ``typing_extensions`` as a dependency,
+ as it's no longer required with
+ having Python 3.9+ as a requirement.
+ * Only allow high error correction rate (`qrcode.ERROR_CORRECT_H`)
+ when generating QR codes with embedded images to ensure content
+ is readable
+- Install manpage manually in %install section
+- Drop 364.patch, merged upstream
+- Switch package source from PyPi to Github
+
+-------------------------------------------------------------------
Old:
----
364.patch
qrcode-7.4.2.tar.gz
New:
----
qrcode-8.0.tar.gz
BETA DEBUG BEGIN:
Old:- Install manpage manually in %install section
- Drop 364.patch, merged upstream
- Switch package source from PyPi to Github
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-qrcode.spec ++++++
--- /var/tmp/diff_new_pack.Fc8Rem/_old 2024-10-01 17:19:47.993694388 +0200
+++ /var/tmp/diff_new_pack.Fc8Rem/_new 2024-10-01 17:19:47.997694555 +0200
@@ -18,16 +18,15 @@
%{?sle15_python_module_pythons}
Name: python-qrcode
-Version: 7.4.2
+Version: 8.0
Release: 0
Summary: QR Code image generator
License: BSD-3-Clause
URL: https://github.com/lincolnloop/python-qrcode
-Source: https://files.pythonhosted.org/packages/source/q/qrcode/qrcode-%{version}.t…
-# PATCH-FIX-UPSTREAM - Add buffer and fileno for mocked sys.stdout
-Patch0: https://github.com/lincolnloop/python-qrcode/pull/364.patch
+Source: %{url}/archive/v%{version}.tar.gz#/qrcode-%{version}.tar.gz
BuildRequires: %{python_module Pillow}
BuildRequires: %{python_module pip}
+BuildRequires: %{python_module poetry}
BuildRequires: %{python_module pypng}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
@@ -49,8 +48,7 @@
of QR Codes.
%prep
-%setup -q -n qrcode-%{version}
-%patch -P0 -p1
+%setup -q -n python-qrcode-%{version}
# drop shebang from console_scripts
sed -i '1s@^#!.*@@' qrcode/console_scripts.py
@@ -59,6 +57,7 @@
%install
%pyproject_install
+install -Dm 644 doc/qr.1 %{buildroot}%{_mandir}/man1/qr.1
%python_clone -a %{buildroot}%{_mandir}/man1/qr.1
%python_clone -a %{buildroot}%{_bindir}/qr
%fdupes %{buildroot}%{_prefix}
++++++ qrcode-7.4.2.tar.gz -> qrcode-8.0.tar.gz ++++++
++++ 3693 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package onedrive for openSUSE:Factory checked in at 2024-10-01 17:19:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/onedrive (Old)
and /work/SRC/openSUSE:Factory/.onedrive.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "onedrive"
Tue Oct 1 17:19:20 2024 rev:26 rq:1204835 version:2.5.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/onedrive/onedrive.changes 2024-09-25 21:55:06.716825486 +0200
+++ /work/SRC/openSUSE:Factory/.onedrive.new.29891/onedrive.changes 2024-10-01 17:19:41.065405520 +0200
@@ -1,0 +2,48 @@
+Sun Sep 29 07:50:13 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 2.5.2:
+ * Feature Requests
+ - Enhancement: Added 15 second sleep to systemd services to
+ allow d-bus daemon to start and be available if present
+ (#2762)
+ * Bug Fixes
+ - Fix Bug: Application crash unable to correctly process a
+ timestamp that has fractional seconds (#2852)
+ - Fix Bug: Fixed application logging output of Personal Shared
+ Folder incorrectly advising there is no free space
+ * Other Changes | Fixes
+ - Updated documentation
+
+-------------------------------------------------------------------
+Sun Sep 29 07:48:08 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 2.5.1:
+ DO NOT USE .. CONTAINS A MAJOR TIMESTAMP ISSUE BUG
+ * Feature Requests
+ - Enhancement: Add --enable-debug to Docker files when building
+ client application (#2811)
+ - Enhancement: Update Debian Dockerfile to use 'curl' from
+ backports so a more modern curl version is used (#2831)
+ - Enhancement: Don't print the d-bus WARNING if
+ disable_notifications is set on cmd line or in config (#2840)
+ * Bug Fixes
+ - Fix Regression of extra quotation marks when using
+ ONEDRIVE_SINGLE_DIRECTORY with Docker (#2823)
+ - Fix Regression that --remove-source-files doesn’t work
+ (#2830)
+ - Fix Regression that real-time synchronization is not
+ occurring when using --monitor and sync_list (#2832)
+ - Fix Bug: Application crash when run synchronize due to
+ negative free space online (#2806)
+ - Fix Bug: Application crash when attempting to read timestamp
+ from database as invalid data was written (#2810, #2813,
+#2822, #2829)
+ - Fix Bug: Application crash when performing a URL dedocde
+ (#2815)
+ - Fix Bug: Application crash when using sync_list and Personal
+ Shared Folders the root folder fails to present the item id
+ (#2835)
+ * Other Changes | Fixes
+ - Updated documentation (various)
+
+-------------------------------------------------------------------
Old:
----
onedrive-2.5.0.obscpio
New:
----
onedrive-2.5.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ onedrive.spec ++++++
--- /var/tmp/diff_new_pack.BUcr99/_old 2024-10-01 17:19:44.865563964 +0200
+++ /var/tmp/diff_new_pack.BUcr99/_new 2024-10-01 17:19:44.869564131 +0200
@@ -28,7 +28,7 @@
%endif
Name: onedrive
-Version: 2.5.0
+Version: 2.5.2
Release: 0
Summary: Client for One Drive Service for Linux
License: GPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.BUcr99/_old 2024-10-01 17:19:44.905565632 +0200
+++ /var/tmp/diff_new_pack.BUcr99/_new 2024-10-01 17:19:44.917566132 +0200
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/abraunegg/onedrive.git</param>
- <param name="revision">v2.5.0</param>
+ <param name="revision">v2.5.2</param>
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@~git.%h</param>
<param name="versionrewrite-pattern">v(.*)\+0.git.*</param>
<param name="versionrewrite-replacement">\1</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.BUcr99/_old 2024-10-01 17:19:44.941567133 +0200
+++ /var/tmp/diff_new_pack.BUcr99/_new 2024-10-01 17:19:44.945567300 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/abraunegg/onedrive.git</param>
- <param name="changesrevision">a3522fda30319f59c3908da41de12c1a811e3ae5</param></service></servicedata>
+ <param name="changesrevision">90556fd47eb514edaf2b3d5d6c535a175f1d40ec</param></service></servicedata>
(No newline at EOF)
++++++ onedrive-2.5.0.obscpio -> onedrive-2.5.2.obscpio ++++++
++++ 2529 lines of diff (skipped)
++++++ onedrive.obsinfo ++++++
--- /var/tmp/diff_new_pack.BUcr99/_old 2024-10-01 17:19:45.273580976 +0200
+++ /var/tmp/diff_new_pack.BUcr99/_new 2024-10-01 17:19:45.277581142 +0200
@@ -1,5 +1,5 @@
name: onedrive
-version: 2.5.0
-mtime: 1726449286
-commit: a3522fda30319f59c3908da41de12c1a811e3ae5
+version: 2.5.2
+mtime: 1727590126
+commit: 90556fd47eb514edaf2b3d5d6c535a175f1d40ec
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package mesheryctl for openSUSE:Factory checked in at 2024-10-01 17:17:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mesheryctl (Old)
and /work/SRC/openSUSE:Factory/.mesheryctl.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mesheryctl"
Tue Oct 1 17:17:01 2024 rev:63 rq:1204829 version:0.7.109
Changes:
--------
--- /work/SRC/openSUSE:Factory/mesheryctl/mesheryctl.changes 2024-09-29 18:12:32.998370506 +0200
+++ /work/SRC/openSUSE:Factory/.mesheryctl.new.29891/mesheryctl.changes 2024-10-01 17:19:06.039945173 +0200
@@ -1,0 +2,23 @@
+Mon Sep 30 16:52:51 UTC 2024 - Johannes Kastl <opensuse_buildservice(a)ojkastl.de>
+
+- update to 0.7.109:
+ * General
+ - Move to independent maintainer @Alero-Awani (#12164)
+ - fix reference to meshmates page @codered-lgtm (#12161)
+ - [Server] Assign unique names for generated declaration.
+ @MUzairS15 (#12153)
+ - Fix not able to ping k8s connection in local provider
+ @Yashsharma1911 (#12148)
+ - Seed design from locally present designs in local provider
+ @Yashsharma1911 (#12144)
+ * Meshery CLI
+ - changes in error shown @pranjalg1331 (#12141)
+ * Maintenance
+ - [bugfix] First-timer: Use GH_ACCESS_TOKEN, not GITHUB_TOKEN
+ @leecalcote (#12160)
+ - Bump github.com/open-policy-agent/opa from 0.67.1 to 0.68.0
+ @dependabot (#12100)
+ * Documentation
+ - [Doc]Fix catalog schema link @CalebZoe (#12145)
+
+-------------------------------------------------------------------
Old:
----
mesheryctl-0.7.108.obscpio
New:
----
mesheryctl-0.7.109.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mesheryctl.spec ++++++
--- /var/tmp/diff_new_pack.U54l5R/_old 2024-10-01 17:19:28.928899502 +0200
+++ /var/tmp/diff_new_pack.U54l5R/_new 2024-10-01 17:19:28.928899502 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: mesheryctl
-Version: 0.7.108
+Version: 0.7.109
Release: 0
Summary: CLI for the meshery cloud native management plane
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.U54l5R/_old 2024-10-01 17:19:28.968901170 +0200
+++ /var/tmp/diff_new_pack.U54l5R/_new 2024-10-01 17:19:28.976901503 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/meshery/meshery</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v0.7.108</param>
+ <param name="revision">v0.7.109</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">disable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ mesheryctl-0.7.108.obscpio -> mesheryctl-0.7.109.obscpio ++++++
/work/SRC/openSUSE:Factory/mesheryctl/mesheryctl-0.7.108.obscpio /work/SRC/openSUSE:Factory/.mesheryctl.new.29891/mesheryctl-0.7.109.obscpio differ: char 50, line 1
++++++ mesheryctl.obsinfo ++++++
--- /var/tmp/diff_new_pack.U54l5R/_old 2024-10-01 17:19:29.036904005 +0200
+++ /var/tmp/diff_new_pack.U54l5R/_new 2024-10-01 17:19:29.040904173 +0200
@@ -1,5 +1,5 @@
name: mesheryctl
-version: 0.7.108
-mtime: 1727357387
-commit: c3a454f4ad7b317a8936a68c3207343e7a28b3d3
+version: 0.7.109
+mtime: 1727594061
+commit: 2f9930fb2c64eafc5cc5430b6217d391f7a971d1
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/mesheryctl/vendor.tar.gz /work/SRC/openSUSE:Factory/.mesheryctl.new.29891/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package chezmoi for openSUSE:Factory checked in at 2024-10-01 17:16:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chezmoi (Old)
and /work/SRC/openSUSE:Factory/.chezmoi.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chezmoi"
Tue Oct 1 17:16:53 2024 rev:61 rq:1204814 version:2.52.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/chezmoi/chezmoi.changes 2024-09-11 16:56:18.924343600 +0200
+++ /work/SRC/openSUSE:Factory/.chezmoi.new.29891/chezmoi.changes 2024-10-01 17:17:00.198698365 +0200
@@ -1,0 +2,13 @@
+Mon Sep 30 17:07:24 UTC 2024 - Filippo Bonazzi <filippo.bonazzi(a)suse.com>
+
+- Update to version 2.52.3:
+ - Features
+ * feat: Set GOMAXPROCS based on available resources
+ - Documentation updates
+ * docs: Improve developer documentation
+ * docs: Use uv for managing Python and dependencies
+ * docs: Add note on reporting viruses or trojans on Windows
+ * docs: Add sequence diagram for chezmoi init
+ * docs: Add daily usage entry on editing files
+
+-------------------------------------------------------------------
Old:
----
chezmoi-2.52.2.obscpio
New:
----
chezmoi-2.52.3.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ chezmoi.spec ++++++
--- /var/tmp/diff_new_pack.vjUdiu/_old 2024-10-01 17:17:01.894769080 +0200
+++ /var/tmp/diff_new_pack.vjUdiu/_new 2024-10-01 17:17:01.898769247 +0200
@@ -17,7 +17,7 @@
Name: chezmoi
-Version: 2.52.2
+Version: 2.52.3
Release: 0
Summary: A multi-host manager for dotfiles
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.vjUdiu/_old 2024-10-01 17:17:01.930770582 +0200
+++ /var/tmp/diff_new_pack.vjUdiu/_new 2024-10-01 17:17:01.934770748 +0200
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/twpayne/chezmoi.git</param>
- <param name="revision">v2.52.2</param>
+ <param name="revision">v2.52.3</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
</service>
++++++ chezmoi-2.52.2.obscpio -> chezmoi-2.52.3.obscpio ++++++
++++ 2124 lines of diff (skipped)
++++++ chezmoi.obsinfo ++++++
--- /var/tmp/diff_new_pack.vjUdiu/_old 2024-10-01 17:17:02.374789094 +0200
+++ /var/tmp/diff_new_pack.vjUdiu/_new 2024-10-01 17:17:02.378789261 +0200
@@ -1,5 +1,5 @@
name: chezmoi
-version: 2.52.2
-mtime: 1725925902
-commit: f91dbfc2256b59c003ecdf28815a265e48eeecc3
+version: 2.52.3
+mtime: 1727685587
+commit: c136cd0324b46d311427eaf8ebff3d4532effbb1
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/chezmoi/vendor.tar.gz /work/SRC/openSUSE:Factory/.chezmoi.new.29891/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package doggo for openSUSE:Factory checked in at 2024-10-01 17:16:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/doggo (Old)
and /work/SRC/openSUSE:Factory/.doggo.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "doggo"
Tue Oct 1 17:16:50 2024 rev:3 rq:1204816 version:1.0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/doggo/doggo.changes 2024-07-04 16:23:36.352237062 +0200
+++ /work/SRC/openSUSE:Factory/.doggo.new.29891/doggo.changes 2024-10-01 17:16:56.046525245 +0200
@@ -1,0 +2,16 @@
+Mon Sep 30 16:56:31 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 1.0.5:
+ * chore: upgrade deps
+ * fix fishCompletion
+ * update globalping client
+ * update args
+ * add support for --json, --short && update docs
+ * feat: integrate Globalping API for global network diagnostics
+ * chore: document completions subcommand in --help output
+ * Update README.md
+ * fix: change DefaultResolvConfPath to var instead of const
+ * fix(logger): Change log destination to stderr
+ * Update README.md
+
+-------------------------------------------------------------------
Old:
----
doggo-1.0.4.obscpio
New:
----
doggo-1.0.5.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ doggo.spec ++++++
--- /var/tmp/diff_new_pack.wPZWZB/_old 2024-10-01 17:16:57.670592958 +0200
+++ /var/tmp/diff_new_pack.wPZWZB/_new 2024-10-01 17:16:57.670592958 +0200
@@ -17,7 +17,7 @@
Name: doggo
-Version: 1.0.4
+Version: 1.0.5
Release: 0
Summary: CLI tool and API server DNS client implemented in Go
License: GPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.wPZWZB/_old 2024-10-01 17:16:57.698594126 +0200
+++ /var/tmp/diff_new_pack.wPZWZB/_new 2024-10-01 17:16:57.702594292 +0200
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/mr-karan/doggo.git</param>
- <param name="revision">v1.0.4</param>
+ <param name="revision">v1.0.5</param>
<param name="match-tag">*</param>
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
<param name="versionformat">@PARENT_TAG@</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.wPZWZB/_old 2024-10-01 17:16:57.726595293 +0200
+++ /var/tmp/diff_new_pack.wPZWZB/_new 2024-10-01 17:16:57.730595460 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/mr-karan/doggo.git</param>
- <param name="changesrevision">bac855567c203714c35586f026b91e4caf687636</param></service></servicedata>
+ <param name="changesrevision">16ba284a136354fb4f11fd4d566db9b4364e9a32</param></service></servicedata>
(No newline at EOF)
++++++ doggo-1.0.4.obscpio -> doggo-1.0.5.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/README.md new/doggo-1.0.5/README.md
--- old/doggo-1.0.4/README.md 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/README.md 2024-09-30 11:30:03.000000000 +0200
@@ -14,7 +14,6 @@
<img src="www/static/doggo.png" alt="doggo CLI usage">
</p>
-
---
**doggo** is a modern command-line DNS client (like _dig_) written in Golang. It outputs information in a neat concise manner and supports protocols like DoH, DoT, DoQ, and DNSCrypt as well.
@@ -32,8 +31,10 @@
### Package Managers
- Homebrew: `brew install doggo`
+- MacPorts (macOS): `port install doggo`
- Arch Linux: `yay -S doggo-bin`
- Scoop (Windows): `scoop install doggo`
+- Eget: `eget mr-karan/doggo`
### Binary Install
@@ -77,6 +78,9 @@
# Reverse DNS lookup
doggo --reverse 8.8.8.8 --short
+
+# Using Globalping
+doggo example.com --gp-from Germany,Japan --gp-limit 2
```
## Features
@@ -109,4 +113,4 @@
## License
-This project is licensed under the [MIT License](./LICENSE).
\ No newline at end of file
+This project is licensed under the [MIT License](./LICENSE).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/cmd/doggo/cli.go new/doggo-1.0.5/cmd/doggo/cli.go
--- old/doggo-1.0.4/cmd/doggo/cli.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/cmd/doggo/cli.go 2024-09-30 11:30:03.000000000 +0200
@@ -5,10 +5,12 @@
"encoding/json"
"fmt"
"log/slog"
+ "math"
"os"
"sync"
"time"
+ "github.com/jsdelivr/globalping-cli/globalping"
"github.com/knadh/koanf/providers/posflag"
"github.com/knadh/koanf/v2"
"github.com/mr-karan/doggo/internal/app"
@@ -43,6 +45,26 @@
logger := utils.InitLogger(cfg.debug)
app := initializeApp(logger, cfg)
+ if app.QueryFlags.GPFrom != "" {
+ res, err := app.GlobalpingMeasurement()
+ if err != nil {
+ logger.Error("Error fetching globalping measurement", "error", err)
+ os.Exit(2)
+ }
+ if app.QueryFlags.ShowJSON {
+ err = app.OutputGlobalpingJSON(res)
+ } else if app.QueryFlags.ShortOutput {
+ err = app.OutputGlobalpingShort(res)
+ } else {
+ err = app.OutputGlobalping(res)
+ }
+ if err != nil {
+ logger.Error("Error outputting globalping measurement", "error", err)
+ os.Exit(2)
+ }
+ return
+ }
+
if cfg.reverseLookup {
app.ReverseLookup()
}
@@ -121,6 +143,9 @@
f.StringSliceP("nameserver", "n", []string{}, "Address of the nameserver to send packets to")
f.BoolP("reverse", "x", false, "Performs a DNS Lookup for an IPv4 or IPv6 address")
+ f.String("gp-from", "", "Probe locations as a comma-separated list")
+ f.Int("gp-limit", 1, "Limit the number of probes to use")
+
f.DurationP("timeout", "T", 5*time.Second, "Sets the timeout for a query")
f.Bool("search", true, "Use the search list provided in resolv.conf")
f.Int("ndots", -1, "Specify the ndots parameter")
@@ -162,7 +187,21 @@
}
func initializeApp(logger *slog.Logger, cfg *config) *app.App {
- app := app.New(logger, buildVersion)
+ gpConfig := globalping.Config{
+ APIURL: "https://api.globalping.io/v1",
+ AuthURL: "https://auth.globalping.io",
+ UserAgent: fmt.Sprintf("doggo/%s (https://github.com/mr-karan/doggo)", buildVersion),
+ }
+ gpToken := os.Getenv("GLOBALPING_TOKEN")
+ if gpToken != "" {
+ gpConfig.AuthToken = &globalping.Token{
+ AccessToken: gpToken,
+ Expiry: time.Now().Add(math.MaxInt64),
+ }
+ }
+ globlpingClient := globalping.NewClient(gpConfig)
+
+ app := app.New(logger, globlpingClient, buildVersion)
if err := k.Unmarshal("", &app.QueryFlags); err != nil {
logger.Error("Error loading args", "error", err)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/cmd/doggo/completions.go new/doggo-1.0.5/cmd/doggo/completions.go
--- old/doggo-1.0.4/cmd/doggo/completions.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/cmd/doggo/completions.go 2024-09-30 11:30:03.000000000 +0200
@@ -13,7 +13,7 @@
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
- opts="-v --version -h --help -q --query -t --type -n --nameserver -c --class -r --reverse --strategy --ndots --search --timeout -4 --ipv4 -6 --ipv6 --tls-hostname --skip-hostname-verification -J --json --short --color --debug --time"
+ opts="-v --version -h --help -q --query -t --type -n --nameserver -c --class -r --reverse --strategy --ndots --search --timeout -4 --ipv4 -6 --ipv6 --tls-hostname --skip-hostname-verification -J --json --short --color --debug --time --gp-from --gp-limit"
case "${prev}" in
-t|--type)
@@ -77,6 +77,8 @@
'--color[Colored output]:setting:(true false)' \
'--debug[Enable debug logging]' \
'--time[Shows how long the response took from the server]' \
+ '--gp-from[Query using Globalping API from a specific location]' \
+ '--gp-limit[Limit the number of probes to use from Globalping]' \
'*:hostname:_hosts' \
&& ret=0
@@ -131,6 +133,10 @@
complete -c doggo -n '__fish_doggo_no_subcommand' -l 'tls-hostname' -d "Hostname for certificate verification" -x -a "(__fish_print_hostnames)"
complete -c doggo -n '__fish_doggo_no_subcommand' -l 'skip-hostname-verification' -d "Skip TLS hostname verification in case of DoT lookups"
+# Globalping options
+complete -c doggo -n '__fish_doggo_no_subcommand' -l 'gp-from' -d "Query using Globalping API from a specific location"
+complete -c doggo -n '__fish_doggo_no_subcommand' -l 'gp-limit' -d "Limit the number of probes to use from Globalping"
+
# Completions command
complete -c doggo -n '__fish_doggo_no_subcommand' -a completions -d "Generate shell completion scripts"
complete -c doggo -n '__fish_seen_subcommand_from completions' -a "bash zsh fish" -d "Shell type"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/cmd/doggo/help.go new/doggo-1.0.5/cmd/doggo/help.go
--- old/doggo-1.0.4/cmd/doggo/help.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/cmd/doggo/help.go 2024-09-30 11:30:03.000000000 +0200
@@ -34,6 +34,11 @@
{{ printf "%-12s" $opt.Scheme | color "yellow" "" }}{{ printf "%-68s" $opt.Example }}{{ $opt.Description | color "cyan" "" }}
{{- end }}
+{{ "SUBCOMMANDS" | color "" "heading" }}:
+ {{- range $opt := .Subcommands }}
+ {{ printf "%-30s" $opt.Flag | color "yellow" "" }}{{ $opt.Description }}
+ {{- end }}
+
{{ "QUERY OPTIONS" | color "" "heading" }}:
{{- range $opt := .QueryOptions }}
{{ printf "%-30s" $opt.Flag | color "yellow" "" }}{{ $opt.Description }}
@@ -53,6 +58,11 @@
{{- range $opt := .OutputOptions }}
{{ printf "%-30s" $opt.Flag | color "yellow" "" }}{{ $opt.Description }}
{{- end }}
+
+{{ "GLOBALPING OPTIONS" | color "" "heading" }}:
+ {{- range $opt := .GlobalPingOptions }}
+ {{ printf "%-30s" $opt.Flag | color "yellow" "" }}{{ $opt.Description }}
+ {{- end }}
`
func renderCustomHelp() {
@@ -84,6 +94,7 @@
{"-q mrkaran.dev -t MX -n 1.1.1.1", "Using named arguments."},
{"mrkaran.dev --aa --ad", "Query with Authoritative Answer and Authenticated Data flags set."},
{"mrkaran.dev --cd --do", "Query with Checking Disabled and DNSSEC OK flags set."},
+ {"mrkaran.dev --gp-from Germany", "Query using Globalping API from a specific location."},
},
"TransportOptions": []TransportOption{
{"@udp://", "eg: @1.1.1.1", "initiates a UDP query to 1.1.1.1:53."},
@@ -93,6 +104,9 @@
{"@sdns://", "initiates a DNSCrypt or DoH query using a DNS stamp.", ""},
{"@quic://", "initiates a DOQ query.", ""},
},
+ "Subcommands": []Option{
+ {"completions [bash|zsh|fish]", "Generate the shell completion script for the specified shell."},
+ },
"QueryOptions": []Option{
{"-q, --query=HOSTNAME", "Hostname to query the DNS records for (eg mrkaran.dev)."},
{"-t, --type=TYPE", "Type of the DNS Record (A, MX, NS etc)."},
@@ -126,6 +140,10 @@
{"--debug", "Enable debug logging."},
{"--time", "Shows how long the response took from the server."},
},
+ "GlobalPingOptions": []Option{
+ {"--gp-from=Germany", "Query using Globalping API from a specific location."},
+ {"--gp-limit=INT", "Limit the number of probes to use from Globalping."},
+ },
}
tmpl, err := template.New("help").Funcs(template.FuncMap{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/docs/src/content/docs/features/output.md new/doggo-1.0.5/docs/src/content/docs/features/output.md
--- old/doggo-1.0.4/docs/src/content/docs/features/output.md 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/docs/src/content/docs/features/output.md 2024-09-30 11:30:03.000000000 +0200
@@ -16,6 +16,20 @@
mrkaran.dev. A IN 300s 172.67.187.239 127.0.0.53:53
```
+```bash
+doggo mrkaran.dev --gp-from Europe,Asia --gp-limit 2
+LOCATION NAME TYPE CLASS TTL ADDRESS NAMESERVER
+Vienna, AT, EU, EDIS GmbH
+(AS57169)
+ mrkaran.dev. A IN 300s 104.21.7.168 private
+ mrkaran.dev. A IN 300s 172.67.187.239 private
+Tokyo, JP, AS, Tencent
+Building, Kejizhongyi Avenue
+(AS132203)
+ mrkaran.dev. A IN 300s 104.21.7.168 private
+ mrkaran.dev. A IN 300s 172.67.187.239 private
+```
+
To disable colored output, use the `--color=false` flag:
```bash
@@ -42,7 +56,7 @@
"address": "104.27.158.96",
"rtt": "37ms",
"nameserver": "127.0.0.1:53"
- },
+ }
// ... more entries ...
],
"queries": [
@@ -56,6 +70,49 @@
}
```
+```bash
+doggo mrkaran.dev --gp-from Europe,Asia --gp-limit 2 --json | jq
+```
+
+```json
+{
+ "responses": [
+ {
+ "location": "Groningen, NL, EU, Google LLC (AS396982)",
+ "answers": [
+ {
+ "name": "mrkaran.dev.",
+ "type": "A",
+ "class": "IN",
+ "ttl": "300s",
+ "address": "172.67.187.239",
+ "status": "",
+ "rtt": "",
+ "nameserver": "private"
+ }
+ // ... more entries ...
+ ]
+ },
+ {
+ "location": "Jakarta, ID, AS, Zenlayer Inc (AS21859)",
+ "answers": [
+ {
+ "name": "mrkaran.dev.",
+ "type": "A",
+ "class": "IN",
+ "ttl": "300s",
+ "address": "172.67.187.239",
+ "status": "",
+ "rtt": "",
+ "nameserver": "private"
+ }
+ // ... more entries ...
+ ]
+ }
+ ]
+}
+```
+
### Short Output
For a more concise view, use the `--short` flag to show only the response section:
@@ -65,3 +122,13 @@
104.21.7.168
172.67.187.239
```
+
+```bash
+doggo mrkaran.dev --gp-from Europe,Asia --gp-limit 2 --short
+Frankfurt, DE, EU, WIBO Baltic UAB (AS59939)
+104.21.7.168
+172.67.187.239
+Saratov, RU, AS, LLC "SMART CENTER" (AS48763)
+172.67.187.239
+104.21.7.168
+```
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/docs/src/content/docs/guide/examples.md new/doggo-1.0.5/docs/src/content/docs/guide/examples.md
--- old/doggo-1.0.4/docs/src/content/docs/guide/examples.md 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/docs/src/content/docs/guide/examples.md 2024-09-30 11:30:03.000000000 +0200
@@ -8,55 +8,75 @@
## Basic Queries
1. Simple A record lookup:
+
```bash
doggo example.com
```
2. Query for a specific record type:
+
```bash
doggo AAAA example.com
```
3. Query multiple record types simultaneously:
+
```bash
doggo A AAAA MX example.com
```
+4. Query using Globalping API from a specific location:
+ ```bash
+ doggo example.com --gp-from Germany
+ ```
+
### Using Different Resolvers
4. Query using a specific DNS resolver:
+
```bash
doggo example.com @1.1.1.1
```
5. Use DNS-over-HTTPS (DoH):
+
```bash
doggo example.com @https://cloudflare-dns.com/dns-query
```
6. Use DNS-over-TLS (DoT):
+
```bash
doggo example.com @tls://1.1.1.1
```
7. Query multiple resolvers and compare results:
+
```bash
doggo example.com @1.1.1.1 @8.8.8.8 @9.9.9.9
```
+8. Using Globalping API
+ ```bash
+ doggo example.com @1.1.1.1 --gp-from Germany
+ ```
+
### Advanced Queries
8. Perform a reverse DNS lookup:
+
```bash
doggo --reverse 8.8.8.8
```
9. Set query flags for DNSSEC validation:
+
```bash
doggo example.com --do --cd
```
10. Use the short output format for concise results:
+
```bash
doggo example.com --short
```
@@ -69,11 +89,13 @@
### Combining Flags
12. Perform a reverse lookup with short output and custom resolver:
+
```bash
doggo --reverse 8.8.8.8 --short @1.1.1.1
```
13. Query for MX records using DoH with JSON output:
+
```bash
doggo MX example.com @https://dns.google/dns-query --json
```
@@ -83,7 +105,6 @@
doggo AAAA example.com -6 --timeout 3s --do
```
-
## Scripting and Automation
16. Use JSON output for easy parsing in scripts:
@@ -93,16 +114,19 @@
```
17. Batch query multiple domains from a file:
+
```bash
cat domains.txt | xargs -I {} doggo {} --short
```
18. Find all nameservers for a domain and its parent domains:
+
```bash
doggo NS example.com example.com. com. . --short
```
19. Extract all MX records and their priorities:
+
```bash
doggo MX gmail.com --json | jq -r '.responses[0].answers[] | "\(.address) \(.preference)"'
```
@@ -115,23 +139,28 @@
## Troubleshooting and Debugging
21. Enable debug logging for verbose output:
+
```bash
doggo example.com --debug
```
22. Compare responses with and without EDNS Client Subnet:
+
```bash
doggo example.com @8.8.8.8
doggo example.com @8.8.8.8 --z
```
23. Test DNSSEC validation:
+
```bash
doggo rsasecured.net --do @8.8.8.8
```
+
This example uses a domain known to be DNSSEC-signed. The `--do` flag sets the DNSSEC OK bit.
Note: DNSSEC validation can be complex and depends on various factors:
+
- The domain must be properly DNSSEC-signed
- The resolver must support DNSSEC
- The resolver must be configured to perform DNSSEC validation
@@ -139,12 +168,14 @@
If you don't see DNSSEC-related information in the output, try using a resolver known to support DNSSEC, like 8.8.8.8 (Google) or 9.9.9.9 (Quad9).
24. Compare responses with and without EDNS Client Subnet:
+
```bash
doggo example.com @8.8.8.8
doggo example.com @8.8.8.8 --z
```
25. Check for DNSSEC records (DNSKEY, DS, RRSIG):
+
```bash
doggo DNSKEY example.com @8.8.8.8
doggo DS example.com @8.8.8.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/docs/src/content/docs/guide/reference.md new/doggo-1.0.5/docs/src/content/docs/guide/reference.md
--- old/doggo-1.0.4/docs/src/content/docs/guide/reference.md 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/docs/src/content/docs/guide/reference.md 2024-09-30 11:30:03.000000000 +0200
@@ -68,31 +68,48 @@
| `@sdns://` | DNSCrypt or DoH using DNS stamp | `@sdns://...` |
| `@quic://` | DNS over QUIC | `@quic://dns.adguard.com` |
+## Globalping API Options
+
+| Option | Description | Example |
+| ------------ | ---------------------------------- | ----------------------- |
+| `--gp-from` | Specify the location to query from | `--gp-from Europe,Asia` |
+| `--gp-limit` | Limit the number of probes to use | `--gp-limit 5` |
+
## Examples
1. Query a domain using defaults:
+
```
doggo example.com
```
2. Query for a CNAME record:
+
```
doggo example.com CNAME
```
3. Use a custom DNS resolver:
+
```
doggo example.com MX @9.9.9.9
```
4. Using named arguments:
+
```
doggo -q example.com -t MX -n 1.1.1.1
```
5. Query with specific flags:
+
```
doggo example.com --aa --ad
```
+6. Query using Globalping API from a specific location:
+ ```
+ doggo example.com --gp-from Europe,Asia --gp-limit 5
+ ```
+
For more detailed usage examples, refer to the [Examples](/guide/examples) section.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/go.mod new/doggo-1.0.5/go.mod
--- old/doggo-1.0.4/go.mod 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/go.mod 2024-09-30 11:30:03.000000000 +0200
@@ -1,46 +1,50 @@
module github.com/mr-karan/doggo
-go 1.22.4
+go 1.22.6
+
+toolchain go1.23.1
require (
github.com/ameshkov/dnscrypt/v2 v2.3.0
github.com/ameshkov/dnsstamps v1.0.3
github.com/fatih/color v1.17.0
github.com/go-chi/chi/v5 v5.1.0
+ github.com/jsdelivr/globalping-cli v1.3.1-0.20240925142143-6b5f0951f8e1
github.com/knadh/koanf/parsers/toml v0.1.0
- github.com/knadh/koanf/providers/env v0.1.0
- github.com/knadh/koanf/providers/file v1.0.0
+ github.com/knadh/koanf/providers/env v1.0.0
+ github.com/knadh/koanf/providers/file v1.1.0
github.com/knadh/koanf/providers/posflag v0.1.0
github.com/knadh/koanf/v2 v2.1.1
- github.com/miekg/dns v1.1.61
+ github.com/miekg/dns v1.1.62
github.com/olekukonko/tablewriter v0.0.5
- github.com/quic-go/quic-go v0.45.1
+ github.com/quic-go/quic-go v0.47.0
github.com/spf13/pflag v1.0.5
- golang.org/x/sys v0.21.0
+ golang.org/x/sys v0.25.0
)
require (
- github.com/AdguardTeam/golibs v0.24.1 // indirect
+ github.com/AdguardTeam/golibs v0.27.0 // indirect
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect
github.com/aead/poly1305 v0.0.0-20180717145839-3fee0db0b635 // indirect
+ github.com/andybalholm/brotli v1.1.0 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
- github.com/go-viper/mapstructure/v2 v2.0.0 // indirect
- github.com/google/pprof v0.0.0-20240625030939-27f56978b8b0 // indirect
+ github.com/go-viper/mapstructure/v2 v2.2.1 // indirect
+ github.com/google/pprof v0.0.0-20240929191954-255acd752d31 // indirect
github.com/knadh/koanf/maps v0.1.1 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
- github.com/mattn/go-runewidth v0.0.15 // indirect
+ github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
- github.com/onsi/ginkgo/v2 v2.19.0 // indirect
+ github.com/onsi/ginkgo/v2 v2.20.2 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
go.uber.org/mock v0.4.0 // indirect
- golang.org/x/crypto v0.24.0 // indirect
- golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect
- golang.org/x/mod v0.18.0 // indirect
- golang.org/x/net v0.26.0 // indirect
- golang.org/x/sync v0.7.0 // indirect
- golang.org/x/tools v0.22.0 // indirect
+ golang.org/x/crypto v0.27.0 // indirect
+ golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
+ golang.org/x/mod v0.21.0 // indirect
+ golang.org/x/net v0.29.0 // indirect
+ golang.org/x/sync v0.8.0 // indirect
+ golang.org/x/tools v0.25.0 // indirect
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/go.sum new/doggo-1.0.5/go.sum
--- old/doggo-1.0.4/go.sum 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/go.sum 2024-09-30 11:30:03.000000000 +0200
@@ -1,5 +1,5 @@
-github.com/AdguardTeam/golibs v0.24.1 h1:/ulkfm65wi33p72ybxiOt3lSdP0nr1GggSoaT4sHbns=
-github.com/AdguardTeam/golibs v0.24.1/go.mod h1:9/vJcYznW7RlmCT/Qzi8XNZGj+ZbWfHZJmEXKnRpCAU=
+github.com/AdguardTeam/golibs v0.27.0 h1:YxCFK6HBGp/ZXp3bv5uei+oLH12UfIYB8u2rh1B6nnU=
+github.com/AdguardTeam/golibs v0.27.0/go.mod h1:iWdjXPCwmK2g2FKIb/OwEPnovSXeMqRhI8FWLxF5oxE=
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY=
github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA=
github.com/aead/poly1305 v0.0.0-20180717145839-3fee0db0b635 h1:52m0LGchQBBVqJRyYYufQuIbVqRawmubW3OFGqK1ekw=
@@ -8,6 +8,8 @@
github.com/ameshkov/dnscrypt/v2 v2.3.0/go.mod h1:N5hDwgx2cNb4Ay7AhvOSKst+eUiOZ/vbKRO9qMpQttE=
github.com/ameshkov/dnsstamps v1.0.3 h1:Srzik+J9mivH1alRACTbys2xOxs0lRH9qnTA7Y1OYVo=
github.com/ameshkov/dnsstamps v1.0.3/go.mod h1:Ii3eUu73dx4Vw5O4wjzmT5+lkCwovjzaEZZ4gKyIH5A=
+github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M=
+github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
@@ -16,24 +18,26 @@
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/go-chi/chi/v5 v5.1.0 h1:acVI1TYaD+hhedDJ3r54HyA6sExp3HfXq7QWEEY/xMw=
github.com/go-chi/chi/v5 v5.1.0/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8=
-github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
-github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
+github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
+github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
-github.com/go-viper/mapstructure/v2 v2.0.0 h1:dhn8MZ1gZ0mzeodTG3jt5Vj/o87xZKuNAprG2mQfMfc=
-github.com/go-viper/mapstructure/v2 v2.0.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
+github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss=
+github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
-github.com/google/pprof v0.0.0-20240625030939-27f56978b8b0 h1:e+8XbKB6IMn8A4OAyZccO4pYfB3s7bt6azNIPE7AnPg=
-github.com/google/pprof v0.0.0-20240625030939-27f56978b8b0/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
+github.com/google/pprof v0.0.0-20240929191954-255acd752d31 h1:LcRdQWywSgfi5jPsYZ1r2avbbs5IQ5wtyhMBCcokyo4=
+github.com/google/pprof v0.0.0-20240929191954-255acd752d31/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
+github.com/jsdelivr/globalping-cli v1.3.1-0.20240925142143-6b5f0951f8e1 h1:UrEC+iF/FHS/5UTJZJXOkm8y7wct2sqhNftJ2WQN7WI=
+github.com/jsdelivr/globalping-cli v1.3.1-0.20240925142143-6b5f0951f8e1/go.mod h1:2+lO4/xYSauKsf+pZ62bro1c4StxDO3cYcrLx4jsYmI=
github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs=
github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI=
github.com/knadh/koanf/parsers/toml v0.1.0 h1:S2hLqS4TgWZYj4/7mI5m1CQQcWurxUz6ODgOub/6LCI=
github.com/knadh/koanf/parsers/toml v0.1.0/go.mod h1:yUprhq6eo3GbyVXFFMdbfZSo928ksS+uo0FFqNMnO18=
-github.com/knadh/koanf/providers/env v0.1.0 h1:LqKteXqfOWyx5Ab9VfGHmjY9BvRXi+clwyZozgVRiKg=
-github.com/knadh/koanf/providers/env v0.1.0/go.mod h1:RE8K9GbACJkeEnkl8L/Qcj8p4ZyPXZIQ191HJi44ZaQ=
-github.com/knadh/koanf/providers/file v1.0.0 h1:DtPvSQBeF+N0QLPMz0yf2bx0nFSxUcncpqQvzCxfCyk=
-github.com/knadh/koanf/providers/file v1.0.0/go.mod h1:/faSBcv2mxPVjFrXck95qeoyoZ5myJ6uxN8OOVNJJCI=
+github.com/knadh/koanf/providers/env v1.0.0 h1:ufePaI9BnWH+ajuxGGiJ8pdTG0uLEUWC7/HDDPGLah0=
+github.com/knadh/koanf/providers/env v1.0.0/go.mod h1:mzFyRZueYhb37oPmC1HAv/oGEEuyvJDA98r3XAa8Gak=
+github.com/knadh/koanf/providers/file v1.1.0 h1:MTjA+gRrVl1zqgetEAIaXHqYje0XSosxSiMD4/7kz0o=
+github.com/knadh/koanf/providers/file v1.1.0/go.mod h1:/faSBcv2mxPVjFrXck95qeoyoZ5myJ6uxN8OOVNJJCI=
github.com/knadh/koanf/providers/posflag v0.1.0 h1:mKJlLrKPcAP7Ootf4pBZWJ6J+4wHYujwipe7Ie3qW6U=
github.com/knadh/koanf/providers/posflag v0.1.0/go.mod h1:SYg03v/t8ISBNrMBRMlojH8OsKowbkXV7giIbBVgbz0=
github.com/knadh/koanf/v2 v2.1.1 h1:/R8eXqasSTsmDCsAyYj+81Wteg8AqrV9CP6gvsTsOmM=
@@ -44,26 +48,26 @@
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
-github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
-github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
-github.com/miekg/dns v1.1.61 h1:nLxbwF3XxhwVSm8g9Dghm9MHPaUZuqhPiGL+675ZmEs=
-github.com/miekg/dns v1.1.61/go.mod h1:mnAarhS3nWaW+NVP2wTkYVIZyHNJ098SJZUki3eykwQ=
+github.com/mattn/go-runewidth v0.0.16 h1:E5ScNMtiwvlvB5paMFdw9p4kSQzbXFikJ5SQO6TULQc=
+github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=
+github.com/miekg/dns v1.1.62/go.mod h1:mvDlcItzm+br7MToIKqkglaGhlFMHJ9DTNNWONWXbNQ=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
-github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
-github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
-github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
-github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
+github.com/onsi/ginkgo/v2 v2.20.2 h1:7NVCeyIWROIAheY21RLS+3j2bb52W0W82tkberYytp4=
+github.com/onsi/ginkgo/v2 v2.20.2/go.mod h1:K9gyxPIlb+aIvnZ8bd9Ak+YP18w3APlR+5coaZoE2ag=
+github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k=
+github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY=
github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/quic-go/quic-go v0.45.1 h1:tPfeYCk+uZHjmDRwHHQmvHRYL2t44ROTujLeFVBmjCA=
-github.com/quic-go/quic-go v0.45.1/go.mod h1:1dLehS7TIR64+vxGR70GDcatWTOtMX2PUtnKsjbTurI=
+github.com/quic-go/quic-go v0.47.0 h1:yXs3v7r2bm1wmPTYNLKAAJTHMYkPEsfYJmTazXrCZ7Y=
+github.com/quic-go/quic-go v0.47.0/go.mod h1:3bCapYsJvXGZcipOHuu7plYtaV6tnF+z7wIFsU0WK9E=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
@@ -73,27 +77,27 @@
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
-golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
-golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
-golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY=
-golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI=
-golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
-golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
-golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
-golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
-golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
+golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
+golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 h1:e66Fs6Z+fZTbFBAxKfP3PALWBtpfqks2bwGcexMxgtk=
+golang.org/x/exp v0.0.0-20240909161429-701f63a606c0/go.mod h1:2TbTHSBQa924w8M6Xs1QcRcFwyucIwBGpK1p2f1YFFY=
+golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
+golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
+golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
+golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
+golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
+golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
-golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
-golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
+golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
+golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
+golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
-golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
-golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
-google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
-google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
+golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
+golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
+google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
+google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/internal/app/app.go new/doggo-1.0.5/internal/app/app.go
--- old/doggo-1.0.4/internal/app/app.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/internal/app/app.go 2024-09-30 11:30:03.000000000 +0200
@@ -3,6 +3,7 @@
import (
"log/slog"
+ "github.com/jsdelivr/globalping-cli/globalping"
"github.com/miekg/dns"
"github.com/mr-karan/doggo/pkg/models"
"github.com/mr-karan/doggo/pkg/resolvers"
@@ -17,10 +18,16 @@
Resolvers []resolvers.Resolver
ResolverOpts resolvers.Options
Nameservers []models.Nameserver
+
+ globalping globalping.Client
}
// NewApp initializes an instance of App which holds app wide configuration.
-func New(logger *slog.Logger, buildVersion string) App {
+func New(
+ logger *slog.Logger,
+ globalping globalping.Client,
+ buildVersion string,
+) App {
app := App{
Logger: logger,
Version: buildVersion,
@@ -31,6 +38,7 @@
Nameservers: []string{},
},
Nameservers: []models.Nameserver{},
+ globalping: globalping,
}
return app
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/internal/app/globalping.go new/doggo-1.0.5/internal/app/globalping.go
--- old/doggo-1.0.4/internal/app/globalping.go 1970-01-01 01:00:00.000000000 +0100
+++ new/doggo-1.0.5/internal/app/globalping.go 2024-09-30 11:30:03.000000000 +0200
@@ -0,0 +1,246 @@
+package app
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "net"
+ "net/url"
+ "strconv"
+ "strings"
+ "time"
+
+ "github.com/fatih/color"
+ "github.com/jsdelivr/globalping-cli/globalping"
+ "github.com/mr-karan/doggo/pkg/resolvers"
+ "github.com/olekukonko/tablewriter"
+)
+
+var (
+ ErrTargetIPVersionNotAllowed = errors.New("ipVersion is not allowed when target is not a domain")
+ ErrResolverIPVersionNotAllowed = errors.New("ipVersion is not allowed when resolver is not a domain")
+)
+
+func (app *App) GlobalpingMeasurement() (*globalping.Measurement, error) {
+ if len(app.QueryFlags.QNames) > 1 {
+ return nil, errors.New("only one target is allowed for globalping")
+ }
+ if len(app.QueryFlags.QTypes) > 1 {
+ return nil, errors.New("only one query type is allowed for globalping")
+ }
+
+ target := app.QueryFlags.QNames[0]
+ resolver, port, protocol, err := parseGlobalpingResolver(app.QueryFlags.Nameservers)
+ if err != nil {
+ return nil, err
+ }
+
+ if app.QueryFlags.UseIPv4 || app.QueryFlags.UseIPv6 {
+ if net.ParseIP(target) != nil {
+ return nil, ErrTargetIPVersionNotAllowed
+ }
+ if resolver != "" && net.ParseIP(resolver) != nil {
+ return nil, ErrResolverIPVersionNotAllowed
+ }
+ }
+
+ o := &globalping.MeasurementCreate{
+ Type: "dns",
+ Target: target,
+ Limit: app.QueryFlags.GPLimit,
+ Locations: parseGlobalpingLocations(app.QueryFlags.GPFrom),
+ Options: &globalping.MeasurementOptions{
+ Protocol: protocol,
+ Port: port,
+ },
+ }
+ if app.QueryFlags.UseIPv4 {
+ o.Options.IPVersion = globalping.IPVersion4
+ } else if app.QueryFlags.UseIPv6 {
+ o.Options.IPVersion = globalping.IPVersion6
+ }
+ if resolver != "" {
+ o.Options.Resolver = resolver
+ }
+ if len(app.QueryFlags.QTypes) > 0 {
+ o.Options.Query = &globalping.QueryOptions{
+ Type: app.QueryFlags.QTypes[0],
+ }
+ }
+ res, err := app.globalping.CreateMeasurement(o)
+ if err != nil {
+ return nil, err
+ }
+ measurement, err := app.globalping.GetMeasurement(res.ID)
+ if err != nil {
+ return nil, err
+ }
+ for measurement.Status == globalping.StatusInProgress {
+ time.Sleep(500 * time.Millisecond)
+ measurement, err = app.globalping.GetMeasurement(res.ID)
+ if err != nil {
+ return nil, err
+ }
+ }
+
+ if measurement.Status != globalping.StatusFinished {
+ return nil, &globalping.MeasurementError{
+ Message: "measurement did not complete successfully",
+ }
+ }
+ return measurement, nil
+}
+
+func (app *App) OutputGlobalping(m *globalping.Measurement) error {
+ // Disables colorized output if user specified.
+ if !app.QueryFlags.Color {
+ color.NoColor = true
+ }
+
+ table := tablewriter.NewWriter(color.Output)
+ header := []string{"Location", "Name", "Type", "Class", "TTL", "Address", "Nameserver"}
+
+ // Formatting options for the table.
+ table.SetHeader(header)
+ table.SetAutoWrapText(true)
+ table.SetAutoFormatHeaders(true)
+ table.SetHeaderAlignment(tablewriter.ALIGN_LEFT)
+ table.SetAlignment(tablewriter.ALIGN_LEFT)
+ table.SetCenterSeparator("")
+ table.SetColumnSeparator("")
+ table.SetRowSeparator("")
+ table.SetHeaderLine(false)
+ table.SetBorder(false)
+ table.SetTablePadding("\t") // pad with tabs
+ table.SetNoWhiteSpace(true)
+
+ for i := range m.Results {
+ table.Append([]string{getGlobalPingLocationText(&m.Results[i]), "", "", "", "", "", ""})
+ answers, err := globalping.DecodeDNSAnswers(m.Results[i].Result.AnswersRaw)
+ if err != nil {
+ return err
+ }
+ resolver := m.Results[i].Result.Resolver
+ for _, ans := range answers {
+ typOut := getColoredType(ans.Type)
+ output := []string{"", TerminalColorGreen(ans.Name), typOut, ans.Class, fmt.Sprintf("%ds", ans.TTL), ans.Value, resolver}
+ table.Append(output)
+ }
+ }
+ table.Render()
+ return nil
+}
+
+func (app *App) OutputGlobalpingShort(m *globalping.Measurement) error {
+ for i := range m.Results {
+ fmt.Printf("%s\n", getGlobalPingLocationText(&m.Results[i]))
+ answers, err := globalping.DecodeDNSAnswers(m.Results[i].Result.AnswersRaw)
+ if err != nil {
+ return err
+ }
+ for _, ans := range answers {
+ fmt.Printf("%s\n", ans.Value)
+ }
+ }
+ return nil
+}
+
+type GlobalpingOutputResponse struct {
+ Location string `json:"location"`
+ Answers []resolvers.Answer `json:"answers"`
+}
+
+func (app *App) OutputGlobalpingJSON(m *globalping.Measurement) error {
+ jsonOutput := struct {
+ Responses []GlobalpingOutputResponse `json:"responses"`
+ }{
+ Responses: make([]GlobalpingOutputResponse, 0, len(m.Results)),
+ }
+ for i := range m.Results {
+ jsonOutput.Responses = append(jsonOutput.Responses, GlobalpingOutputResponse{})
+ jsonOutput.Responses[i].Location = getGlobalPingLocationText(&m.Results[i])
+ answers, err := globalping.DecodeDNSAnswers(m.Results[i].Result.AnswersRaw)
+ if err != nil {
+ return err
+ }
+ resolver := m.Results[i].Result.Resolver
+ for _, ans := range answers {
+ jsonOutput.Responses[i].Answers = append(jsonOutput.Responses[i].Answers, resolvers.Answer{
+ Name: ans.Name,
+ Type: ans.Type,
+ Class: ans.Class,
+ TTL: fmt.Sprintf("%ds", ans.TTL),
+ Address: ans.Value,
+ Nameserver: resolver,
+ })
+ }
+ }
+
+ // Pretty print with 4 spaces.
+ res, err := json.MarshalIndent(jsonOutput, "", " ")
+ if err != nil {
+ return err
+ }
+ fmt.Printf("%s\n", res)
+ return nil
+}
+
+func parseGlobalpingLocations(from string) []globalping.Locations {
+ if from == "" {
+ return []globalping.Locations{
+ {
+ Magic: "world",
+ },
+ }
+ }
+ fromArr := strings.Split(from, ",")
+ locations := make([]globalping.Locations, len(fromArr))
+ for i, v := range fromArr {
+ locations[i] = globalping.Locations{
+ Magic: strings.TrimSpace(v),
+ }
+ }
+ return locations
+}
+
+func getGlobalPingLocationText(m *globalping.ProbeMeasurement) string {
+ state := ""
+ if m.Probe.State != "" {
+ state = " (" + m.Probe.State + ")"
+ }
+ return m.Probe.City + state + ", " +
+ m.Probe.Country + ", " +
+ m.Probe.Continent + ", " +
+ m.Probe.Network + " " +
+ "(AS" + fmt.Sprint(m.Probe.ASN) + ")"
+}
+
+// parses the resolver string and returns the hostname, port, and protocol.
+func parseGlobalpingResolver(nameservers []string) (string, int, string, error) {
+ port := 53
+ protocol := "udp"
+ if len(nameservers) == 0 {
+ return "", port, protocol, nil
+ }
+
+ if len(nameservers) > 1 {
+ return "", 0, "", errors.New("only one resolver is allowed for globalping")
+ }
+
+ u, err := url.Parse(nameservers[0])
+ if err != nil {
+ return "", 0, "", err
+ }
+ if u.Port() != "" {
+ port, err = strconv.Atoi(u.Port())
+ if err != nil {
+ return "", 0, "", err
+ }
+ }
+ switch u.Scheme {
+ case "tcp":
+ protocol = "tcp"
+ }
+
+ return u.Hostname(), port, protocol, nil
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/internal/app/output.go new/doggo-1.0.5/internal/app/output.go
--- old/doggo-1.0.4/internal/app/output.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/internal/app/output.go 2024-09-30 11:30:03.000000000 +0200
@@ -11,6 +11,15 @@
"github.com/olekukonko/tablewriter"
)
+var (
+ TerminalColorGreen = color.New(color.FgGreen, color.Bold).SprintFunc()
+ TerminalColorBlue = color.New(color.FgBlue, color.Bold).SprintFunc()
+ TerminalColorYellow = color.New(color.FgYellow, color.Bold).SprintFunc()
+ TerminalColorCyan = color.New(color.FgCyan, color.Bold).SprintFunc()
+ TerminalColorRed = color.New(color.FgRed, color.Bold).SprintFunc()
+ TerminalColorMagenta = color.New(color.FgMagenta, color.Bold).SprintFunc()
+)
+
func (app *App) outputJSON(rsp []resolvers.Response) {
jsonOutput := struct {
Responses []resolvers.Response `json:"responses"`
@@ -36,15 +45,6 @@
}
func (app *App) outputTerminal(rsp []resolvers.Response) {
- var (
- green = color.New(color.FgGreen, color.Bold).SprintFunc()
- blue = color.New(color.FgBlue, color.Bold).SprintFunc()
- yellow = color.New(color.FgYellow, color.Bold).SprintFunc()
- cyan = color.New(color.FgCyan, color.Bold).SprintFunc()
- red = color.New(color.FgRed, color.Bold).SprintFunc()
- magenta = color.New(color.FgMagenta, color.Bold).SprintFunc()
- )
-
// Disables colorized output if user specified.
if !app.QueryFlags.Color {
color.NoColor = true
@@ -92,32 +92,14 @@
for _, r := range rsp {
for _, ans := range r.Answers {
- var typOut string
- switch typ := ans.Type; typ {
- case "A":
- typOut = blue(ans.Type)
- case "AAAA":
- typOut = blue(ans.Type)
- case "MX":
- typOut = magenta(ans.Type)
- case "NS":
- typOut = cyan(ans.Type)
- case "CNAME":
- typOut = yellow(ans.Type)
- case "TXT":
- typOut = yellow(ans.Type)
- case "SOA":
- typOut = red(ans.Type)
- default:
- typOut = blue(ans.Type)
- }
- output := []string{green(ans.Name), typOut, ans.Class, ans.TTL, ans.Address, ans.Nameserver}
+ typOut := getColoredType(ans.Type)
+ output := []string{TerminalColorGreen(ans.Name), typOut, ans.Class, ans.TTL, ans.Address, ans.Nameserver}
// Print how long it took
if app.QueryFlags.DisplayTimeTaken {
output = append(output, ans.RTT)
}
if outputStatus {
- output = append(output, red(ans.Status))
+ output = append(output, TerminalColorRed(ans.Status))
}
table.Append(output)
}
@@ -125,17 +107,17 @@
var typOut string
switch typ := auth.Type; typ {
case "SOA":
- typOut = red(auth.Type)
+ typOut = TerminalColorRed(auth.Type)
default:
- typOut = blue(auth.Type)
+ typOut = TerminalColorBlue(auth.Type)
}
- output := []string{green(auth.Name), typOut, auth.Class, auth.TTL, auth.MName, auth.Nameserver}
+ output := []string{TerminalColorGreen(auth.Name), typOut, auth.Class, auth.TTL, auth.MName, auth.Nameserver}
// Print how long it took
if app.QueryFlags.DisplayTimeTaken {
output = append(output, auth.RTT)
}
if outputStatus {
- output = append(output, red(auth.Status))
+ output = append(output, TerminalColorRed(auth.Status))
}
table.Append(output)
}
@@ -143,6 +125,27 @@
table.Render()
}
+func getColoredType(t string) string {
+ switch t {
+ case "A":
+ return TerminalColorBlue(t)
+ case "AAAA":
+ return TerminalColorBlue(t)
+ case "MX":
+ return TerminalColorMagenta(t)
+ case "NS":
+ return TerminalColorCyan(t)
+ case "CNAME":
+ return TerminalColorYellow(t)
+ case "TXT":
+ return TerminalColorYellow(t)
+ case "SOA":
+ return TerminalColorRed(t)
+ default:
+ return TerminalColorBlue(t)
+ }
+}
+
// Output takes a list of `dns.Answers` and based
// on the output format specified displays the information.
func (app *App) Output(responses []resolvers.Response) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/pkg/config/config_unix.go new/doggo-1.0.5/pkg/config/config_unix.go
--- old/doggo-1.0.4/pkg/config/config_unix.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/pkg/config/config_unix.go 2024-09-30 11:30:03.000000000 +0200
@@ -9,7 +9,7 @@
)
// DefaultResolvConfPath specifies path to default resolv config file on UNIX.
-const DefaultResolvConfPath = "/etc/resolv.conf"
+var DefaultResolvConfPath = "/etc/resolv.conf"
// GetDefaultServers get system default nameserver
func GetDefaultServers() ([]string, int, []string, error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/pkg/models/models.go new/doggo-1.0.5/pkg/models/models.go
--- old/doggo-1.0.4/pkg/models/models.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/pkg/models/models.go 2024-09-30 11:30:03.000000000 +0200
@@ -45,6 +45,10 @@
InsecureSkipVerify bool `koanf:"skip-hostname-verification" skip-hostname-verification:"-"`
TLSHostname string `koanf:"tls-hostname" tls-hostname:"-"`
QueryAny bool `koanf:"any" json:"any"`
+
+ // Globalping flags
+ GPFrom string `koanf:"gp-from" json:"gp-from"`
+ GPLimit int `koanf:"gp-limit" json:"gp-limit"`
}
// Nameserver represents the type of Nameserver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/pkg/utils/logger.go new/doggo-1.0.5/pkg/utils/logger.go
--- old/doggo-1.0.4/pkg/utils/logger.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/pkg/utils/logger.go 2024-09-30 11:30:03.000000000 +0200
@@ -16,6 +16,6 @@
Level: lvl,
}
- logger := slog.New(slog.NewTextHandler(os.Stdout, lgrOpts))
+ logger := slog.New(slog.NewTextHandler(os.Stderr, lgrOpts))
return logger
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.0.4/web/api.go new/doggo-1.0.5/web/api.go
--- old/doggo-1.0.4/web/api.go 2024-07-03 18:37:16.000000000 +0200
+++ new/doggo-1.0.5/web/api.go 2024-09-30 11:30:03.000000000 +0200
@@ -32,7 +32,7 @@
logger := utils.InitLogger(ko.Bool("app.debug"))
// Initialize app.
- app := app.New(logger, buildVersion)
+ app := app.New(logger, nil, buildVersion)
// Register router instance.
r := chi.NewRouter()
++++++ doggo.obsinfo ++++++
--- /var/tmp/diff_new_pack.wPZWZB/_old 2024-10-01 17:16:57.934603966 +0200
+++ /var/tmp/diff_new_pack.wPZWZB/_new 2024-10-01 17:16:57.938604132 +0200
@@ -1,5 +1,5 @@
name: doggo
-version: 1.0.4
-mtime: 1720024636
-commit: bac855567c203714c35586f026b91e4caf687636
+version: 1.0.5
+mtime: 1727688603
+commit: 16ba284a136354fb4f11fd4d566db9b4364e9a32
++++++ vendor.tar.xz ++++++
++++ 292795 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kid3 for openSUSE:Factory checked in at 2024-10-01 17:16:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kid3 (Old)
and /work/SRC/openSUSE:Factory/.kid3.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kid3"
Tue Oct 1 17:16:42 2024 rev:41 rq:1204803 version:3.9.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/kid3/kid3.changes 2024-02-25 14:08:01.665047180 +0100
+++ /work/SRC/openSUSE:Factory/.kid3.new.29891/kid3.changes 2024-10-01 17:16:45.070067593 +0200
@@ -1,0 +2,22 @@
+Sat Sep 21 18:03:30 UTC 2024 - enzokiel(a)kabelmail.de
+
+- Update to version 3.9.6
+ * New:
+ + Show preview for multiple embedded pictures.
+ + Simplified editing of MP3 audiobooks in a "Chapters" frame
+ edit dialog.
+ + Arabic, Esperanto, Galician and Georgian translations.
+ * Improved:
+ + macOS: Building, signing and notarizing packages.
+ * Fixed:
+ + Embed lyrics action.
+ + gnudb.org import, a registered e-mail address can be set in
+ the "Token" UI control.
+ + KDE 6: Install directory for kid3ui.rc.
+ + Android: Building with arm64-v8a and x86_64 architectures.
+ + Android: Use MANAGE_EXTERNAL_STORAGE permission to manage all
+ files on a storage device.
+ + Android: Saving picture tags.
+ + Haiku: Installation paths.
+
+-------------------------------------------------------------------
Old:
----
kid3-3.9.5.tar.xz
kid3-3.9.5.tar.xz.sig
New:
----
kid3-3.9.6.tar.xz
kid3-3.9.6.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kid3.spec ++++++
--- /var/tmp/diff_new_pack.PrDS9S/_old 2024-10-01 17:16:45.830099282 +0200
+++ /var/tmp/diff_new_pack.PrDS9S/_new 2024-10-01 17:16:45.830099282 +0200
@@ -20,7 +20,7 @@
%global __requires_exclude qmlimport\\(Kid3.*
Name: kid3
-Version: 3.9.5
+Version: 3.9.6
Release: 0
Summary: Efficient ID3 Tag Editor
License: GPL-2.0-or-later
@@ -202,6 +202,8 @@
mv kid3 kid3.svg
popd
+chmod 644 %{buildroot}%{_kf5_applicationsdir}/org.kde.kid3.desktop
+
%find_lang %{name} %{name}-core.lang --without-kde --with-qt --all-name --without-mo
mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d/
++++++ kid3-3.9.5.tar.xz -> kid3-3.9.6.tar.xz ++++++
++++ 49496 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package blender for openSUSE:Factory checked in at 2024-10-01 17:16:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/blender (Old)
and /work/SRC/openSUSE:Factory/.blender.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "blender"
Tue Oct 1 17:16:33 2024 rev:182 rq:1204778 version:4.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/blender/blender.changes 2024-08-01 22:04:21.600294912 +0200
+++ /work/SRC/openSUSE:Factory/.blender.new.29891/blender.changes 2024-10-01 17:16:35.557670984 +0200
@@ -1,0 +2,9 @@
+Mon Sep 30 01:04:21 UTC 2024 - Stefan Brüns <stefan.bruens(a)rwth-aachen.de>
+
+- Update to 4.2.2
+ https://www.blender.org/download/lts/4-2/
+- Add assets from the "Essentials" library, these are expected
+ to be bundled (boo#1231122).
+- Minor cleanup for lang subpackage
+
+-------------------------------------------------------------------
Old:
----
blender-4.2.0.tar.xz
blender-4.2.0.tar.xz.md5sum
New:
----
_service
blender-4.2.2.tar.xz
blender-4.2.2.tar.xz.md5sum
blender-assets-4.2.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ blender.spec ++++++
--- /var/tmp/diff_new_pack.UyIt9N/_old 2024-10-01 17:16:37.009731526 +0200
+++ /var/tmp/diff_new_pack.UyIt9N/_new 2024-10-01 17:16:37.013731693 +0200
@@ -77,7 +77,7 @@
%bcond_with openxr
Name: blender
-Version: 4.2.0
+Version: 4.2.2
Release: 0
Summary: A 3D Modelling And Rendering Package
License: GPL-2.0-or-later
@@ -86,6 +86,8 @@
# Please leave the source url intact
Source0: https://download.blender.org/source/%{name}-%{version}.tar.xz
Source1: https://download.blender.org/source/%{name}-%{version}.tar.xz.md5sum
+# Unfortunately, the "Essentials" library is only availabe using GIT LFS. https://projects.blender.org/blender/blender/issues/128359
+Source2: blender-assets-%{version}.tar.xz
Source4: geeko.blend
Source5: geeko.README
Source6: geeko_example_scene.blend
@@ -306,6 +308,8 @@
popd
%autosetup -p1
+%setup -T -D -a 2 -q
+mv blender-assets-%{version} release/datafiles/assets
rm -rf extern/libopenjpeg
%if %{with system_glew}
@@ -533,7 +537,8 @@
%files lang -f %{name}.lang
%dir %{_datadir}/%{name}/%{_version}/datafiles/locale
-%{_datadir}/%{name}/%{_version}/datafiles/locale/
+%dir %{_datadir}/%{name}/%{_version}/datafiles/locale/*
+%dir %{_datadir}/%{name}/%{_version}/datafiles/locale/*/LC_MESSAGES
%files
%{_bindir}/*
++++++ _service ++++++
<services>
<service name="obs_scm" mode="manual">
<param name="revision">v4.2.2</param>
<param name="version">4.2.2</param>
<param name="url">https://projects.blender.org/blender/blender-assets.git</param>
<param name="scm">git</param>
<param name="lfs">enable</param>
<param name="exclude">testing/*</param>
<param name="exclude">working/*</param>
<param name="exclude">icons/*</param>
</service>
<service name="tar" mode="manual">
<param name="exclude">testing/*</param>
<param name="exclude">working/*</param>
<param name="exclude">icons/*</param>
</service>
<service name="recompress" mode="manual">
<param name="compression">xz</param>
<param name="file">*.tar</param>
</service>
</services>
++++++ blender-4.2.0.tar.xz -> blender-4.2.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/blender/blender-4.2.0.tar.xz /work/SRC/openSUSE:Factory/.blender.new.29891/blender-4.2.2.tar.xz differ: char 27, line 1
++++++ blender-4.2.0.tar.xz.md5sum -> blender-4.2.2.tar.xz.md5sum ++++++
--- /work/SRC/openSUSE:Factory/blender/blender-4.2.0.tar.xz.md5sum 2024-08-01 22:04:21.592294582 +0200
+++ /work/SRC/openSUSE:Factory/.blender.new.29891/blender-4.2.2.tar.xz.md5sum 2024-10-01 17:16:35.509668983 +0200
@@ -1 +1 @@
-258c795c7152f3360adc65187b25f9cc blender-4.2.0.tar.xz
+9ce6c50a51162aca1c46758b941228ff blender-4.2.2.tar.xz
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kernel-source-longterm for openSUSE:Factory checked in at 2024-10-01 17:11:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source-longterm (Old)
and /work/SRC/openSUSE:Factory/.kernel-source-longterm.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source-longterm"
Tue Oct 1 17:11:44 2024 rev:35 rq:1204887 version:6.6.53
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source-longterm/kernel-longterm.changes 2024-09-20 17:09:13.352774278 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source-longterm.new.29891/kernel-longterm.changes 2024-10-01 17:12:03.490327863 +0200
@@ -1,0 +2,102 @@
+Mon Sep 30 17:04:32 CEST 2024 - rfrohl(a)suse.com
+
+- Linux 6.6.53 (bsc#1218260).
+- USB: usbtmc: prevent kernel-usb-infoleak (bsc#1218260).
+- USB: serial: pl2303: add device id for Macrosilicon MS3020
+ (bsc#1218260).
+- can: mcp251xfd: move mcp251xfd_timestamp_start()/stop() into
+ mcp251xfd_chip_start/stop() (bsc#1218260).
+- can: mcp251xfd: properly indent labels (bsc#1218260).
+- x86/mm: Switch to new Intel CPU model defines (bsc#1218260).
+- nvme-pci: qdepth 1 quirk (bsc#1218260).
+- gpiolib: cdev: Ignore reconfiguration without direction
+ (bsc#1218260).
+- Revert "wifi: cfg80211: check wiphy mutex is held for wdev
+ mutex" (bsc#1218260).
+- netfilter: nf_tables: missing iterator type in lookup walk
+ (bsc#1218260).
+- netfilter: nft_set_pipapo: walk over current view on netlink
+ dump (bsc#1218260).
+- netfilter: nft_socket: Fix a NULL vs IS_ERR() bug in
+ nft_socket_cgroup_subtree_level() (bsc#1218260).
+- netfilter: nft_socket: make cgroupsv2 matching work with
+ namespaces (bsc#1218260).
+- powercap/intel_rapl: Add support for AMD family 1Ah
+ (bsc#1218260).
+- drm: Expand max DRM device number to full MINORBITS
+ (bsc#1218260).
+- accel: Use XArray instead of IDR for minors (bsc#1218260).
+- drm: Use XArray instead of IDR for minors (bsc#1218260).
+- ocfs2: strict bound check before memcmp in
+ ocfs2_xattr_find_entry() (bsc#1218260).
+- ocfs2: add bounds checking to ocfs2_xattr_find_entry()
+ (bsc#1218260).
+- spi: spidev: Add missing spi_device_id for jg10309-01
+ (bsc#1218260).
+- block: Fix where bio IO priority gets set (bsc#1218260).
+- tools: hv: rm .*.cmd when make clean (bsc#1218260).
+- x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides
+ frequency (bsc#1218260).
+- smb: client: fix hang in wait_for_response() for negproto
+ (bsc#1218260).
+- spi: bcm63xx: Enable module autoloading (bsc#1218260).
+- drm: komeda: Fix an issue related to normalized zpos
+ (bsc#1218260).
+- ALSA: hda: add HDMI codec ID for Intel PTL (bsc#1218260).
+- ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK)
+ (bsc#1218260).
+- spi: spidev: Add an entry for elgin,jg10309-01 (bsc#1218260).
+- ASoC: fix module autoloading (bsc#1218260).
+- ASoC: tda7419: fix module autoloading (bsc#1218260).
+- ASoC: google: fix module autoloading (bsc#1218260).
+- ASoC: intel: fix module autoloading (bsc#1218260).
+- ASoC: Intel: soc-acpi-cht: Make Lenovo Yoga Tab 3 X90F DMI
+ match less strict (bsc#1218260).
+- can: mcp251xfd: mcp251xfd_ring_init(): check TX-coalescing
+ configuration (bsc#1218260).
+- wifi: iwlwifi: clear trans->state earlier upon error
+ (bsc#1218260).
+- wifi: mac80211: free skb on error path in
+ ieee80211_beacon_get_ap() (bsc#1218260).
+- wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead
+ (bsc#1218260).
+- wifi: iwlwifi: mvm: pause TCM when the firmware is stopped
+ (bsc#1218260).
+- wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room()
+ (bsc#1218260).
+- wifi: iwlwifi: mvm: fix iwl_mvm_scan_fits() calculation
+ (bsc#1218260).
+- wifi: iwlwifi: lower message level for FW buffer destination
+ (bsc#1218260).
+- LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE
+ (bsc#1218260).
+- net: ftgmac100: Ensure tx descriptor updates are visible
+ (bsc#1218260).
+- platform/x86: x86-android-tablets: Make Lenovo Yoga Tab 3 X90F
+ DMI match less strict (bsc#1218260).
+- microblaze: don't treat zero reserved memory regions as error
+ (bsc#1218260).
+- hwmon: (asus-ec-sensors) remove VRM temp X570-E GAMING
+ (bsc#1218260).
+- pinctrl: at91: make it work with current gpiolib (bsc#1218260).
+- scsi: lpfc: Fix overflow build issue (bsc#1218260).
+- ALSA: hda/realtek - FIxed ALC285 headphone no sound
+ (bsc#1218260).
+- ALSA: hda/realtek - Fixed ALC256 headphone no sound
+ (bsc#1218260).
+- ASoC: allow module autoloading for table board_ids
+ (bsc#1218260).
+- ASoC: allow module autoloading for table db1200_pids
+ (bsc#1218260).
+- ASoC: mediatek: mt8188: Mark AFE_DAC_CON0 register as volatile
+ (bsc#1218260).
+- ASoC: SOF: mediatek: Add missing board compatible (bsc#1218260).
+- commit 21a8a9d
+
+-------------------------------------------------------------------
+Mon Sep 23 12:02:43 CEST 2024 - rfrohl(a)suse.com
+
+- Make BTF generation reproducible (boo#1230414) (bsc#1230414).
+- commit bbeaa6d
+
+-------------------------------------------------------------------
kernel-source-longterm.changes: same change
kernel-syms-longterm.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-longterm.spec ++++++
--- /var/tmp/diff_new_pack.8igfCV/_old 2024-10-01 17:12:09.026558629 +0200
+++ /var/tmp/diff_new_pack.8igfCV/_new 2024-10-01 17:12:09.030558796 +0200
@@ -18,8 +18,8 @@
%define srcversion 6.6
-%define patchversion 6.6.52
-%define git_commit bcc1881ce50a1c96c47aadd2e8a915353dced6b5
+%define patchversion 6.6.53
+%define git_commit 21a8a9d50975fbe6ed756b3fae81091d2929b612
%define variant -longterm%{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -113,9 +113,9 @@
Summary: The Linux Kernel
License: GPL-2.0-only
Group: System/Kernel
-Version: 6.6.52
+Version: 6.6.53
%if 0%{?is_kotd}
-Release: <RELEASE>.gbcc1881
+Release: <RELEASE>.g21a8a9d
%else
Release: 0
%endif
++++++ kernel-source-longterm.spec ++++++
--- /var/tmp/diff_new_pack.8igfCV/_old 2024-10-01 17:12:09.070560464 +0200
+++ /var/tmp/diff_new_pack.8igfCV/_new 2024-10-01 17:12:09.070560464 +0200
@@ -17,8 +17,8 @@
%define srcversion 6.6
-%define patchversion 6.6.52
-%define git_commit bcc1881ce50a1c96c47aadd2e8a915353dced6b5
+%define patchversion 6.6.53
+%define git_commit 21a8a9d50975fbe6ed756b3fae81091d2929b612
%define variant -longterm%{nil}
%include %_sourcedir/kernel-spec-macros
@@ -31,9 +31,9 @@
%endif
Name: kernel-source-longterm
-Version: 6.6.52
+Version: 6.6.53
%if 0%{?is_kotd}
-Release: <RELEASE>.gbcc1881
+Release: <RELEASE>.g21a8a9d
%else
Release: 0
%endif
++++++ kernel-syms-longterm.spec ++++++
--- /var/tmp/diff_new_pack.8igfCV/_old 2024-10-01 17:12:09.110562131 +0200
+++ /var/tmp/diff_new_pack.8igfCV/_new 2024-10-01 17:12:09.114562298 +0200
@@ -16,7 +16,7 @@
#
-%define git_commit bcc1881ce50a1c96c47aadd2e8a915353dced6b5
+%define git_commit 21a8a9d50975fbe6ed756b3fae81091d2929b612
%define variant -longterm%{nil}
%include %_sourcedir/kernel-spec-macros
@@ -25,10 +25,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0-only
Group: Development/Sources
-Version: 6.6.52
+Version: 6.6.53
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.gbcc1881
+Release: <RELEASE>.g21a8a9d
%else
Release: 0
%endif
++++++ patches.kernel.org.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/kernel-source-longterm/patches.kernel.org.tar.bz2 /work/SRC/openSUSE:Factory/.kernel-source-longterm.new.29891/patches.kernel.org.tar.bz2 differ: char 11, line 1
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/reproducible-btf.patch new/patches.suse/reproducible-btf.patch
--- old/patches.suse/reproducible-btf.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/reproducible-btf.patch 2024-09-23 12:02:43.000000000 +0200
@@ -0,0 +1,27 @@
+From 5c5845f0e22b089a4572dfccb7c6fd0889fdb366 Mon Sep 17 00:00:00 2001
+From: Bernhard Wiedemann <bwiedemann(a)suse.com>
+Date: Mon, 23 Sep 2024 11:56:02 +0200
+Subject: [PATCH] Make BTF generation reproducible (boo#1230414)
+References: bsc#1230414
+Patch-mainline: Never, reproducible builds with OBS
+Signed-off-by: Robert Frohl <rfrohl(a)suse.com>
+---
+ scripts/pahole-flags.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
+index 728d55190d97..746e91c86860 100755
+--- a/scripts/pahole-flags.sh
++++ b/scripts/pahole-flags.sh
+@@ -17,7 +17,7 @@ if [ "${pahole_ver}" -ge "121" ]; then
+ extra_paholeopt="${extra_paholeopt} --btf_gen_floats"
+ fi
+ if [ "${pahole_ver}" -ge "122" ]; then
+- extra_paholeopt="${extra_paholeopt} -j"
++ extra_paholeopt="${extra_paholeopt} -j1"
+ fi
+ if [ "${pahole_ver}" -ge "124" ]; then
+ # see PAHOLE_HAS_LANG_EXCLUDE
+--
+2.46.0
+
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.8igfCV/_old 2024-10-01 17:12:09.982598480 +0200
+++ /var/tmp/diff_new_pack.8igfCV/_new 2024-10-01 17:12:09.990598813 +0200
@@ -10625,6 +10625,61 @@
patches.kernel.org/6.6.52-088-ASoC-meson-axg-card-fix-use-after-free.patch
patches.kernel.org/6.6.52-089-riscv-dts-starfive-add-assigned-clock-to-limi…
patches.kernel.org/6.6.52-090-Linux-6.6.52.patch
+ patches.kernel.org/6.6.53-001-ASoC-SOF-mediatek-Add-missing-board-compatibl…
+ patches.kernel.org/6.6.53-002-ASoC-mediatek-mt8188-Mark-AFE_DAC_CON0-regist…
+ patches.kernel.org/6.6.53-003-ASoC-allow-module-autoloading-for-table-db120…
+ patches.kernel.org/6.6.53-004-ASoC-allow-module-autoloading-for-table-board…
+ patches.kernel.org/6.6.53-005-ALSA-hda-realtek-Fixed-ALC256-headphone-no-so…
+ patches.kernel.org/6.6.53-006-ALSA-hda-realtek-FIxed-ALC285-headphone-no-so…
+ patches.kernel.org/6.6.53-007-scsi-lpfc-Fix-overflow-build-issue.patch
+ patches.kernel.org/6.6.53-008-pinctrl-at91-make-it-work-with-current-gpioli…
+ patches.kernel.org/6.6.53-009-hwmon-asus-ec-sensors-remove-VRM-temp-X570-E-…
+ patches.kernel.org/6.6.53-010-microblaze-don-t-treat-zero-reserved-memory-r…
+ patches.kernel.org/6.6.53-011-platform-x86-x86-android-tablets-Make-Lenovo-…
+ patches.kernel.org/6.6.53-012-net-ftgmac100-Ensure-tx-descriptor-updates-ar…
+ patches.kernel.org/6.6.53-013-LoongArch-Define-ARCH_IRQ_INIT_FLAGS-as-IRQ_N…
+ patches.kernel.org/6.6.53-014-wifi-iwlwifi-lower-message-level-for-FW-buffe…
+ patches.kernel.org/6.6.53-015-wifi-iwlwifi-mvm-fix-iwl_mvm_scan_fits-calcul…
+ patches.kernel.org/6.6.53-016-wifi-iwlwifi-mvm-fix-iwl_mvm_max_scan_ie_fw_c…
+ patches.kernel.org/6.6.53-017-wifi-iwlwifi-mvm-pause-TCM-when-the-firmware-…
+ patches.kernel.org/6.6.53-018-wifi-iwlwifi-mvm-don-t-wait-for-tx-queues-if-…
+ patches.kernel.org/6.6.53-019-wifi-mac80211-free-skb-on-error-path-in-ieee8…
+ patches.kernel.org/6.6.53-020-wifi-iwlwifi-clear-trans-state-earlier-upon-e…
+ patches.kernel.org/6.6.53-021-can-mcp251xfd-mcp251xfd_ring_init-check-TX-co…
+ patches.kernel.org/6.6.53-022-ASoC-Intel-soc-acpi-cht-Make-Lenovo-Yoga-Tab-…
+ patches.kernel.org/6.6.53-023-ASoC-intel-fix-module-autoloading.patch
+ patches.kernel.org/6.6.53-024-ASoC-google-fix-module-autoloading.patch
+ patches.kernel.org/6.6.53-025-ASoC-tda7419-fix-module-autoloading.patch
+ patches.kernel.org/6.6.53-026-ASoC-fix-module-autoloading.patch
+ patches.kernel.org/6.6.53-027-spi-spidev-Add-an-entry-for-elgin-jg10309-01.…
+ patches.kernel.org/6.6.53-028-ASoC-amd-yc-Add-a-quirk-for-MSI-Bravo-17-D7VE…
+ patches.kernel.org/6.6.53-029-ALSA-hda-add-HDMI-codec-ID-for-Intel-PTL.patch
+ patches.kernel.org/6.6.53-030-drm-komeda-Fix-an-issue-related-to-normalized…
+ patches.kernel.org/6.6.53-031-spi-bcm63xx-Enable-module-autoloading.patch
+ patches.kernel.org/6.6.53-032-smb-client-fix-hang-in-wait_for_response-for-…
+ patches.kernel.org/6.6.53-033-x86-hyperv-Set-X86_FEATURE_TSC_KNOWN_FREQ-whe…
+ patches.kernel.org/6.6.53-034-tools-hv-rm-.-.cmd-when-make-clean.patch
+ patches.kernel.org/6.6.53-035-block-Fix-where-bio-IO-priority-gets-set.patch
+ patches.kernel.org/6.6.53-036-spi-spidev-Add-missing-spi_device_id-for-jg10…
+ patches.kernel.org/6.6.53-037-ocfs2-add-bounds-checking-to-ocfs2_xattr_find…
+ patches.kernel.org/6.6.53-038-ocfs2-strict-bound-check-before-memcmp-in-ocf…
+ patches.kernel.org/6.6.53-039-drm-Use-XArray-instead-of-IDR-for-minors.patch
+ patches.kernel.org/6.6.53-040-accel-Use-XArray-instead-of-IDR-for-minors.pa…
+ patches.kernel.org/6.6.53-041-drm-Expand-max-DRM-device-number-to-full-MINO…
+ patches.kernel.org/6.6.53-042-powercap-intel_rapl-Add-support-for-AMD-famil…
+ patches.kernel.org/6.6.53-043-netfilter-nft_socket-make-cgroupsv2-matching-…
+ patches.kernel.org/6.6.53-044-netfilter-nft_socket-Fix-a-NULL-vs-IS_ERR-bug…
+ patches.kernel.org/6.6.53-045-netfilter-nft_set_pipapo-walk-over-current-vi…
+ patches.kernel.org/6.6.53-046-netfilter-nf_tables-missing-iterator-type-in-…
+ patches.kernel.org/6.6.53-047-Revert-wifi-cfg80211-check-wiphy-mutex-is-hel…
+ patches.kernel.org/6.6.53-048-gpiolib-cdev-Ignore-reconfiguration-without-d…
+ patches.kernel.org/6.6.53-049-nvme-pci-qdepth-1-quirk.patch
+ patches.kernel.org/6.6.53-050-x86-mm-Switch-to-new-Intel-CPU-model-defines.…
+ patches.kernel.org/6.6.53-051-can-mcp251xfd-properly-indent-labels.patch
+ patches.kernel.org/6.6.53-052-can-mcp251xfd-move-mcp251xfd_timestamp_start-…
+ patches.kernel.org/6.6.53-053-USB-serial-pl2303-add-device-id-for-Macrosili…
+ patches.kernel.org/6.6.53-054-USB-usbtmc-prevent-kernel-usb-infoleak.patch
+ patches.kernel.org/6.6.53-055-Linux-6.6.53.patch
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -10710,6 +10765,11 @@
patches.suse/s390-export-symbols-for-crash-kmp.patch
########################################################
+ # reproducible builds
+ ########################################################
+ patches.suse/reproducible-btf.patch
+
+ ########################################################
# Performance-related tuning of defaults
########################################################
patches.suse/readahead-request-tunables.patch
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.8igfCV/_old 2024-10-01 17:12:10.014599814 +0200
+++ /var/tmp/diff_new_pack.8igfCV/_new 2024-10-01 17:12:10.018599981 +0200
@@ -1,4 +1,4 @@
-2024-09-18 18:08:18 +0000
-GIT Revision: bcc1881ce50a1c96c47aadd2e8a915353dced6b5
+2024-09-30 15:05:12 +0000
+GIT Revision: 21a8a9d50975fbe6ed756b3fae81091d2929b612
GIT Branch: slowroll
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-meson-python for openSUSE:Factory checked in at 2024-10-01 17:11:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-meson-python (Old)
and /work/SRC/openSUSE:Factory/.python-meson-python.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-meson-python"
Tue Oct 1 17:11:42 2024 rev:12 rq:1204841 version:0.16.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-meson-python/python-meson-python.changes 2024-08-30 13:26:12.910975854 +0200
+++ /work/SRC/openSUSE:Factory/.python-meson-python.new.29891/python-meson-python.changes 2024-10-01 17:12:01.934263002 +0200
@@ -1,0 +2,6 @@
+Sun Sep 29 11:22:59 UTC 2024 - Ben Greiner <code(a)bnavigator.de>
+
+- Add mesonpy-reproducible.patch gh#openSUSE/python-rpm-macros#182
+ initiated by Bernhard Wiedemann @bmwiedemann
+
+-------------------------------------------------------------------
New:
----
mesonpy-reproducible.patch
BETA DEBUG BEGIN:
New:
- Add mesonpy-reproducible.patch gh#openSUSE/python-rpm-macros#182
initiated by Bernhard Wiedemann @bmwiedemann
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-meson-python.spec ++++++
--- /var/tmp/diff_new_pack.Ya4Fzp/_old 2024-10-01 17:12:02.498286512 +0200
+++ /var/tmp/diff_new_pack.Ya4Fzp/_new 2024-10-01 17:12:02.502286679 +0200
@@ -27,7 +27,10 @@
Source0: https://files.pythonhosted.org/packages/source/m/meson_python/meson_python-…
# PATCH-FEATURE-OPENSUSE mesonpy-trim-deps.patch code(a)bnavigator.de
Patch11: mesonpy-trim-deps.patch
+# PATCH-FEATURE-OPENSUSE mesonpy-reproducible.patch gh#openSUSE/python-rpm-macros#182
+Patch12: mesonpy-reproducible.patch
BuildRequires: %{python_module base >= 3.7}
+BuildRequires: %{python_module packaging >= 0.19}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pyproject-metadata >= 0.7.1}
BuildRequires: %{python_module tomli >= 1.0.0 if %python-base < 3.11}
@@ -35,6 +38,7 @@
BuildRequires: meson >= 1.2.3
BuildRequires: ninja
BuildRequires: python-rpm-macros
+Requires: python-packaging >= 0.19
Requires: python-pyproject-metadata >= 0.7.1
BuildArch: noarch
%if 0%{python_version_nodots} >= 312
@@ -76,7 +80,10 @@
%check
# test suite path issues
donttest="test_vendored_meson"
-%pytest -k "not ($donttest)"
+%{python_expand # clear test builds
+find tests -name build -type d -prune -print -exec rm -r {} +
+$python -m pytest -v -k "not ($donttest)"
+}
%files %{python_files}
%license LICENSE
++++++ mesonpy-reproducible.patch ++++++
Authors: code(a)bnavigator.de, bwiedemann(a)suse.com
Ref: https://github.com/openSUSE/python-rpm-macros/issues/182
Ref: https://github.com/mesonbuild/meson-python/issues/671
Reproducible builds require a deterministic build path.
Use the python-rpm-macros shuffled build directory.
Index: meson_python-0.16.0/mesonpy/__init__.py
===================================================================
--- meson_python-0.16.0.orig/mesonpy/__init__.py
+++ meson_python-0.16.0/mesonpy/__init__.py
@@ -943,7 +943,10 @@ def _project(config_settings: Optional[D
with contextlib.ExitStack() as ctx:
if build_dir is None:
- build_dir = ctx.enter_context(tempfile.TemporaryDirectory(prefix='.mesonpy-', dir=source_dir))
+ if(os.environ.get('SOURCE_DATE_EPOCH')):
+ build_dir = pathlib.Path(source_dir) / 'build'
+ else:
+ build_dir = ctx.enter_context(tempfile.TemporaryDirectory(prefix='.mesonpy-', dir=source_dir))
yield Project(source_dir, build_dir, meson_args, editable_verbose)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python312 for openSUSE:Factory checked in at 2024-10-01 17:11:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python312 (Old)
and /work/SRC/openSUSE:Factory/.python312.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python312"
Tue Oct 1 17:11:37 2024 rev:21 rq:1204807 version:3.12.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/python312/python312.changes 2024-09-26 18:52:58.748317473 +0200
+++ /work/SRC/openSUSE:Factory/.python312.new.29891/python312.changes 2024-10-01 17:11:51.721837319 +0200
@@ -1,0 +2,5 @@
+Mon Sep 30 09:42:13 UTC 2024 - Bernhard Wiedemann <bwiedemann(a)suse.com>
+
+- Drop .pyc files from docdir for reproducible builds
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python312.spec ++++++
--- /var/tmp/diff_new_pack.9b3NUH/_old 2024-10-01 17:11:53.125895844 +0200
+++ /var/tmp/diff_new_pack.9b3NUH/_new 2024-10-01 17:11:53.125895844 +0200
@@ -796,6 +796,7 @@
)
echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-import-failed-hooks.pth
%endif
+find %{buildroot}%{_docdir}/%{name} -type f -name \*.pyc -delete ||:
%if %{with general}
%files -n %{python_pkg_name}-tk
1
0