17
0

7 Commits

Author SHA256 Message Date
c9a3699157 Accepting request 1286308 from devel:languages:python
- Convert to libalternatives

OBS-URL: https://build.opensuse.org/request/show/1286308
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bugzilla?expand=0&rev=36
2025-06-18 17:29:54 +00:00
eecc63f369 - Convert to libalternatives
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bugzilla?expand=0&rev=66
2025-06-17 09:15:42 +00:00
73dca3eb5f Accepting request 1283509 from devel:languages:python
- Switch to pyproject macros.

OBS-URL: https://build.opensuse.org/request/show/1283509
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bugzilla?expand=0&rev=35
2025-06-10 06:58:10 +00:00
b1ab92035d - Switch to pyproject macros.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bugzilla?expand=0&rev=64
2025-06-06 05:40:24 +00:00
9f336becbf Accepting request 1202263 from devel:languages:python
- Switch to Git source and update to version 3.2.0+git.1726768917.5eedea3:
  * Use non-deprecated argument name in test-suite
  * Fixed issue in `Bugzilla.fix_url`
  * Prep for release 3.3.0
  * ci: bump actions/checkout from 3 to 4
  * ci: bump actions/setup-python from 4 to 5
  * Run functional RO tests in GitHub actions
  * man: Regenerate bugzilla.1
  * man: Add section about `bugzillarc`
  * Allow bug creation with an explicitly empty list of groups (closes #210)
  * cli: Support `--field` and `--field-json` for `bugzilla attach` (#206)
- Remove upstreamed patch 188-fix-api-key-leak.diff

OBS-URL: https://build.opensuse.org/request/show/1202263
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bugzilla?expand=0&rev=34
2024-09-26 16:52:42 +00:00
8b4459e997 Add sle15_python_module_pythons
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bugzilla?expand=0&rev=62
2024-09-20 20:19:03 +00:00
e25f5617d2 - Switch to Git source and update to version 3.2.0+git.1726768917.5eedea3:
* Use non-deprecated argument name in test-suite
  * Fixed issue in `Bugzilla.fix_url`
  * Prep for release 3.3.0
  * ci: bump actions/checkout from 3 to 4
  * ci: bump actions/setup-python from 4 to 5
  * Run functional RO tests in GitHub actions
  * man: Regenerate bugzilla.1
  * man: Add section about `bugzillarc`
  * Allow bug creation with an explicitly empty list of groups (closes #210)
  * cli: Support `--field` and `--field-json` for `bugzilla attach` (#206)
- Remove upstreamed patch 188-fix-api-key-leak.diff

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bugzilla?expand=0&rev=61
2024-09-20 20:16:41 +00:00
9 changed files with 114 additions and 87 deletions

View File

@@ -1,42 +1,10 @@
--- python-bugzilla-3.2.0.orig/bugzilla/base.py 2022-01-12 19:09:08.000000000 +0100
+++ python-bugzilla-3.2.0/bugzilla/base.py 2022-12-21 09:32:01.324613243 +0100
@@ -174,7 +174,8 @@
def __init__(self, url=-1, user=None, password=None, cookiefile=-1,
sslverify=True, tokenfile=-1, use_creds=True, api_key=None,
cert=None, configpaths=-1,
- force_rest=False, force_xmlrpc=False, requests_session=None):
+ force_rest=False, force_xmlrpc=False, requests_session=None,
+ basic_auth=False):
"""
:param url: The bugzilla instance URL, which we will connect
to immediately. Most users will want to specify this at
@@ -207,6 +208,7 @@
:param requests_session: An optional requests.Session object the
API will use to contact the remote bugzilla instance. This
way the API user can set up whatever auth bits they may need.
+ :param basic_auth: Use headers with HTTP Basic authentication
"""
if url == -1:
raise TypeError("Specify a valid bugzilla url, or pass url=None")
@@ -246,6 +248,7 @@
self._settokenfile(tokenfile)
self._setconfigpath(configpaths)
+ self._basic_auth = basic_auth
if url:
self.connect(url)
@@ -598,6 +601,8 @@
raise ValueError("missing username")
if not self.password:
raise ValueError("missing password")
+ if self._basic_auth:
+ self._backend.set_basic_auth(self.user, self.password)
payload = {"login": self.user}
if restrict_login:
--- python-bugzilla-3.2.0.orig/bugzilla/_backendxmlrpc.py 2022-01-12 19:09:08.000000000 +0100
+++ python-bugzilla-3.2.0/bugzilla/_backendxmlrpc.py 2022-12-21 09:35:40.471278786 +0100
---
bugzilla/_backendxmlrpc.py | 14 ++++++++++++++
bugzilla/base.py | 7 ++++++-
2 files changed, 20 insertions(+), 1 deletion(-)
--- a/bugzilla/_backendxmlrpc.py
+++ b/bugzilla/_backendxmlrpc.py
@@ -2,6 +2,7 @@
# See the COPYING file in the top-level directory.
@@ -45,17 +13,17 @@
import sys
from xmlrpc.client import (Binary, Fault, ProtocolError,
ServerProxy, Transport)
@@ -127,6 +128,9 @@
@@ -127,6 +128,9 @@ class _BugzillaXMLRPCProxy(ServerProxy,
# pylint: enable=no-member
return ret
+
+
+ def clear_token(self):
+ self.__bugzillasession.set_token_value(None)
class _BackendXMLRPC(_BackendBase):
@@ -142,6 +146,16 @@
@@ -142,6 +146,16 @@ class _BackendXMLRPC(_BackendBase):
def is_xmlrpc(self):
return True
@@ -72,3 +40,40 @@
def bugzilla_version(self):
return self._xmlrpc_proxy.Bugzilla.version()
--- a/bugzilla/base.py
+++ b/bugzilla/base.py
@@ -177,7 +177,8 @@ class Bugzilla(object):
def __init__(self, url=-1, user=None, password=None, cookiefile=-1,
sslverify=True, tokenfile=-1, use_creds=True, api_key=None,
cert=None, configpaths=-1,
- force_rest=False, force_xmlrpc=False, requests_session=None):
+ force_rest=False, force_xmlrpc=False, requests_session=None,
+ basic_auth=False):
"""
:param url: The bugzilla instance URL, which we will connect
to immediately. Most users will want to specify this at
@@ -210,6 +211,7 @@ class Bugzilla(object):
:param requests_session: An optional requests.Session object the
API will use to contact the remote bugzilla instance. This
way the API user can set up whatever auth bits they may need.
+ :param basic_auth: Use headers with HTTP Basic authentication
"""
if url == -1:
raise TypeError("Specify a valid bugzilla url, or pass url=None")
@@ -249,6 +251,7 @@ class Bugzilla(object):
self._settokenfile(tokenfile)
self._setconfigpath(configpaths)
+ self._basic_auth = basic_auth
if url:
self.connect(url)
@@ -601,6 +604,8 @@ class Bugzilla(object):
raise ValueError("missing username")
if not self.password:
raise ValueError("missing password")
+ if self._basic_auth:
+ self._backend.set_basic_auth(self.user, self.password)
payload = {"login": self.user}
if restrict_login:

View File

@@ -1,23 +0,0 @@
--- a/bugzilla/_session.py 2021-10-05 22:49:16.000000000 +0200
+++ b/bugzilla/_session.py 2023-09-25 17:22:39.763856790 +0200
@@ -97,14 +97,14 @@
if "timeout" not in kwargs:
kwargs["timeout"] = timeout
- response = self._session.request(*args, **kwargs)
+ try:
+ response = self._session.request(*args, **kwargs)
- if self._is_xmlrpc:
- # Yes this still appears to matter for properly decoding unicode
- # code points in bugzilla.redhat.com content
- response.encoding = "UTF-8"
+ if self._is_xmlrpc:
+ # Yes this still appears to matter for properly decoding unicode
+ # code points in bugzilla.redhat.com content
+ response.encoding = "UTF-8"
- try:
response.raise_for_status()
except Exception as e:
# Scrape the api key out of the returned exception string

View File

@@ -1,3 +1,15 @@
<services>
<service name="download_files" mode="localonly"/>
</services>
<service name="obs_scm" mode="manual">
<param name="versionprefix">3.2.0+git</param>
<param name="url">https://github.com/python-bugzilla/python-bugzilla.git</param>
<param name="scm">git</param>
<param name="revision">main</param>
<param name="changesgenerate">enable</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="manual" />
</services>

4
_servicedata Normal file
View File

@@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/python-bugzilla/python-bugzilla.git</param>
<param name="changesrevision">5eedea31bcef0f1ba7a22eb38aba1cdd9b3d7981</param></service></servicedata>

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3833f041b64f4b8ff63ba60c6153337d72cf09994be2d8fb33953f93b74e77ff
size 851468

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54967b21001e880b20c9303d5ac86b009142714ee6cdb473be363c41b207dd15
size 113206

View File

@@ -1,3 +1,29 @@
-------------------------------------------------------------------
Tue Jun 17 09:15:10 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to libalternatives
-------------------------------------------------------------------
Fri Jun 6 05:30:56 UTC 2025 - Steve Kowalik <steven.kowalik@suse.com>
- Switch to pyproject macros.
-------------------------------------------------------------------
Fri Sep 20 19:54:11 UTC 2024 - mcepl@cepl.eu
- Switch to Git source and update to version 3.2.0+git.1726768917.5eedea3:
* Use non-deprecated argument name in test-suite
* Fixed issue in `Bugzilla.fix_url`
* Prep for release 3.3.0
* ci: bump actions/checkout from 3 to 4
* ci: bump actions/setup-python from 4 to 5
* Run functional RO tests in GitHub actions
* man: Regenerate bugzilla.1
* man: Add section about `bugzillarc`
* Allow bug creation with an explicitly empty list of groups (closes #210)
* cli: Support `--field` and `--field-json` for `bugzilla attach` (#206)
- Remove upstreamed patch 188-fix-api-key-leak.diff
-------------------------------------------------------------------
Mon Sep 25 14:57:10 UTC 2023 - Julio González Gil <jgonzalez@suse.com>

4
python-bugzilla.obsinfo Normal file
View File

@@ -0,0 +1,4 @@
name: python-bugzilla
version: 3.2.0+git.1726768917.5eedea3
mtime: 1726768917
commit: 5eedea31bcef0f1ba7a22eb38aba1cdd9b3d7981

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-bugzilla
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,29 +17,31 @@
%define oldpython python
%define skip_python2 1
%bcond_without libalternatives
%{?sle15_python_module_pythons}
Name: python-bugzilla
Version: 3.2.0
Version: 3.2.0+git.1726768917.5eedea3
Release: 0
Summary: Python library for Bugzilla
License: GPL-2.0-or-later
Group: Development/Libraries/Python
URL: https://github.com/python-bugzilla/python-bugzilla
Source: https://files.pythonhosted.org/packages/source/p/python-bugzilla/python-bugzilla-%{version}.tar.gz
# Source: https://files.pythonhosted.org/packages/source/p/python-bugzilla/python-bugzilla-%%{version}.tar.gz
Source: python-bugzilla-%{version}.tar.gz
# PATCH-FIX-UPSTREAM 106-basic-auth.diff bsc#1098219 mcepl@suse.com
# Fix basic authentication on bugzilla.suse.com
Patch0: 106-basic-auth.diff
# PATCH-FIX-UPSTREAM pending https://github.com/python-bugzilla/python-bugzilla/pull/188
# Fix API Key leak
Patch1: 188-fix-api-key-leak.diff
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module responses}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: alts
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: alts
Requires: python-requests
Requires(post): update-alternatives
Requires(postun):update-alternatives
Suggests: osc
Conflicts: %{oldpython}-bugzillatools
Obsoletes: python2-bugzilla
@@ -61,19 +63,16 @@ sed -i -e '1{/^#!\/usr\/bin\/env python/d}' bugzilla/_cli.py
%build
export CFLAGS="%{optflags}"
%python_build
%pyproject_wheel
%install
%python_install
%pyproject_install
%python_clone -a %{buildroot}%{_bindir}/bugzilla
%python_clone -a %{buildroot}%{_mandir}/man1/bugzilla.1
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%post
%{python_install_alternative bugzilla bugzilla.1}
%postun
%python_uninstall_alternative bugzilla
%pre
%python_libalternatives_reset_alternative bugzilla
%check
%pytest
@@ -82,6 +81,6 @@ export CFLAGS="%{optflags}"
%python_alternative %{_bindir}/bugzilla
%python_alternative %{_mandir}/man1/bugzilla.1%{ext_man}
%{python_sitelib}/bugzilla
%{python_sitelib}/python_bugzilla-%{version}-py*.egg-info
%{python_sitelib}/python_bugzilla-3.3.0*-info
%changelog