Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package eduvpn-client for openSUSE:Factory 
checked in at 2026-11-09 17:45:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/eduvpn-client (Old)
 and      /work/SRC/openSUSE:Factory/.eduvpn-client.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "eduvpn-client"

Mon Nov  9 17:45:23 2026 rev:6 rq:1396342 version:4.7.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/eduvpn-client/eduvpn-client.changes      
2026-04-28 11:57:30.672343657 +0200
+++ /work/SRC/openSUSE:Factory/.eduvpn-client.new.3759290/eduvpn-client.changes 
2026-11-09 17:45:25.010050394 +0100
@@ -1,0 +2,15 @@
+Mon Nov  9 13:44:52 UTC 2026 - RenĂ© Neumaier <[email protected]>
+
+- Update to 4.7.3
+  * UI: Remove right click on server to change profile as it's
+    buggy
+  * Server: Fix secure internet lookup if already exists by
+    @CocytusChen
+  * Upstream building targets and Documentation changes
+- Specfile change
+  * Requires eduvpn-common >= 5.0.4
+  * Rename variable 'vname' to 'upstream_name'
+  * Add variable 'pypack_name' to reflect python package name
+  * Refer pycache in python files section
+
+-------------------------------------------------------------------

Old:
----
  linux-app-4.7.2.tar.xz
  linux-app-4.7.2.tar.xz.asc

New:
----
  linux-app-4.7.3.tar.xz
  linux-app-4.7.3.tar.xz.asc

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ eduvpn-client.spec ++++++
--- /var/tmp/diff_new_pack.KNmBJB/_old  2026-11-09 17:45:26.394108089 +0100
+++ /var/tmp/diff_new_pack.KNmBJB/_new  2026-11-09 17:45:26.395108131 +0100
@@ -17,20 +17,21 @@
 
 
 %define skip_python2 1
-%define vname linux-app
+%define upstream_name linux-app
+%define pypack_name eduvpn
 Name:           eduvpn-client
-Version:        4.7.2
+Version:        4.7.3
 Release:        0
 Summary:        The eduVPN desktop client (CLI and GUI front-end)
 License:        GPL-3.0-or-later
 Group:          Productivity/Networking/Security
 URL:            https://www.eduvpn.org/
-Source0:        
https://codeberg.org/eduVPN/linux-app/releases/download/%{version}/%{vname}-%{version}.tar.xz
-Source1:        
https://codeberg.org/eduVPN/linux-app/releases/download/%{version}/%{vname}-%{version}.tar.xz.asc
+Source0:        
https://codeberg.org/eduVPN/linux-app/releases/download/%{version}/%{upstream_name}-%{version}.tar.xz
+Source1:        
https://codeberg.org/eduVPN/linux-app/releases/download/%{version}/%{upstream_name}-%{version}.tar.xz.asc
                 # https://app.eduvpn.org/linux/v4/deb/[email protected] 
and inside package dir 'keys'
 Source2:        %{name}.keyring
 BuildRequires:  %{python_module devel}
-BuildRequires:  %{python_module eduvpn-common >= 5.0.2 with 
%python-eduvpn-common < 6}
+BuildRequires:  %{python_module eduvpn-common >= 5.0.4 with 
%python-eduvpn-common < 6}
 BuildRequires:  %{python_module gobject}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module pycodestyle}
@@ -62,7 +63,7 @@
 %package -n python-%{name}
 Summary:        Python3 API for eduVPN
 Requires:       NetworkManager-openvpn
-Requires:       (python-eduvpn-common >= 5.0.2 with python-eduvpn-common < 6)
+Requires:       (python-eduvpn-common >= 5.0.4 with python-eduvpn-common < 6)
 Requires:       python-gobject
 
 %description -n python-%{name}
@@ -81,7 +82,7 @@
 organizations.
 
 %prep
-%autosetup -n %{vname}-%{version}
+%autosetup -n %{upstream_name}-%{version}
 
 # Dir 'data' conflicts otherwise with Python subpackages
 mv eduvpn/data data
@@ -120,7 +121,13 @@
 %files %{python_files %{name}}
 %license LICENSE
 %doc CHANGES.md README.md
