14
0

Accepting request 1234588 from devel:languages:python

OBS-URL: https://build.opensuse.org/request/show/1234588
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-limnoria?expand=0&rev=33
This commit is contained in:
2025-01-03 13:18:04 +00:00
committed by Git OBS Bridge
5 changed files with 157 additions and 21 deletions

View File

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

View File

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

View File

@@ -1,3 +1,74 @@
-------------------------------------------------------------------
Thu Jan 2 15:40:59 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
- Fix dist-info versioning by exporting the correct
SOURCE_DATE_EPOCH before building.
- Revert changes from previous commit in lieu of current, better
fix.
-------------------------------------------------------------------
Thu Jan 2 13:25:56 UTC 2025 - Atri Bhattacharya <badshah400@gmail.com>
- Account for the dist-info version differing from tarball version
in file lists.
-------------------------------------------------------------------
Tue Dec 10 03:52:10 UTC 2024 - Steve Kowalik <steven.kowalik@suse.com>
- Update to 2024.10.19:
* Add IrcState.nicksToAccount
* core & Channel: Add option --account to kban and iban
* Add support for 'account' in supybot.protocols.irc.banmask
* Replace makeExtBanmask with makeExtBanmasks
* makeExtBanmasks: Log invalid options
* requirements.txt: add ddate as an optional dependency for Time.ddate
* Socket: Fix hanging while TLS socket buffer is non-empty
* Debug: Remove useless shebang
* httpserver: Fix incorrect path joining
* RSS: Add support for $content/$summary_detail/$title_detail
* RSS: Copy $summary to $description on Atom feeds
* Fix recursive loop in limnoria_reset_password
* Geography: Add support for OSM node ids
* Web: Fix crash on trailing ';' in Content-Type
* Web: Fix crash on socket.timeout on snarfed URLs
* Fediverse: Catch URLErrors raised when checking webfinger support
* Services: Improve error on missing password or NickServ nick
* Changed whois provider domain to whois.iana.org
* RSS: Update link to feedparser
* ircdb.checkIgnored: return False for messages from servers
* RSS: Don't log tracebacks for HTTP errors
* Create temporary files in a temporary directory
* Channel: Fix error in when channel is configured but not joined
* Web: Need to download even more Javascript from Youtube
* Admin: Fix leftover state change in testPart
* Admin: Actually clean up test channel from configuration
* Fix SyntaxWarning on Python 3.12
* httpserver: Rewrite without the cgi module
* Internet: Use socket directly instead of telnetlib
* Unix: Disable 'crypt' command on Python >= 3.13
* RSS: Fix error when re-creating a feed with a different name
* Add per-network 'vhost' and 'vhostv6' config variables
* Misc: update version fetching to the new branches
* safeEval: Fix support for Python 3.14
* GPG: Import documentation removed from the Getting Started guide
* Cowardly refuse to ban oneself with an account extban
* Fall back to banning host instead of exact mask
* Add test the bot won't account-extban itself
* Added russian locale to limnoria
* Use cProfile instead of profile
* Web: Add youtu.be to Youtube's domain list
* plugin-doc: Prevent hyphenation of -- in command syntax
* Add config value supybot.reply.mores.instant.whenPrivate
* Fix NormalizedString serialization splitting within escape sequences.
* Updated russian translation based on updated messages.pot
* Factoids: Fix search results when single key matched
* Unix: Fix IPv6 formating of ping command
* Web: Add workaround for minified Reddit URLs
- Switch back to PyPi tarball.
- Switch to autosetup and pyproject macros.
- Add patch skip-fediverse-profile-tests.patch:
* Skip some misbehaving tests.
-------------------------------------------------------------------
Fri Oct 20 13:53:47 UTC 2023 - Atri Bhattacharya <badshah400@gmail.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package python-limnoria
#
# 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
@@ -16,17 +16,15 @@
#
%define skip_python2 1
%define appname limnoria
%define srcver 2023-09-24-2
Name: python-limnoria
Version: 2023.09.24.2
Version: 2024.10.19
Release: 0
Summary: A modified version of Supybot (an IRC bot and framework)
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/ProgVal/Limnoria
Source: https://github.com/ProgVal/Limnoria/archive/master-%{srcver}.tar.gz#/%{appname}-%{version}.tar.gz
Source: https://files.pythonhosted.org/packages/source/l/limnoria/limnoria-%{version}.tar.gz
# PATCH-FIX-OPENSUSE Skip Fediverse webfinger tests that don't seem to mock correctly
Patch0: skip-fediverse-profile-tests.patch
# full python for sqlite3 module
BuildRequires: %pythons
BuildRequires: %{python_module PySocks}
@@ -36,11 +34,12 @@ BuildRequires: %{python_module ecdsa}
BuildRequires: %{python_module feedparser}
BuildRequires: %{python_module python-dateutil}
BuildRequires: %{python_module python-gnupg}
BuildRequires: %{python_module pytz if %python-base < 3.9}
BuildRequires: %{python_module pytzdata}
# pyxmpp2-scram not available, the code actually covers the non-availability
#BuildRequires: %%{python_module pyxmpp2-scram}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module wheel}
BuildRequires: coreutils-systemd
BuildRequires: fdupes
BuildRequires: procps
@@ -56,11 +55,8 @@ Requires: python-python-dateutil
Requires: python-python-gnupg
Requires: python-pytzdata
#Requires: python-pyxmpp2-scram
%if 0%{?python_version_nodots} < 39
Requires: python-pytz
%endif
Requires(post): update-alternatives
Requires(postun):update-alternatives
Requires(postun): update-alternatives
Provides: Supybot = %{version}
Obsoletes: Supybot < 1.0
BuildArch: noarch
@@ -72,18 +68,19 @@ an ACL system for specifying user permissions with per-command
granularity. Numerous plugins are included.
%prep
%setup -q -n Limnoria-master-%{srcver}
%autosetup -p1 -n limnoria-%{version}
sed -i "1,4{/\/usr\/bin\/python/d}" plugins/Debug/plugin.py
sed -i "1,4{/\/usr\/bin\/env/d}" plugins/SedRegex/constants.py
chmod -x supybot/plugins/*/locales/fi.po
sed -Ei "1{\@^#!/usr/bin/env python3@d}" src/scripts/limnoria_*.py
%build
%python_build
# Get SOURCE_DATE_EPOCH corresponding to pyproject.toml in sources
export SOURCE_DATE_EPOCH=`date -r pyproject.toml +"%s"`
%pyproject_wheel
%install
%python_install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}/supybot/
for ex in supybot limnoria
do
@@ -129,7 +126,7 @@ export PYTHONPATH=%{buildroot}%{$python_sitelib}/
%{python_uninstall_alternative supybot limnoria}
%files %{python_files}
%doc README.md CONTRIBUTING.md
%doc README.md
%license LICENSE.md
%python_alternative %{_bindir}/limnoria
%python_alternative %{_bindir}/limnoria-adduser
@@ -164,6 +161,6 @@ export PYTHONPATH=%{buildroot}%{$python_sitelib}/
%python_alternative %{_mandir}/man1/supybot-test.1
%python_alternative %{_mandir}/man1/supybot-wizard.1
%{python_sitelib}/supybot/
%{python_sitelib}/limnoria-*.egg-info
%{python_sitelib}/limnoria-%{version}*.*-info
%changelog

View File

@@ -0,0 +1,68 @@
Index: limnoria-2024.10.19/plugins/Fediverse/test.py
===================================================================
--- limnoria-2024.10.19.orig/plugins/Fediverse/test.py
+++ limnoria-2024.10.19/plugins/Fediverse/test.py
@@ -33,6 +33,7 @@ import copy
import json
import functools
import contextlib
+import unittest
from multiprocessing import Manager
from supybot import conf, log, utils
@@ -155,6 +156,7 @@ class NetworklessFediverseTestCase(BaseF
list(expected_requests), [], "Less requests than expected."
)
+ @unittest.skip("broken on OBS")
def testFeaturedNone(self):
featured = {
"@context": "https://www.w3.org/ns/activitystreams",
@@ -176,6 +178,7 @@ class NetworklessFediverseTestCase(BaseF
"featured @someuser@example.org", "No featured statuses."
)
+ @unittest.skip("broken on OBS")
def testFeaturedSome(self):
featured = {
"@context": [
@@ -242,6 +245,7 @@ class NetworklessFediverseTestCase(BaseF
"featured @someuser@example.org", "This is a pinned toot"
)
+ @unittest.skip("broken on OBS")
def testProfile(self):
expected_requests = [
(HOSTMETA_URL, HOSTMETA_DATA),
@@ -255,6 +259,7 @@ class NetworklessFediverseTestCase(BaseF
"\x02someuser\x02 (@someuser@example.org): My Biography",
)
+ @unittest.skip("broken on OBS")
def testProfileNoHostmeta(self):
expected_requests = [
(HOSTMETA_URL, utils.web.Error("blah")),
@@ -268,6 +273,7 @@ class NetworklessFediverseTestCase(BaseF
"\x02someuser\x02 (@someuser@example.org): My Biography",
)
+ @unittest.skip("broken on OBS")
def testProfileSnarfer(self):
with self.mockWebfingerSupport("not called"), self.mockRequests([]):
self.assertSnarfNoResponse("aaa @nonexistinguser@example.org bbb")
@@ -343,6 +349,7 @@ class NetworklessFediverseTestCase(BaseF
"\x02someuser\x02 (@someuser@example.org): My Biography",
)
+ @unittest.skip("broken on OBS")
def testProfileUnknown(self):
expected_requests = [
(HOSTMETA_URL, HOSTMETA_DATA),
@@ -401,6 +408,7 @@ class NetworklessFediverseTestCase(BaseF
"<error: blah>: " + "@FirstAuthor I am replying to you",
)
+ @unittest.skip("broken on OBS")
def testStatuses(self):
expected_requests = [
(HOSTMETA_URL, HOSTMETA_DATA),