diff --git a/_service b/_service
deleted file mode 100644
index c40dc35..0000000
--- a/_service
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- https://opendev.org/openstack/rpm-packaging/raw/master/openstack/cliff/cliff.spec.j2
- python-cliff.spec
- cloud-devel@suse.de
- gh,openstack,cliff
-
-
-
-
-
diff --git a/cliff-3.10.1.tar.gz b/cliff-3.10.1.tar.gz
deleted file mode 100644
index a8a7b6e..0000000
--- a/cliff-3.10.1.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:045aee3f3c64471965d7ad507ce8474a4e2f20815fbb5405a770f8596a2a00a0
-size 82764
diff --git a/cliff-4.4.0.tar.gz b/cliff-4.4.0.tar.gz
new file mode 100644
index 0000000..44dc015
--- /dev/null
+++ b/cliff-4.4.0.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:aa8d404aa2d6b4d8639c61bd6dc47acb3656ebc3fc025b1b7bb07af2baef785f
+size 83609
diff --git a/python-cliff.changes b/python-cliff.changes
index 5d258d8..871b509 100644
--- a/python-cliff.changes
+++ b/python-cliff.changes
@@ -1,27 +1,42 @@
-------------------------------------------------------------------
-Sat May 14 12:26:14 UTC 2022 - cloud-devel@suse.de
+Thu Jan 4 23:04:20 UTC 2024 - Dirk Müller
-- update to version 3.10.1
- - Removing modindex link from docs
- - Automatically page interactive root help output
-
--------------------------------------------------------------------
-Fri May 13 22:33:11 UTC 2022 - Dirk Müller
-
-- remove six dependency
-
--------------------------------------------------------------------
-Tue Oct 26 22:13:33 UTC 2021 - cloud-devel@suse.de
-
-- update to version 3.9.0
- - Add Python3 xena unit tests
- - Replace getargspec with getfullargspec
- - Handle SIGPIPE exit gracefully
- - setup.cfg: Replace dashes with underscores
- - Update unit test to satisfy python3.10+
- - Add conflict_handler parameter as attribut in Command class
- - Use py3 as the default runtime for tox
- - Colourise and automatically page help output
+- update to 4.4.0:
+ * Handle complex objects in yaml formatter better
+ * Fix pre-commit issues
+ * Autofit table output if stdout is a tty
+ * Fix flake8 violation E721
+ * Use upper-constraint in doc generation
+ * Removing helper functions providing Python < 3.3
+ compatibility
+ * Strip trailing periods when getting description
+ * Clarification of the algorithm used
+ * columns: Useful \_\_str\_\_, \_\_repr\_\_ implementation
+ * Add Python3 antelope unit tests
+ * Removing brackets around tested conditional
+ * Replace abc.abstractproperty with property and
+ abc.abstractmethod
+ * Remove final use of pkg\_resources
+ * Defer loading PyYAML
+ * Defer loading cmd2
+ * requirements: Remove explicit python-subunit dependency
+ * requirements: Remove explicit pbr dependency
+ * requirements: Remove explicit pyparsing dependency
+ * Update Python testing per Zed cycle testing runtime
+ * Migrate Python 3.6/7 jobs to Python 3.8
+ * Removing modindex link from docs
+ * Add Python3 yoga unit tests
+ * Automatically page interactive root help output
+ * Colourise and automatically page help output
+ * Update unit test to satisfy python3.10+
+ * Handle SIGPIPE exit gracefully
+ * Add conflict\_handler parameter as attribut in Command class
+ * setup.cfg: Replace dashes with underscores
+ * Replace getargspec with getfullargspec
+ * setup.cfg: Replace dashes with underscores
+ * Use py3 as the default runtime for tox
+ * Add Python3 xena unit tests
+- switch to singlespec
-------------------------------------------------------------------
Sun May 2 17:15:03 UTC 2021 - cloud-devel@suse.de
@@ -470,7 +485,7 @@ Thu Jun 26 09:37:02 UTC 2014 - dmueller@suse.com
-------------------------------------------------------------------
Thu Feb 13 11:53:51 UTC 2014 - dmueller@suse.com
-- add 0001-Move-pep8-dependency-into-pep8-tox-test.patch: remove global pep8 dependency
+- add 0001-Move-pep8-dependency-into-pep8-tox-test.patch: remove global pep8 dependency
-------------------------------------------------------------------
Tue Jan 21 13:22:18 UTC 2014 - dmueller@suse.com
@@ -524,24 +539,24 @@ Fri May 3 09:55:16 UTC 2013 - speilicke@suse.com
- Update to version 1.3.3:
+ Upstreamed:
- - 0001-Restore-compatibility-with-Prettytable-0.7.2.patch
- - ignore-cmd2-requires.diff:
+ - 0001-Restore-compatibility-with-Prettytable-0.7.2.patch
+ - ignore-cmd2-requires.diff:
-------------------------------------------------------------------
Thu May 2 10:42:04 UTC 2013 - dmueller@suse.com
-- add 0001-Restore-compatibility-with-Prettytable-0.7.2.patch
+- add 0001-Restore-compatibility-with-Prettytable-0.7.2.patch
-------------------------------------------------------------------
Tue Apr 30 08:39:29 UTC 2013 - dmueller@suse.com
-- add ignore-cmd2-requires.diff:
+- add ignore-cmd2-requires.diff:
loosen cmd2 version requires
-------------------------------------------------------------------
Thu Apr 25 09:06:44 UTC 2013 - dmueller@suse.com
-- update to 1.3.2:
+- update to 1.3.2:
- Add ``convert_underscores`` parameter to ``CommandManager`` ``__init__``
method to allow underscores to be used in command names. This optional
argument is defaulted to True to maintain current behavior.
@@ -553,18 +568,18 @@ Thu Apr 25 09:06:44 UTC 2013 - dmueller@suse.com
-------------------------------------------------------------------
Wed Apr 24 15:04:28 UTC 2013 - dmueller@suse.com
-- buildrequire the right mock version
+- buildrequire the right mock version
-------------------------------------------------------------------
Mon Mar 18 16:09:58 UTC 2013 - dmueller@suse.com
-- tighten requires on pyparsing
+- tighten requires on pyparsing
-------------------------------------------------------------------
Wed Mar 13 12:26:50 UTC 2013 - dmueller@suse.com
- add prettytable-0.7x.diff:
- - Be compatible with PrettyTable 0.7
+ - Be compatible with PrettyTable 0.7
- tighten rpm dependencies
-------------------------------------------------------------------
@@ -594,5 +609,5 @@ Fri Jul 27 10:46:22 UTC 2012 - saschpe@suse.de
-------------------------------------------------------------------
Fri Jul 27 08:28:53 UTC 2012 - cthiel@suse.com
-- initial package (version 1.0)
+- initial package (version 1.0)
diff --git a/python-cliff.spec b/python-cliff.spec
index e82011e..bc3a596 100644
--- a/python-cliff.spec
+++ b/python-cliff.spec
@@ -1,7 +1,7 @@
#
# spec file for package python-cliff
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,87 +17,62 @@
Name: python-cliff
-Version: 3.10.1
+Version: 4.4.0
Release: 0
Summary: Command Line Interface Formulation Framework
License: Apache-2.0
-Group: Development/Languages/Python
-URL: https://docs.openstack.org/cliff
-Source0: https://files.pythonhosted.org/packages/source/c/cliff/cliff-3.10.1.tar.gz
-BuildRequires: openstack-macros
-BuildRequires: python3-PrettyTable
-BuildRequires: python3-PyYAML
-BuildRequires: python3-autopage
-BuildRequires: python3-cmd2
-BuildRequires: python3-docutils
-BuildRequires: python3-fixtures
-BuildRequires: python3-pbr
-BuildRequires: python3-pytest
-BuildRequires: python3-python-subunit
-BuildRequires: python3-stevedore
-BuildRequires: python3-testscenarios
-BuildRequires: python3-testtools
+URL: https://docs.openstack.org/cliff/latest/
+Source: https://files.pythonhosted.org/packages/source/c/cliff/cliff-%{version}.tar.gz
+BuildRequires: %{python_module pip}
+BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
+BuildRequires: python-rpm-macros
+# SECTION test requirements
+BuildRequires: %{python_module autopage >= 0.4.0}
+BuildRequires: %{python_module PrettyTable >= 0.7.2}
+BuildRequires: %{python_module PyYAML >= 3.12}
+BuildRequires: %{python_module Sphinx >= 2.0.0}
+BuildRequires: %{python_module cmd2 >= 1.0.0}
+BuildRequires: %{python_module coverage >= 4.0}
+BuildRequires: %{python_module fixtures}
+BuildRequires: %{python_module importlib_metadata >= 4.4}
+BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module stevedore >= 2.0.1}
+BuildRequires: %{python_module testscenarios >= 0.4}
+BuildRequires: %{python_module testtools >= 2.2.0}
+# /SECTION
+BuildRequires: fdupes
+Requires: python-PrettyTable >= 0.7.2
+Requires: python-PyYAML >= 3.12
+Requires: python-autopage >= 0.4.0
+Requires: python-cmd2 >= 1.0.0
+Requires: python-importlib_metadata >= 4.4
+Requires: python-stevedore >= 2.0.1
BuildArch: noarch
+%python_subpackages
%description
-cliff is a framework for building command line programs. It uses
-setuptools entry points to provide subcommands, output formatters, and
-other extensions.
-
-%package -n python3-cliff
-Summary: Command Line Interface Formulation Framework
-Requires: python3-PrettyTable
-Requires: python3-PyYAML
-Requires: python3-autopage
-Requires: python3-cmd2
-Requires: python3-pyparsing
-Requires: python3-stevedore
-
-%description -n python3-cliff
-cliff is a framework for building command line programs. It uses
-setuptools entry points to provide subcommands, output formatters, and
-other extensions.
-
-This package contains the Python 3.x module.
-
-%package -n python-cliff-doc
-Summary: %{summary} - Documentation
-Group: Documentation/HTML
-BuildRequires: python3-Sphinx
-BuildRequires: python3-openstackdocstheme
-
-%description -n python-cliff-doc
-cliff is a framework for building command line programs. It uses
-setuptools entry points to provide subcommands, output formatters, and
-other extensions.
-
-This package contains documentation files for %{name}.
+Command Line Interface Formulation Framework
%prep
-%autosetup -p1 -n cliff-3.10.1
-%py_req_cleanup
+%autosetup -p1 -n cliff-%{version}
%build
-%py3_build
-PBR_VERSION=3.10.1 PYTHONPATH=. %sphinx_build -b html doc/source doc/build/html
-rm -rf doc/build/html/.{doctrees,buildinfo}
+%pyproject_wheel
%install
-%py3_install
+%pyproject_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# doesn't work with pytest atm
rm -v cliff/tests/test_commandmanager.py
-python3 -m pytest cliff/tests
+%pytest cliff/tests
-%files -n python3-cliff
+%files %{python_files}
+%doc AUTHORS ChangeLog README.rst
%license LICENSE
-%doc ChangeLog README.rst
-%{python3_sitelib}/cliff
-%{python3_sitelib}/*.egg-info
-
-%files -n python-cliff-doc
-%license LICENSE
-%doc doc/build/html
+%{python_sitelib}/cliff
+%{python_sitelib}/cliff-%{version}.dist-info
%changelog