-%{python_sitelib}/eduvpn*
+%dir %{python_sitelib}/%{pypack_name}
+%dir %{python_sitelib}/%{pypack_name}/ui
+%{python_sitelib}/%{pypack_name}/*.py
+%pycache_only %{python_sitelib}/%{pypack_name}/__pycache__
+%{python_sitelib}/%{pypack_name}/ui/*.py
+%pycache_only %{python_sitelib}/%{pypack_name}/ui/__pycache__
+%{python_sitelib}/%{pypack_name}_client-%{version}.dist-info/
 
 %files -n letsconnect-client
 %license LICENSE


++++++ linux-app-4.7.2.tar.xz -> linux-app-4.7.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/.forgejo/workflows/deb.yml 
new/linux-app-4.7.3/.forgejo/workflows/deb.yml
--- old/linux-app-4.7.2/.forgejo/workflows/deb.yml      2026-04-24 
15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/.forgejo/workflows/deb.yml      2026-11-03 
19:35:39.000000000 +0100
@@ -15,14 +15,13 @@
         image:
           - "debian:bookworm"
           - "debian:trixie"
-          - "ubuntu:jammy"
           - "ubuntu:noble"
-          - "ubuntu:plucky"
-          - "ubuntu:questing"
+          - "ubuntu:resolute"
+          - "ubuntu:stonking"
         # Add arm64 here for ARM builds
         arch:
           - "amd64"
-    runs-on: codeberg-small-lazy
+    runs-on: codeberg-small
     container:
       image: codeberg.org/jwijenbergh/debbuilder-${{ matrix.image }}-${{ 
matrix.arch }}
     steps:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/.forgejo/workflows/rpm.yml 
new/linux-app-4.7.3/.forgejo/workflows/rpm.yml
--- old/linux-app-4.7.2/.forgejo/workflows/rpm.yml      2026-04-24 
15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/.forgejo/workflows/rpm.yml      2026-11-03 
19:35:39.000000000 +0100
@@ -10,15 +10,15 @@
 jobs:
   build-rpm:
     name: RPM build for ${{ matrix.image }}
-    runs-on: codeberg-small-lazy
+    runs-on: codeberg-small
     container:
       image: codeberg.org/jwijenbergh/rpmbuilder-${{ matrix.image }}-${{ 
matrix.arch }}
 
     strategy:
       matrix:
         image:
-          - "fedora:42"
-          - "fedora:43"
+          - "fedora:44"
+          - "fedora:45"
         arch:
           - "amd64"
 
@@ -53,7 +53,7 @@
         run: cd common && rpmbuild -ba 
"${RPMBUILD_ROOT}/SPECS/${RPMBUILD_COMMON_SPEC_FILE}"
 
       - name: Install Common
-        run: sudo rpm -Uvh "${RPMBUILD_ROOT}/RPMS/*/*.rpm"
+        run: sudo rpm --nosignature -Uvh "${RPMBUILD_ROOT}/RPMS/*/*.rpm"
 
       - name: Cleanup Common
         run: rm -rf common
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/.forgejo/workflows/test.yml 
new/linux-app-4.7.3/.forgejo/workflows/test.yml
--- old/linux-app-4.7.2/.forgejo/workflows/test.yml     2026-04-24 
15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/.forgejo/workflows/test.yml     2026-11-03 
19:35:39.000000000 +0100
@@ -2,7 +2,7 @@
 
 jobs:
   test:
-    runs-on: codeberg-small-lazy
+    runs-on: codeberg-small
     container:
       image: codeberg.org/jwijenbergh/eduvpn-linux-client-ci:latest-amd64
     steps:
@@ -10,10 +10,6 @@
         run: git clone --depth 1 -b ${{ github.ref_name }} ${{ 
github.server_url }}/${{ github.repository }} .
       - name: Install common
         run: EDUVPN_COMMON_BUILD_SO=1 uv pip install --force-reinstall 
--no-cache 
git+https://codeberg.org/eduvpn/eduvpn-common@main#subdirectory=wrappers/python
-      - name: Run linter
-        run: source /venv/bin/activate && make lint
-      - name: Run mypy
-        run: source /venv/bin/activate && make mypy
       - name: Run pytest
         run: source /venv/bin/activate && make test
       - name: Build wheel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/CHANGES.md 
