diff --git a/_multibuild b/_multibuild
new file mode 100644
index 0000000..fcc7b97
--- /dev/null
+++ b/_multibuild
@@ -0,0 +1,3 @@
+
+ test
+
diff --git a/atpublic-2.3.tar.gz b/atpublic-2.3.tar.gz
deleted file mode 100644
index fbf5faa..0000000
--- a/atpublic-2.3.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:41dc52166821eb46f5c0d078d178b83252867c54c572e3d0b5c44d6605c46267
-size 15317
diff --git a/atpublic-3.1.1.tar.gz b/atpublic-3.1.1.tar.gz
new file mode 100644
index 0000000..35e9999
--- /dev/null
+++ b/atpublic-3.1.1.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3098ee12d0107cc5009d61f4e80e5edcfac4cda2bdaa04644af75827cb121b18
+size 14050
diff --git a/python-atpublic.changes b/python-atpublic.changes
index a6e0d69..8cdd471 100644
--- a/python-atpublic.changes
+++ b/python-atpublic.changes
@@ -1,3 +1,29 @@
+-------------------------------------------------------------------
+Sun Dec 4 20:31:51 UTC 2022 - Torsten Gruner
+
+- Update to v3.1.1
+ * Improvements to the GitLab CI integration.
+
+- version 3.1 (2022-08-27)
+ * Fix a typo in pyproject.toml file.
+ * Exclude certain local cache files from the sdist/wheel.
+ * Add support for Python 3.11.
+ * Updates for pdm and dependencies.
+
+- version 3.0.1 (2022-01-10)
+ * Fix a typo in the README.rst.
+
+- version 3.0 (2022-01-10)
+ * Use modern package management by adopting pdm and pyproject.toml, and dropping setup.py and setup.cfg.
+ * Build the docs with Python 3.8.
+ * Update to version 3.0 of Sybil.
+ * Adopt the Furo documentation theme.
+ * Use importlib.metadata.version() as a better way to get the package version number for the documentation.
+ * Drop Python 3.6 support.
+ * Update Windows GitLab runner to include Python 3.10.
+ * Update copyright years.
+ * The master branch is renamed to main. (GL#11)
+
-------------------------------------------------------------------
Tue Jan 11 20:25:53 UTC 2022 - Ben Greiner
diff --git a/python-atpublic.spec b/python-atpublic.spec
index 1b21e2b..1d4690f 100644
--- a/python-atpublic.spec
+++ b/python-atpublic.spec
@@ -1,7 +1,7 @@
#
# spec file for package python-atpublic
#
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,55 +16,68 @@
#
-%{?!python_module:%define python_module() python3-%{**}}
+%global flavor @BUILD_FLAVOR@%{nil}
+%if "%{flavor}" == "test"
+%define psuffix -test
+%bcond_without test
+%else
+%define psuffix %{nil}
+%bcond_with test
+%endif
%define skip_python2 1
Name: python-atpublic
-Version: 2.3
+Version: 3.1.1
Release: 0
Summary: @public decorator for populating __all__
License: Apache-2.0
Group: Development/Languages/Python
URL: http://public.readthedocs.io/
Source: https://gitlab.com/warsaw/public/-/archive/%{version}/public-%{version}.tar.gz#/atpublic-%{version}.tar.gz
-BuildRequires: %{python_module devel}
+BuildRequires: %{python_module base >= 3.7}
+BuildRequires: %{python_module pdm-pep517 >= 1.0}
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-typing_extensions
BuildArch: noarch
+%if %{with test}
# SECTION test requirements
+BuildRequires: %{python_module atpublic}
+BuildRequires: %{python_module coverage}
+BuildRequires: %{python_module pytest-cov}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module sybil}
BuildRequires: %{python_module typing_extensions}
# /SECTION
+%endif
%python_subpackages
%description
public -- @public for populating __all__.
%prep
-%setup -q -n public-%{version}
-rm setup.cfg
-# API change in sybil 3
-if [ -d %{python3_sitelib}/sybil-3*-info ]; then
- sed -i 's/CodeBlockParser/PythonCodeBlockParser/' conftest.py
-fi
+%setup -q -n atpublic-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
-
+%if !%{with test}
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%else
%check
%pytest
+%endif
+%if !%{with test}
%files %{python_files}
%doc docs/NEWS.rst README.rst
%license LICENSE
%{python_sitelib}/public
%{python_sitelib}/atpublic-%{version}*-info
+%endif
%changelog