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 <dmuel...@suse.com>
+
+- 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/vcs-diff-lint-action@v0.0.2
+      - 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 <j...@example.com>
 .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 <j...@example.com>
 .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 <j...@example.com>
 .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 <j...@example.com>
 .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 <j...@example.com>
 .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 <prais...@redhat.com>
 .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 <prais...@redhat.com>
 .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 <j...@example.com>
+Developer extraordinaire.
 .fi
 .nf
 Mr. Foo <m...@example.com> 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"

Reply via email to