python-argparse-manpage/python-argparse-manpage.spec

82 lines
2.7 KiB
RPMSpec
Raw Normal View History

#
# spec file for package python-argparse-manpage
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define mod_name argparse-manpage
Name: python-argparse-manpage
Version: 4.6
Release: 0
Summary: Tool for automatic manual page building from a Python ArgumentParser object
License: Apache-2.0
URL: https://github.com/praiskup/argparse-manpage
Source: https://github.com/praiskup/argparse-manpage/archive/v%{version}.tar.gz
# PATCH-FIX-OPENSUSE Skip pip install tests until pip can behave better
Patch0: skip-pip-install.patch
Accepting request 992761 from home:dmach:branches:openSUSE:Factory - Update to 3 * New man page format: single-commands-section * Add CLI and conf options for setting the output format * Add CLI and conf options to explicitly specify %prog value * Skip showing commands with help == SUPPRESS * Avoid rendering docs for command aliases * Print program name in upper case in header and footer * The --author CLI option has changed, and takes arbitrary string (typically 'Author Name <the@example.com>'), and newly can be specified multiple times. Therefore, it now replaces the '--author-email' option. The --author-email option is kept, but is just an alias to the --author option. * All CLI options can be specified also in setup.cfg * Don't render AUTHORS and DISTRIBUTION if they would contain undefined values * Remove '... was written by' from AUTHORS * Fixed the testsuite against the setuptools v60+ * Output manual pages should be built reproducibly, no matter the current size of the terminal. * Methods build_manpages, get_build_py_cmd, get_install_cmd are now provided in top-level module. * More portable opening and parsing given by python file name. * Split out options by generic argument groups, not only predefined "positional arguments", "options", and Subparsers. * Drop python3-six requirement. * Properly highligh all option argument METAVARs. - spec changes: * BuildArch set to noarch * Add build dependency on pip module OBS-URL: https://build.opensuse.org/request/show/992761 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-argparse-manpage?expand=0&rev=20
2022-08-04 22:58:04 +02:00
BuildArch: noarch
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
BuildRequires: ca-certificates
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-setuptools
Requires: python-tomli
Requires(post): update-alternatives
Requires(postun): update-alternatives
%python_subpackages
%description
This utility generates a manual page in an automatic way from an
ArgumentParser object, so the manpage 1:1 corresponds to the
automatically generated --help output. The manpage generator needs to
known the location of the object, user can specify that by (a) the
module name or corresponding python filename and (b) the object name
or the function name which returns the object. There's a limited
support for (deprecated) optparse objects, too.
%prep
%autosetup -p1 -n %{mod_name}-%{version}
%build
%python_build
%install
%python_install
%python_clone -a %{buildroot}%{_bindir}/argparse-manpage
%python_clone -a %{buildroot}%{_mandir}/man1/argparse-manpage.1
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
%pytest
%post
%{python_install_alternative argparse-manpage argparse-manpage.1}
%postun
%python_uninstall_alternative argparse-manpage
%files %{python_files}
%doc README*
%license LICENSE
%{python_sitelib}/argparse_manpage
%{python_sitelib}/build_manpages
%{python_sitelib}/argparse_manpage-%{version}*info
%python_alternative %{_bindir}/argparse-manpage
%python_alternative %{_mandir}/man1/argparse-manpage.1%{?ext_man}
%changelog