new/linux-app-4.7.3/CHANGES.md
--- old/linux-app-4.7.2/CHANGES.md      2026-04-24 15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/CHANGES.md      2026-11-03 19:35:39.000000000 +0100
@@ -1,3 +1,13 @@
+# 4.7.3 (2026-11-03)
+* UI:
+  - Remove right click on server to change profile as it's buggy
+* Server:
+  - Fix secure internet lookup if already exists by @CocytusChen
+* Building:
+  - Update Ubuntu and Fedora targets
+* Doc:
+  - Update OpenSUSE install instruction by @JuergenWeigert
+
 # 4.7.2 (2026-04-24)
 * Server link markup: Escape text
 * Build: Build packages for Ubuntu 26.04
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/debian/changelog 
new/linux-app-4.7.3/debian/changelog
--- old/linux-app-4.7.2/debian/changelog        2026-04-24 15:25:52.000000000 
+0200
+++ new/linux-app-4.7.3/debian/changelog        2026-11-03 19:35:39.000000000 
+0100
@@ -1,3 +1,9 @@
+python-eduvpn-client (4.7.3) unstable; urgency=medium
+
+  * New version
+
+ -- dev <[email protected]>  Tue, 03 Nov 2026 13:08:18 +0100
+
 python-eduvpn-client (4.7.2) unstable; urgency=medium
 
   * New version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/doc/md/installation.md 
new/linux-app-4.7.3/doc/md/installation.md
--- old/linux-app-4.7.2/doc/md/installation.md  2026-04-24 15:25:52.000000000 
+0200
+++ new/linux-app-4.7.3/doc/md/installation.md  2026-11-03 19:35:39.000000000 
+0100
@@ -54,17 +54,6 @@
 $ sudo apt install eduvpn-client
 ```
 
-### Ubuntu 22.04
-
-``` console
-$ sudo apt update
-$ sudo apt install apt-transport-https wget
-$ wget -O- https://app.eduvpn.org/linux/v4/deb/[email protected] | gpg 
--dearmor | sudo tee /usr/share/keyrings/eduvpn-v4.gpg >/dev/null
-$ echo "deb [arch=$(dpkg --print-architecture) 
signed-by=/usr/share/keyrings/eduvpn-v4.gpg] 
https://app.eduvpn.org/linux/v4/deb/ jammy main" | sudo tee 
/etc/apt/sources.list.d/eduvpn-v4.list
-$ sudo apt update
-$ sudo apt install eduvpn-client
-```
-
 ### Ubuntu 24.04
 
 ``` console
@@ -76,24 +65,25 @@
 $ sudo apt install eduvpn-client
 ```
 
-### Ubuntu 25.04
+### Ubuntu 26.04
 
 ``` console
 $ sudo apt update
 $ sudo apt install apt-transport-https wget
 $ wget -O- https://app.eduvpn.org/linux/v4/deb/[email protected] | gpg 
--dearmor | sudo tee /usr/share/keyrings/eduvpn-v4.gpg >/dev/null
-$ echo "deb [arch=$(dpkg --print-architecture) 
signed-by=/usr/share/keyrings/eduvpn-v4.gpg] 
https://app.eduvpn.org/linux/v4/deb/ plucky main" | sudo tee 
/etc/apt/sources.list.d/eduvpn-v4.list
+$ echo "deb [arch=$(dpkg --print-architecture) 
signed-by=/usr/share/keyrings/eduvpn-v4.gpg] 
https://app.eduvpn.org/linux/v4/deb/ resolute main" | sudo tee 
/etc/apt/sources.list.d/eduvpn-v4.list
 $ sudo apt update
 $ sudo apt install eduvpn-client
 ```
 
-### Ubuntu 25.10
+
+### Ubuntu 26.10
 
 ``` console
 $ sudo apt update
 $ sudo apt install apt-transport-https wget
 $ wget -O- https://app.eduvpn.org/linux/v4/deb/[email protected] | gpg 
--dearmor | sudo tee /usr/share/keyrings/eduvpn-v4.gpg >/dev/null
-$ echo "deb [arch=$(dpkg --print-architecture) 
signed-by=/usr/share/keyrings/eduvpn-v4.gpg] 
https://app.eduvpn.org/linux/v4/deb/ questing main" | sudo tee 
/etc/apt/sources.list.d/eduvpn-v4.list
+$ echo "deb [arch=$(dpkg --print-architecture) 
signed-by=/usr/share/keyrings/eduvpn-v4.gpg] 
https://app.eduvpn.org/linux/v4/deb/ stonking main" | sudo tee 
/etc/apt/sources.list.d/eduvpn-v4.list
 $ sudo apt update
 $ sudo apt install eduvpn-client
 ```
@@ -120,17 +110,6 @@
 $ sudo apt install eduvpn-client
 ```
 
