Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-argparse-manpage for
openSUSE:Factory checked in at 2023-04-16 19:39:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-argparse-manpage (Old)
and /work/SRC/openSUSE:Factory/.python-argparse-manpage.new.19717 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-argparse-manpage"
Sun Apr 16 19:39:05 2023 rev:12 rq:1079778 version:4.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-argparse-manpage/python-argparse-manpage.changes
2022-11-08 12:52:32.642854034 +0100
+++
/work/SRC/openSUSE:Factory/.python-argparse-manpage.new.19717/python-argparse-manpage.changes
2023-04-16 19:39:06.902379434 +0200
@@ -1,0 +2,8 @@
+Sun Apr 16 17:02:00 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 4.1:
+ * A new `--include` feature, inspired by `help2man --include`.
+ * Allow overriding build date with SOURCE_DATE_EPOCH
+ environment variable in order to make builds reproducible.
+
+-------------------------------------------------------------------
Old:
----
v4.tar.gz
New:
----
v4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-argparse-manpage.spec ++++++
--- /var/tmp/diff_new_pack.QsGtad/_old 2023-04-16 19:39:07.338382029 +0200
+++ /var/tmp/diff_new_pack.QsGtad/_new 2023-04-16 19:39:07.342382053 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-argparse-manpage
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define mod_name argparse-manpage
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-argparse-manpage
-Version: 4
+Version: 4.1
Release: 0
Summary: Tool for automatic manual page building from a Python
ArgumentParser object
License: Apache-2.0
++++++ v4.tar.gz -> v4.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/argparse-manpage-4/.github/workflows/python-diff-lint.yml
new/argparse-manpage-4.1/.github/workflows/python-diff-lint.yml
--- old/argparse-manpage-4/.github/workflows/python-diff-lint.yml
2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/.github/workflows/python-diff-lint.yml
2023-04-15 21:12:23.000000000 +0200
@@ -2,15 +2,37 @@
name: Lint Python issues
on:
+ push:
pull_request:
branches: [main]
+permissions:
+ contents: read
+
jobs:
python-lint-job:
runs-on: ubuntu-latest
+
+ permissions:
+ # required for all workflows
+ security-events: write
steps:
- name: Repository checkout
uses: actions/checkout@v3
- - name: VCS Diff Lint
- uses: fedora-copr/[email protected]
+ - id: VCS_Diff_Lint
+ name: VCS Diff Lint
+ uses: fedora-copr/vcs-diff-lint-action@v1
+
+ - name: Upload artifact with detected defects in SARIF format
+ uses: actions/upload-artifact@v3
+ with:
+ name: VCS Diff Lint SARIF
+ path: ${{ steps.VCS_Diff_Lint.outputs.sarif }}
+ if: ${{ always() }}
+
+ - name: Upload SARIF to GitHub using github/codeql-action/upload-sarif
+ uses: github/codeql-action/upload-sarif@v2
+ with:
+ sarif_file: ${{ steps.VCS_Diff_Lint.outputs.sarif }}
+ if: ${{ always() }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/.github/workflows/tox.yml
new/argparse-manpage-4.1/.github/workflows/tox.yml
--- old/argparse-manpage-4/.github/workflows/tox.yml 2022-10-31
09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/.github/workflows/tox.yml 2023-04-15
21:12:23.000000000 +0200
@@ -16,7 +16,7 @@
- uses: actions/checkout@v2
- name: Run Tox tests
id: test
- uses: fedora-python/tox-github-action@master
+ uses: fedora-python/tox-github-action@main
with:
tox_env: ${{ matrix.tox_env }}
strategy:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/MANIFEST.in
new/argparse-manpage-4.1/MANIFEST.in
--- old/argparse-manpage-4/MANIFEST.in 2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/MANIFEST.in 2023-04-15 21:12:23.000000000
+0200
@@ -13,3 +13,4 @@
include examples/raw-description/bin/dg
include examples/resalloc/bin/resalloc
include examples/resalloc/bin/resalloc-maint
+include tests/extra.man
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/NEWS new/argparse-manpage-4.1/NEWS
--- old/argparse-manpage-4/NEWS 2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/NEWS 2023-04-15 21:12:23.000000000 +0200
@@ -5,6 +5,18 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+News in v4.1
+
+* A new `--include` feature, inspired by `help2man --include`.
+
+* Allow overriding build date with SOURCE_DATE_EPOCH environment variable
+ in order to make builds reproducible. See this link for more info:
+ https://reproducible-builds.org/specs/source-date-epoch/
+
+* The AUTHORS section was changed to more standard AUTHOR.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
News in v4
* The manual page generator logic is now separated from the 'build_manpages'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/README.md
new/argparse-manpage-4.1/README.md
--- old/argparse-manpage-4/README.md 2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/README.md 2023-04-15 21:12:23.000000000 +0200
@@ -114,14 +114,43 @@
for more info about existing sections
- manual_title - the title of the manual, by default "Generated Python Manual",
see man (7) man-pages for more instructions
+- include - a file of extra material to include; see below for the format
The values from setup.cfg override values from setup.py's setup().
-
Then run `setup.py build_manpages` to build a manpages for your project. Also,
if you used `get_build_py` helper, `setup.py build` then transitively builds
the
manual pages.
+## Include file format
+
+The include file format is based on GNU `help2man`'s `--include` format.
+
+The format is simple:
+
+```
+[section]
+text
+
+/pattern/
+text
+```
+
+Blocks of verbatim *roff text are inserted into the output either at
+the start of the given `section` (case insensitive), or after a
+paragraph matching `pattern`, a Python regular expression.
+
+Lines before the first section are silently ignored and may be used for
+comments and the like.
+
+Other sections are prepended to the automatically produced output for the
+standard sections given above, or included near the bottom of the man page,
+before the `AUTHOR` section, in the order they occur in the include file.
+
+Placement of the text within the section may be explicitly requested by
+using the syntax `[<section]`, `[=section]` or `[>section]` to place the
+additional text before, in place of, or after the default output
+respectively.
## Installation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/argparse_manpage/__init__.py
new/argparse-manpage-4.1/argparse_manpage/__init__.py
--- old/argparse-manpage-4/argparse_manpage/__init__.py 2022-10-31
09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/argparse_manpage/__init__.py 2023-04-15
21:12:23.000000000 +0200
@@ -2,4 +2,4 @@
argparse_manpage project
"""
-__version__ = '4'
+__version__ = '4.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/argparse_manpage/cli.py
new/argparse-manpage-4.1/argparse_manpage/cli.py
--- old/argparse-manpage-4/argparse_manpage/cli.py 2022-10-31
09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/argparse_manpage/cli.py 2023-04-15
21:12:23.000000000 +0200
@@ -66,6 +66,8 @@
ap.add_argument("--manual-title", help=(
"The title of the manual, by default \"Generated Python Manual\". "
"See man (7) man-pages for more instructions."))
+ap.add_argument("--include", metavar="FILE", help=(
+ "File that contains extra material for the man page."))
def args_to_manpage_data(args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/argparse_manpage/manpage.py
new/argparse-manpage-4.1/argparse_manpage/manpage.py
--- old/argparse-manpage-4/argparse_manpage/manpage.py 2022-10-31
09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/argparse_manpage/manpage.py 2023-04-15
21:12:23.000000000 +0200
@@ -1,6 +1,9 @@
from argparse import SUPPRESS, HelpFormatter, _SubParsersAction, _HelpAction
from collections import OrderedDict
import datetime
+import os
+import time
+import re
DEFAULT_GROUP_NAMES = {
@@ -39,6 +42,17 @@
"format",
"manual_section",
"manual_title",
+ "include",
+)
+
+# manpage sections that are handled specially, so need special treatment
+# when --include'ing extra material; see Manpage.add_section.
+SPECIAL_MANPAGE_SECTIONS = (
+ "author",
+ "comments",
+ "description",
+ "distribution",
+ "synopsis",
)
@@ -94,7 +108,7 @@
needs_separator = False
if authors:
- ret.append('.SH AUTHORS')
+ ret.append('.SH AUTHOR')
for author in authors:
ret.append(".nf")
ret.append(author)
@@ -137,6 +151,7 @@
self.parser = parser
self.format = format
self._data = _data or {}
+ self._match_texts = []
if not getattr(parser, '_manpage', None):
self.parser._manpage = []
@@ -146,7 +161,10 @@
self.date = self._data.get("date")
if not self.date:
- self.date = datetime.datetime.now().strftime('%Y-%m-%d')
+ builddate = datetime.datetime.utcfromtimestamp(
+ int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
+ )
+ self.date = builddate.strftime('%Y-%m-%d')
self.source = self._data.get("project_name")
if not self.source:
@@ -166,6 +184,10 @@
self.description = self._data.get("description")
+ include = self._data.get("include")
+ if include is not None:
+ self.parse_include(include)
+
def format_text(self, text):
# Wrap by parser formatter and convert to manpage format
return
self.mf.format_text(self.formatter._format_text(text)).strip('\n')
@@ -200,26 +222,114 @@
lines.append(_markup(line))
# Synopsis
- if self.synopsis:
+ synopsis_section = self.get_extra_section("synopsis")
+ if self.synopsis or synopsis_section:
lines.append('.SH SYNOPSIS')
- lines.append('.B {}'.format(_markup(self.synopsis[0])))
- lines.append(' '.join(self.synopsis[1:]))
+ if synopsis_section:
+ lines.append(synopsis_section.content)
+ else:
+ lines.append('.B {}'.format(_markup(self.synopsis[0])))
+ lines.append(' '.join(self.synopsis[1:]))
- lines.extend(self.mf.format_parser(self.parser))
+ extra_description = None
+ description_section = self.get_extra_section("description")
+ if description_section:
+ extra_description = description_section.content
+ lines.extend(self.mf.format_parser(self.parser,
extra_description=extra_description))
- if self.parser.epilog != None:
+ comments_section = self.get_extra_section("comments")
+ if self.parser.epilog or comments_section:
lines.append("")
lines.append('.SH COMMENTS')
- lines.append(self.format_text(self.parser.epilog))
+ if comments_section:
+ lines.append(comments_section.content)
+ else:
+ lines.append(self.format_text(self.parser.epilog))
- # Additional Section
- for section in self.parser._manpage:
- lines.append('.SH {}'.format(section['heading'].upper()))
- lines.append(self.format_text(section['content']))
+ # Additional sections
+ for section in self.parser._manpage: # pylint: disable=protected-access
+ if section["heading"] not in SPECIAL_MANPAGE_SECTIONS:
+ lines.append('.SH {}'.format(section['heading'].upper()))
+ lines.append(section['content'])
lines.append("")
lines.extend(self.mf.format_footer(self._data))
- return "\n".join(lines).strip("\n") + "\n"
+
+ # Finally add --include sections that match text in the page
+ final_lines = []
+ for line in lines:
+ final_lines.append(line)
+ for match in self._match_texts:
+ if re.search(match['match_text'], line):
+ final_lines.append(match['content'])
+
+ return "\n".join(final_lines).strip("\n") + "\n"
+
+ def get_extra_section(self, heading):
+ """
+ Return supplementary section for the `Manpage` (created with
+ `--include`), or `None`
+ """
+ for section in self.parser._manpage: # pylint: disable=protected-access
+ if section["heading"] == heading:
+ return section
+ return None
+
+ def add_section(self, heading, position, content):
+ """
+ Add a supplementary section to a `Manpage`
+ """
+ # Sections that need special treatment
+ heading = heading.lower()
+ if heading in ("author", "distribution"):
+ if heading == "author":
+ self._data['authors'] = [content]
+ elif heading == "distribution":
+ self._data['url'] = content
+ section = self.get_extra_section(heading)
+ if section is None:
+ section = {"heading": heading, "content": ""}
+ self.parser._manpage.append(section) # pylint:
disable=protected-access
+ if position == '<':
+ section["content"] = content + section["content"]
+ elif position == '=':
+ section["content"] = content
+ elif position == '>':
+ section["content"] += content
+ else:
+ raise ValueError("invalid position " + position)
+
+ def parse_include(self, file):
+ """
+ Parse include file and add its contents to the man page
+ """
+ def get_section(lines, n):
+ for i, line in enumerate(lines[n:]):
+ if re.match(r'[\[/]', line):
+ return n + i, lines[n:n + i]
+ return len(lines), lines[n:]
+
+ with open(file) as f:
+ lines = f.readlines()
+ i = 0
+ while i < len(lines):
+ # Parse a header line
+ m = re.match(r"/([^/]+)/$", lines[i])
+ if m:
+ match_text = m.group(1)
+ i, section_lines = get_section(lines, i + 1)
+ self._match_texts.append({"match_text": match_text,
"content": "".join(section_lines).strip()})
+ else:
+ m = re.match(r"\[([<=>])?([^\]]+)\]$", lines[i])
+ if m:
+ position = m.group(1) or '<'
+ heading = m.group(2).upper()
+ if heading == "NAME":
+ raise ValueError("Invalid include section " +
heading)
+ i, section_lines = get_section(lines, i + 1)
+ self.add_section(heading, position,
"".join(section_lines).strip())
+ else:
+ raise ValueError("Invalid or missing section header in
include file %s:\n%s" % (file, lines[i]))
def underline(text):
@@ -275,7 +385,7 @@
underline(args_string)))
return ', '.join(parts)
- def _format_parser(self, parser, subcommand=None, aliases=None, help=None):
+ def _format_parser(self, parser, subcommand=None, aliases=None, help=None,
extra_description=None):
# The parser "tree" looks like
# ----------------------------
# Parser -> [ActionGroup, ActionGroup, ..]
@@ -308,13 +418,16 @@
lines.append(self.format_text(parser.format_usage()))
- if parser.description:
+ if parser.description or extra_description:
if subcommand:
lines.append("")
else:
lines.append(".SH DESCRIPTION")
- lines.append(self.format_text(parser.description))
+ if extra_description:
+ lines.append(extra_description)
+ if parser.description:
+ lines.append(self.format_text(parser.description))
is_subsequent_ag = True
for group in parser._action_groups:
@@ -328,11 +441,11 @@
return lines
- def format_parser(self, parser):
+ def format_parser(self, parser, extra_description=None):
"""
Return lines Groff formatted text for given parser
"""
- return self._format_parser(parser)
+ return self._format_parser(parser, extra_description=extra_description)
def _format_action(self, action):
parts = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/build_manpages/build_manpage.py
new/argparse-manpage-4.1/build_manpages/build_manpage.py
--- old/argparse-manpage-4/build_manpages/build_manpage.py 2022-10-31
09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/build_manpages/build_manpage.py 2023-04-15
21:12:23.000000000 +0200
@@ -5,6 +5,8 @@
import datetime
import optparse
import argparse
+import os
+import time
import warnings
from distutils.core import Command
@@ -34,7 +36,9 @@
def __init__(self, parser, values):
self._parser = parser
self.values = values
- self._today = datetime.date.today()
+ self._today = datetime.datetime.utcfromtimestamp(
+ int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
+ )
if isinstance(parser, argparse.ArgumentParser):
self._type = 'argparse'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/argparse-manpage-4/examples/argument_groups/expected/test.1
new/argparse-manpage-4.1/examples/argument_groups/expected/test.1
--- old/argparse-manpage-4/examples/argument_groups/expected/test.1
2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/argument_groups/expected/test.1
2023-04-15 21:12:23.000000000 +0200
@@ -1,4 +1,4 @@
-.TH TEST "2" "2022\-10\-26" "example 0.1.0" "Test Manual"
+.TH TEST "2" "2023\-04\-09" "example 0.1.0" "Test Manual"
.SH NAME
test \- templating system/generator for distributions
.SH SYNOPSIS
@@ -69,7 +69,7 @@
.TP
\fB\-\-doh\fR \fI\,DOH\/\fR
-.SH AUTHORS
+.SH AUTHOR
.nf
John Doe <[email protected]>
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/examples/copr/expected-output.1
new/argparse-manpage-4.1/examples/copr/expected-output.1
--- old/argparse-manpage-4/examples/copr/expected-output.1 2022-10-31
09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/copr/expected-output.1 2023-04-15
21:12:23.000000000 +0200
@@ -1,4 +1,4 @@
-.TH COPR "1" "2022\-10\-26" "example setup\-py\-overriden" "Generated Python
Manual"
+.TH COPR "1" "2023\-04\-09" "example setup\-py\-overriden" "Generated Python
Manual"
.SH NAME
copr
.SH SYNOPSIS
@@ -998,7 +998,7 @@
.SH COMMENTS
dummy text
-.SH AUTHORS
+.SH AUTHOR
.nf
John Doe <[email protected]>
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/argparse-manpage-4/examples/old_format/expected-output.1
new/argparse-manpage-4.1/examples/old_format/expected-output.1
--- old/argparse-manpage-4/examples/old_format/expected-output.1
2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/old_format/expected-output.1
2023-04-15 21:12:23.000000000 +0200
@@ -16,7 +16,7 @@
.TP
.B \-q, \-\-quiet
don't print status messages to stdout
-.SH AUTHORS
+.SH AUTHOR
.nf
John Doe <[email protected]>
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/argparse-manpage-4/examples/old_format_file_name/expected-output.1
new/argparse-manpage-4.1/examples/old_format_file_name/expected-output.1
--- old/argparse-manpage-4/examples/old_format_file_name/expected-output.1
2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/old_format_file_name/expected-output.1
2023-04-15 21:12:23.000000000 +0200
@@ -16,7 +16,7 @@
.TP
.B \-q, \-\-quiet
don't print status messages to stdout
-.SH AUTHORS
+.SH AUTHOR
.nf
John Doe <[email protected]>
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/examples/osc/expected-output.1
new/argparse-manpage-4.1/examples/osc/expected-output.1
--- old/argparse-manpage-4/examples/osc/expected-output.1 2022-10-31
09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/osc/expected-output.1 2023-04-15
21:12:23.000000000 +0200
@@ -1,4 +1,4 @@
-.TH OSC "1" "2022\-10\-26" "osc 1.0" "Generated Python Manual"
+.TH OSC "1" "2023\-04\-09" "osc 1.0" "Generated Python Manual"
.SH NAME
osc \- openSUSE commander command\-line
.SH SYNOPSIS
@@ -91,7 +91,7 @@
.RE
-.SH AUTHORS
+.SH AUTHOR
.nf
Contributors to the osc project. See the project's GIT history for the
complete list.
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/argparse-manpage-4/examples/raw-description/expected-output.1
new/argparse-manpage-4.1/examples/raw-description/expected-output.1
--- old/argparse-manpage-4/examples/raw-description/expected-output.1
2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/raw-description/expected-output.1
2023-04-15 21:12:23.000000000 +0200
@@ -1,4 +1,4 @@
-.TH DG "1" "2022\-10\-26" "example 0.1.0" "Generated Python Manual"
+.TH DG "1" "2023\-04\-09" "example 0.1.0" "Generated Python Manual"
.SH NAME
dg \- templating system/generator for distributions
.SH SYNOPSIS
@@ -65,7 +65,7 @@
\fB\-\-multispec\-combinations\fR
Print available multispec combinations
-.SH AUTHORS
+.SH AUTHOR
.nf
John Doe <[email protected]>
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/argparse-manpage-4/examples/resalloc/expected/man/resalloc-maint.1
new/argparse-manpage-4.1/examples/resalloc/expected/man/resalloc-maint.1
--- old/argparse-manpage-4/examples/resalloc/expected/man/resalloc-maint.1
2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/resalloc/expected/man/resalloc-maint.1
2023-04-15 21:12:23.000000000 +0200
@@ -1,4 +1,4 @@
-.TH RESALLOC\-MAINT "1" "2022\-10\-26" "resalloc 0" "Generated Python Manual"
+.TH RESALLOC\-MAINT "1" "2023\-04\-09" "resalloc 0" "Generated Python Manual"
.SH NAME
resalloc\-maint
.SH SYNOPSIS
@@ -40,7 +40,7 @@
.SH COMMAND \fI\,'resalloc\-maint ticket\-list'\/\fR
usage: resalloc\-maint ticket\-list [\-h]
-.SH AUTHORS
+.SH AUTHOR
.nf
Pavel Raiskup <[email protected]>
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/argparse-manpage-4/examples/resalloc/expected/man/resalloc.1
new/argparse-manpage-4.1/examples/resalloc/expected/man/resalloc.1
--- old/argparse-manpage-4/examples/resalloc/expected/man/resalloc.1
2022-10-31 09:31:52.000000000 +0100
+++ new/argparse-manpage-4.1/examples/resalloc/expected/man/resalloc.1
2023-04-15 21:12:23.000000000 +0200
@@ -1,4 +1,4 @@
-.TH RESALLOC "1" "2022\-10\-26" "resalloc 0" "Generated Python Manual"
+.TH RESALLOC "1" "2023\-04\-09" "resalloc 0" "Generated Python Manual"
.SH NAME
resalloc
.SH SYNOPSIS
@@ -57,7 +57,7 @@
\fBticket\fR
ID of ticket to be closed
-.SH AUTHORS
+.SH AUTHOR
.nf
Pavel Raiskup <[email protected]>
.fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/tests/extra.man
new/argparse-manpage-4.1/tests/extra.man
--- old/argparse-manpage-4/tests/extra.man 1970-01-01 01:00:00.000000000
+0100
+++ new/argparse-manpage-4.1/tests/extra.man 2023-04-15 21:12:23.000000000
+0200
@@ -0,0 +1,5 @@
+[EXTRA SECTION]
+This is an extra section.
+
+/John Doe/
+Developer extraordinaire.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/argparse-manpage-4/tests/test_script.py
new/argparse-manpage-4.1/tests/test_script.py
--- old/argparse-manpage-4/tests/test_script.py 2022-10-31 09:31:52.000000000
+0100
+++ new/argparse-manpage-4.1/tests/test_script.py 2023-04-15
21:12:23.000000000 +0200
@@ -8,6 +8,7 @@
import sys
import subprocess
import tempfile
+import time
SIMPLE_FILE_CONTENTS = """
import argparse
@@ -44,17 +45,22 @@
.TP
\\fBtest\\fR
+.SH EXTRA SECTION
+This is an extra section.
-.SH AUTHORS
+.SH AUTHOR
.nf
John Doe <[email protected]>
+Developer extraordinaire.
.fi
.nf
Mr. Foo <[email protected]> and friends
.fi
"""
-DATE = datetime.datetime.now().strftime("%Y\\-%m\\-%d")
+DATE = datetime.datetime.utcfromtimestamp(
+ int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
+ ).strftime("%Y\\-%m\\-%d")
class TestsArgparseManpageScript:
def setup_method(self, _):
@@ -131,6 +137,7 @@
"--project-name", "Proj-On-Cmdline",
"--description", "some description",
"--long-description", "Some long description.", # unused
+ "--include", "tests/extra.man",
]
output = subprocess.check_output(cmd).decode("utf-8")
name="progname"