-### Linux Mint 21.x
-
-``` console
-$ sudo apt update
-$ sudo apt install apt-transport-https wget
-$ wget -O- https://app.eduvpn.org/linux/v4/deb/[email protected] | gpg 
--dearmor | sudo tee /usr/share/keyrings/eduvpn-v4.gpg >/dev/null
-$ echo "deb [arch=$(dpkg --print-architecture) 
signed-by=/usr/share/keyrings/eduvpn-v4.gpg] 
https://app.eduvpn.org/linux/v4/deb/ jammy main" | sudo tee 
/etc/apt/sources.list.d/eduvpn-v4.list
-$ sudo apt update
-$ sudo apt install eduvpn-client
-```
-
 ### Linux Mint 22.x
 
 ``` console
@@ -142,7 +121,7 @@
 $ sudo apt install eduvpn-client
 ```
 
-### Fedora (42, 43 & 44)
+### Fedora (44 & 45)
 
 ``` console
 $ curl https://app.eduvpn.org/linux/v4/rpm/[email protected] | sudo tee 
/etc/pki/rpm-gpg/RPM-GPG-KEY-python-eduvpn-client_v4 > /dev/null
@@ -206,14 +185,25 @@
 ```
 
 
-For Leap 15.6, the package is not present in the official repo but there is a 
development project which makes it available.
+For Leap 16.0, the package is not present in the official repo but there is a 
development project which makes it available.
 
 ```
-$ sudo zypper addrepo 
https://download.opensuse.org/repositories/network:vpn/openSUSE_Leap_15.6/network:vpn.repo
+$ sudo zypper addrepo 
https://download.opensuse.org/repositories/network:vpn/16.0/network:vpn.repo
 $ sudo zypper refresh
 $ sudo zypper install eduvpn-client
 ```
 
+### Flatpak (Unofficial)
+
+There is an unofficial Flatpak package maintained by the community at
+[codeberg.org/WebSpider/eduvpn-flatpak](https://codeberg.org/WebSpider/eduvpn-flatpak).
+This is useful if you prefer sandboxed installation or if your distribution is 
not
+otherwise supported.
+
+> **Note**
+> This package is not maintained by the eduVPN project. For issues specific to 
the
+> Flatpak packaging, please open an issue in that repository.
+
 ### Pip installation
 
 We also provide Pip packages. These are useful if your distro is not
@@ -281,7 +271,7 @@
 You can then continue with installing via Pip:
 
 ``` console
-$ pip install "eduvpn-client[gui]"
+$ pip install eduvpn-client
 ```
 
 Make sure to reboot after installing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/eduvpn/__init__.py 
new/linux-app-4.7.3/eduvpn/__init__.py
--- old/linux-app-4.7.2/eduvpn/__init__.py      2026-04-24 15:25:52.000000000 
+0200
+++ new/linux-app-4.7.3/eduvpn/__init__.py      2026-11-03 19:35:39.000000000 
+0100
@@ -1 +1 @@
-__version__ = "4.7.2"
+__version__ = "4.7.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/eduvpn/server.py 
new/linux-app-4.7.3/eduvpn/server.py
--- old/linux-app-4.7.2/eduvpn/server.py        2026-04-24 15:25:52.000000000 
+0200
+++ new/linux-app-4.7.3/eduvpn/server.py        2026-11-03 19:35:39.000000000 
+0100
@@ -278,7 +278,7 @@
         # The url attribute is always used as an identifier
         # But we need to normalize it to compare
         sid = server.identifier
-        if server.category_id != SecureInternetServer:
+        if server.category_id != ServerType.SECURE_INTERNET:
             sid = self.normalize_server_id(sid)
         for s in self.configured:
             if sid == s.identifier:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/eduvpn/ui/ui.py 
new/linux-app-4.7.3/eduvpn/ui/ui.py
--- old/linux-app-4.7.2/eduvpn/ui/ui.py 2026-04-24 15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/eduvpn/ui/ui.py 2026-11-03 19:35:39.000000000 +0100
@@ -1187,13 +1187,6 @@
         else:
             logger.debug(f"cancelled server remove for: {server!r}")
 
-    def server_change_profile(self, server):
-        def set_profile(profile_id):
-            self.app.model.set_profile(profile_id)
-            self.call_model("go_back")
-
-        self.enter_ChooseProfile(State.MAIN, (set_profile, server.profiles))
-
     def on_server_row_pressed(self, widget: TreeView, event: EventButton) -> 
None:
         logger.debug("on server row pressed")
         # Exit if not a press
@@ -1228,17 +1221,6 @@
         # Icons are already added so do not reserve extra space for them
         menu.set_reserve_toggle_size(0)  # type: ignore
 
-        if len(server.profiles.profiles) > 1:
-            change_profile_item = Gtk.MenuItem()  # type: ignore
-            change_profile_item.connect("activate", lambda _: 
self.server_change_profile(server))
-            change_profile_box = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, 0)  # 
type: ignore
-            change_profile_image = 
Gtk.Image.new_from_icon_name("document-edit", Gtk.IconSize.MENU)  # type: ignore
-            change_profile_label = Gtk.Label.new("Change Profile")  # type: 
ignore
-            change_profile_box.pack_start(change_profile_image, False, False, 
0)  # type: ignore
-            change_profile_box.pack_start(change_profile_label, False, False, 
8)  # type: ignore
-            change_profile_item.add(change_profile_box)
-            change_profile_item.show_all()
-            menu.append(change_profile_item)
         menu.append(remove_item)
         menu.attach_to_widget(widget)  # type: ignore
         menu.popup_at_pointer()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/install.sh 
new/linux-app-4.7.3/install.sh
--- old/linux-app-4.7.2/install.sh      2026-04-24 15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/install.sh      2026-11-03 19:35:39.000000000 +0100
@@ -53,13 +53,9 @@
 
 case $VERSION_CODENAME in
     # ubuntu and deb versions
-    "jammy" | "noble" | "plucky" | "questing" | "bookworm" | "trixie")
+    "noble" | "resolute" | "stonking" | "bookworm" | "trixie")
        install_deb "$VERSION_CODENAME"
        ;;
-    # redirect linux mint 21.x codenames to jammy
-    "vanessa" | "vera" | "victoria")
-       install_deb "jammy"
-       ;;
     # redirect linux mint codenames to noble
     "wilma" | "xia" | "zara" | "zena")
        install_deb "noble"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/rpm/SPECS/python-eduvpn-client.spec 
new/linux-app-4.7.3/rpm/SPECS/python-eduvpn-client.spec
--- old/linux-app-4.7.2/rpm/SPECS/python-eduvpn-client.spec     2026-04-24 
15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/rpm/SPECS/python-eduvpn-client.spec     2026-11-03 
19:35:39.000000000 +0100
@@ -2,7 +2,7 @@
 %global sum client for eduVPN
 
 Name:           eduvpn_client
-Version:        4.7.2
+Version:        4.7.3
 Release:        1%{?dist}
 Summary:        %{sum}
 
@@ -116,6 +116,9 @@
 %{_datarootdir}/letsconnect/images/*.svg
 
 %changelog
+* Tue Nov 03 2026 Jeroen Wijenbergh <[email protected]> - 4.7.3-1
+- New version
+
 * Fri Apr 24 2026 Jeroen Wijenbergh <[email protected]> - 4.7.2-1
 - New version
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/setup.cfg 
new/linux-app-4.7.3/setup.cfg
--- old/linux-app-4.7.2/setup.cfg       2026-04-24 15:25:52.000000000 +0200
+++ new/linux-app-4.7.3/setup.cfg       2026-11-03 19:35:39.000000000 +0100
@@ -1,6 +1,6 @@
 [metadata]
 name = eduvpn_client
-version = 4.7.2
+version = 4.7.3
 author = Jeroen Wijenbergh
 author_email = [email protected]
 description = eduVPN client for Linux
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/linux-app-4.7.2/tests/test_server.py 
new/linux-app-4.7.3/tests/test_server.py
--- old/linux-app-4.7.2/tests/test_server.py    1970-01-01 01:00:00.000000000 
+0100
+++ new/linux-app-4.7.3/tests/test_server.py    2026-11-03 19:35:39.000000000 
+0100
@@ -0,0 +1,28 @@
+from unittest import TestCase
+from unittest.mock import PropertyMock, patch
+
+from eduvpn.server import SecureInternetServer, ServerDatabase
+
+
+class TestServerDatabase(TestCase):
+    def test_has_secure_internet_server_does_not_normalize_identifier(self):
+        server = SecureInternetServer(
+            "https://example.org/idp/shibboleth";,
+            {"en": "Example University"},
+            [],
+            None,
+            "DE",
+            [],
+        )
+
+        database = ServerDatabase(object(), enable_discovery=False)
+
+        with patch.object(
+            ServerDatabase,
+            "configured",
+            new_callable=PropertyMock,
+            return_value=[server],
+        ):
+            with patch.object(database, "normalize_server_id") as normalize:
+                self.assertIs(database.has(server), server)
+                normalize.assert_not_called()

Reply via email to