Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package subnetcalc for openSUSE:Factory 
checked in at 2021-11-22 23:04:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/subnetcalc (Old)
 and      /work/SRC/openSUSE:Factory/.subnetcalc.new.1895 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "subnetcalc"

Mon Nov 22 23:04:40 2021 rev:6 rq:933158 version:2.4.19

Changes:
--------
--- /work/SRC/openSUSE:Factory/subnetcalc/subnetcalc.changes    2021-11-10 
21:46:58.627825283 +0100
+++ /work/SRC/openSUSE:Factory/.subnetcalc.new.1895/subnetcalc.changes  
2021-11-22 23:05:37.201642925 +0100
@@ -1,0 +2,8 @@
+Mon Nov 15 19:21:35 UTC 2021 - Sebastian Wagner <sebix+novell....@sebix.at>
+
+- Dependency update.
+ - Version update.
+ - Updated build scripts
+ - Updated LSM entry.
+
+-------------------------------------------------------------------

Old:
----
  subnetcalc-2.4.18.tar.xz

New:
----
  subnetcalc-2.4.19.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ subnetcalc.spec ++++++
--- /var/tmp/diff_new_pack.CmIYmL/_old  2021-11-22 23:05:37.645641435 +0100
+++ /var/tmp/diff_new_pack.CmIYmL/_new  2021-11-22 23:05:37.649641422 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           subnetcalc
-Version:        2.4.18
+Version:        2.4.19
 Release:        0
 Summary:        IPv4/IPv6 Subnet Calculator
 License:        GPL-3.0-or-later

++++++ subnetcalc-2.4.18.tar.xz -> subnetcalc-2.4.19.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/CMakeLists.txt 
new/subnetcalc-2.4.19/CMakeLists.txt
--- old/subnetcalc-2.4.18/CMakeLists.txt        2021-03-06 23:40:21.000000000 
+0100
+++ new/subnetcalc-2.4.19/CMakeLists.txt        2021-11-08 20:10:38.000000000 
+0100
@@ -3,7 +3,7 @@
 
 SET(BUILD_MAJOR "2")
 SET(BUILD_MINOR "4")
-SET(BUILD_PATCH "18")
+SET(BUILD_PATCH "19")
 SET(BUILD_VERSION ${BUILD_MAJOR}.${BUILD_MINOR}.${BUILD_PATCH})
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ChangeLog 
new/subnetcalc-2.4.19/ChangeLog
--- old/subnetcalc-2.4.18/ChangeLog     2021-03-06 23:40:22.000000000 +0100
+++ new/subnetcalc-2.4.19/ChangeLog     2021-11-08 20:10:39.000000000 +0100
@@ -1,3 +1,69 @@
+commit 22a51e2a0df6371e3079e0e30352914e37165b07
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Sun Nov 7 19:52:14 2021 +0100
+
+    Dependency update.
+
+commit 01817325425686aa4ab26b1d58cb4c9cdcefe567
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Sun Nov 7 19:00:41 2021 +0100
+
+    Updated build scripts
+
+commit b32f71272349630aefd367736d9eb94fa9eaace3
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Sat Nov 6 20:49:33 2021 +0100
+
+    Updated build scripts
+
+commit f88060bfc1bf2ff635829d65e2f414dc1ed70127
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Sat Nov 6 20:16:02 2021 +0100
+
+    Version update.
+
+commit 3ce7f9516526b4981e003bf76953849644089d4a
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Sat Nov 6 20:13:03 2021 +0100
+
+    Updated build scripts
+
+commit fe6fb2e9bc8855bde524835bf49ea0fbdaaf917f
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Wed Nov 3 18:22:50 2021 +0100
+
+    Updated build scripts
+
+commit f77bbc9f9169fcc0ffd89360bae2bd19ee6da9c6
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Wed Nov 3 18:22:49 2021 +0100
+
+    Updated build scripts
+
+commit b3a70f011a97c218dde0e488c946d260daa3e1df
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Tue Oct 19 16:06:20 2021 +0200
+
+    Updated build scripts
+
+commit 9df1c2c341493021cdaa9123fd94b5ee5e8670d0
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Mon May 3 21:23:25 2021 +0200
+
+    Updated build scripts
+
+commit 7cc35e38d20da4bc74276d57e075c48dbb60506b
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Sun Mar 7 00:00:41 2021 +0100
+
+    Updated LSM entry.
+
+commit 4c6b0dbc80370f9ed2b9a74c097d1910a1207b20
+Author: Thomas Dreibholz <dre...@simula.no>
+Date:   Sat Mar 6 23:40:23 2021 +0100
+
+    New release subnetcalc-2.4.18.
+
 commit b741c839e85312fa84b8c766930272cac432fd13
 Author: Thomas Dreibholz <dre...@simula.no>
 Date:   Fri Mar 5 18:52:37 2021 +0100
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/build-rpm 
new/subnetcalc-2.4.19/build-rpm
--- old/subnetcalc-2.4.18/build-rpm     2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/build-rpm     2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Packaging Scripts
-# Copyright (C) 2017-2021 by Thomas Dreibholz
+# Copyright (C) 2017-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/before-install 
new/subnetcalc-2.4.19/ci/before-install
--- old/subnetcalc-2.4.18/ci/before-install     2021-03-05 16:01:45.000000000 
+0100
+++ new/subnetcalc-2.4.19/ci/before-install     2021-11-07 19:00:41.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/build 
new/subnetcalc-2.4.19/ci/build
--- old/subnetcalc-2.4.18/ci/build      2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/ci/build      2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/enter 
new/subnetcalc-2.4.19/ci/enter
--- old/subnetcalc-2.4.18/ci/enter      2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/ci/enter      2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/get-container 
new/subnetcalc-2.4.19/ci/get-container
--- old/subnetcalc-2.4.18/ci/get-container      2021-03-05 16:01:45.000000000 
+0100
+++ new/subnetcalc-2.4.19/ci/get-container      2021-11-07 19:00:41.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/get-dependencies 
new/subnetcalc-2.4.19/ci/get-dependencies
--- old/subnetcalc-2.4.18/ci/get-dependencies   2021-03-05 16:01:45.000000000 
+0100
+++ new/subnetcalc-2.4.19/ci/get-dependencies   2021-11-07 19:00:41.000000000 
+0100
@@ -2,7 +2,7 @@
 # -*- coding: utf-8 -*-
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/install 
new/subnetcalc-2.4.19/ci/install
--- old/subnetcalc-2.4.18/ci/install    2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/ci/install    2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/monitor 
new/subnetcalc-2.4.19/ci/monitor
--- old/subnetcalc-2.4.18/ci/monitor    2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/ci/monitor    2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/retry 
new/subnetcalc-2.4.19/ci/retry
--- old/subnetcalc-2.4.18/ci/retry      2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/ci/retry      2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/run-test 
new/subnetcalc-2.4.19/ci/run-test
--- old/subnetcalc-2.4.18/ci/run-test   2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/ci/run-test   2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/ci/test 
new/subnetcalc-2.4.19/ci/test
--- old/subnetcalc-2.4.18/ci/test       2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/ci/test       2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Travis CI Scripts
-# Copyright (C) 2018-2021 by Thomas Dreibholz
+# Copyright (C) 2018-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/debian/changelog 
new/subnetcalc-2.4.19/debian/changelog
--- old/subnetcalc-2.4.18/debian/changelog      2021-03-06 23:40:21.000000000 
+0100
+++ new/subnetcalc-2.4.19/debian/changelog      2021-11-08 20:10:38.000000000 
+0100
@@ -1,3 +1,11 @@
+subnetcalc (2.4.19-1ubuntu1) jammy; urgency=medium
+
+  * New upstream release.
+  * debian/control: Updated standards version to 4.6.0.1.
+  * debian/control: Dependency update (Closes: #737575).
+
+ -- Thomas Dreibholz <dre...@iem.uni-due.de>  Mon, 08 Nov 2021 20:10:38 +0100
+
 subnetcalc (2.4.18-1ubuntu1) hirsute; urgency=medium
 
   * New upstream release.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/debian/control 
new/subnetcalc-2.4.19/debian/control
--- old/subnetcalc-2.4.18/debian/control        2021-03-06 23:40:21.000000000 
+0100
+++ new/subnetcalc-2.4.19/debian/control        2021-11-07 19:34:47.000000000 
+0100
@@ -8,7 +8,7 @@
                libfile-fcntllock-perl,
                libgeoip-dev,
                pkg-config
-Standards-Version: 4.5.1.0
+Standards-Version: 4.6.0.1
 Rules-Requires-Root: no
 Vcs-Git: https://github.com/dreibh/subnetcalc.git
 Vcs-Browser: https://github.com/dreibh/subnetcalc
@@ -17,10 +17,10 @@
 Architecture: any
 Depends: ${misc:Depends},
          ${shlibs:Depends}
-Recommends: iputils-ping,
-            iputils-tracepath,
+Recommends: iputils-tracepath,
+            ping | iputils-ping,
             rsplib-tools,
-            traceroute,
+            traceroute | inetutils-traceroute,
             whois
 Description: IPv4/IPv6 Subnet Calculator
  SubNetCalc is an IPv4/IPv6 subnet address calculator. For given IPv4 or
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/fetch-debian-changelog 
new/subnetcalc-2.4.19/fetch-debian-changelog
--- old/subnetcalc-2.4.18/fetch-debian-changelog        1970-01-01 
01:00:00.000000000 +0100
+++ new/subnetcalc-2.4.19/fetch-debian-changelog        2021-11-07 
19:00:41.000000000 +0100
@@ -0,0 +1,130 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Packaging Scripts
+# Copyright (C) 2021-2022 by Thomas Dreibholz
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Contact: dre...@simula.no
+#
+
+import glob
+import os
+import re
+import shutil
+import subprocess
+import sys
+import tempfile
+import time
+import urllib.error
+import urllib.request
+
+
+#  ====== Handle arguments ==================================================
+if len(sys.argv) < 2:
+  sys.stderr.write('Usage: ' + sys.argv[0] + ' package [distribution]\n')
+  sys.exit(1)
+
+debianPackage       = sys.argv[1]
+if len(sys.argv) == 2:
+   debianDistribution  = 'unstable'
+else:
+   debianDistribution  = sys.argv[2]
+if debianDistribution in [ 'unstable', 'testing', 'stable', 'oldstable' ]:
+   # Debian
+   statusPageURL = 'https://packages.debian.org/source/' + debianDistribution 
+ '/' + debianPackage
+else:
+   # Ubuntu
+   statusPageURL = 'https://packages.ubuntu.com/source/' + debianDistribution 
+ '/' + debianPackage
+
+debianVersion       = None
+debianLocation      = None
+debianArchive       = None
+debianArchiveFormat = None
+
+
+# ====== Get package status =================================================
+statusPageContents = None
+sys.stderr.write('Looking for package status on ' + statusPageURL + ' ... ')
+sys.stderr.flush()
+try:
+   statusPage = urllib.request.urlopen(statusPageURL)
+   statusPageContents = statusPage.readlines()
+   statusPage.close()
+
+   re_debian_package = re.compile(r'.*Source Package: ' + debianPackage + ' 
\(([0-9-+~\.a-z]+)\)')
+   re_debian_archive = 
re.compile(r'.*href="((http|https)://[a-zA-Z0-9\./+-]+/' + \
+                                     debianPackage[0:1] + '/' + \
+                                     debianPackage + '/' + \
+                                     r')(' + debianPackage + 
r'_[0-9-+~\.a-z]+\.debian\.tar\.[a-zA-Z]+)"')
+   for line in statusPageContents:
+      line = line.decode('utf-8')
+      match = re_debian_package.match(line)
+      if match != None:
+         debianVersion = match.group(1)
+      else:
+         match = re_debian_archive.match(line)
+         if match != None:
+            debianLocation = match.group(1)
+            debianArchive  = match.group(3)
+
+except urllib.error.HTTPError as e:
+   sys.stderr.write('not found (HTTP ' + str(e.code) + ')!\n')
+   sys.exit(1)
+
+if (debianVersion == None) or (debianArchive == None):
+   sys.stderr.write('not found!\n')
+   sys.exit(1)
+
+sys.stderr.write('Version in ' + debianDistribution + ' is ' + debianVersion + 
'\n')
+
+
+# ====== Determine necessary compression option =============================
+debianArchiveFormat = debianArchive[len(debianArchive) - 2 : 
len(debianArchive)]
+tarCompressionOption = ''
+if debianArchiveFormat == 'gz':
+   tarCompressionOption = 'z'
+elif debianArchiveFormat == 'bz2':
+   tarCompressionOption = 'j'
+elif debianArchiveFormat == 'xz':
+   tarCompressionOption = 'J'
+
+
+# ====== Fetch debian archive ===============================================
+archiveFileURL =  debianLocation + debianArchive
+sys.stderr.write('Looking for \"debian\" archive at ' + archiveFileURL + ' ... 
')
+sys.stderr.flush()
+try:
+   archiveFile = urllib.request.urlopen(archiveFileURL)
+   debianArchiveFile = tempfile.NamedTemporaryFile(delete=False)
+   shutil.copyfileobj(archiveFile, debianArchiveFile)
+   debianArchiveFile.close()
+   archiveFile.close()
+   sys.stderr.write('found!\n')
+
+   try:
+
+      process = subprocess.run([ 'tar', 'x' + tarCompressionOption + 'fO', 
debianArchiveFile.name, 'debian/changelog'],
+                              stderr=subprocess.PIPE, check=True, 
universal_newlines=True)
+
+      os.unlink(debianArchiveFile.name)
+
+   except Exception as e:
+      sys.stderr.write('ERROR: Failed to extract debian/changelog from ' + 
debianArchiveFile.name + ': ' + str(e) + '\n')
+      sys.exit(1)
+
+except urllib.error.HTTPError as e:
+   sys.stderr.write('not found (HTTP ' + str(e.code) + ')!\n')
+   sys.exit(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/filter-debian-changelog 
new/subnetcalc-2.4.19/filter-debian-changelog
--- old/subnetcalc-2.4.18/filter-debian-changelog       1970-01-01 
01:00:00.000000000 +0100
+++ new/subnetcalc-2.4.19/filter-debian-changelog       2021-11-07 
19:00:41.000000000 +0100
@@ -0,0 +1,112 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Debian/Ubuntu Packaging Scripts
+# Copyright (C) 2002-2022 by Thomas Dreibholz
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Contact: dre...@iem.uni-due.de
+
+
+# This script filters debian/changelog entries:
+# Usage: filter-debian-changelog [regexp_for_last_entry|FIRST]
+# * Empty entries get dropped.
+# * Stop, if entry matches regexp_for_last_entry argument.
+# * Stop after first entry, if regexp_for_last_entry = FIRST.
+# Example: filter-debian-changelog "Mon, 31 Oct 2016 08:08:08 \+0200"
+#          Note the \+, otherwise '+' is interpreted as regexp!
+
+
+import glob
+import os
+import re
+import sys
+import time
+
+
+#  ====== Handle arguments ==================================================
+if len(sys.argv) < 2:
+  sys.stderr.write('Usage: ' + sys.argv[0] + ' regexp_for_last_entry|FIRST\n')
+  sys.exit(1)
+
+if sys.argv[1] == '':
+   re_last_entry = None
+elif sys.argv[1] == 'FIRST':
+   re_last_entry = re.compile(r'^.*$')
+else:
+   re_last_entry = re.compile(r'^.*' + sys.argv[1])
+
+re_begin_of_entry = re.compile(r'^[a-zA-Z].*$')
+re_end_of_entry   = re.compile(r'^ --.*$')
+re_empty          = re.compile(r'^$')
+re_item           = re.compile(r'^ *')
+re_item_is_itp    = re.compile(r'^(.*Closes:.*ITP.*|.*ITP.*Closes:.*)$')
+
+entries           = 0
+entryContentLines = 0
+entryContent      = ''
+entryIsITP        = False
+
+contents = sys.stdin.readlines()
+for line in contents:
+
+   # ====== Begin of entry ==================================================
+   if entryContentLines == 0:
+      if re_begin_of_entry.match(line):
+         entryContent      = line
+         entryContentLines = 1
+
+   # ====== Within entry ====================================================
+   else:
+      # ------ End of entry -------------------------------------------------
+      if re_end_of_entry.match(line):
+         entryContent   = entryContent + line + '\n'
+         if entryContentLines > 1:
+            entries = entries + 1
+
+            # ------ Print entry --------------------------------------------
+            if not entryIsITP:
+               sys.stdout.write(entryContent)
+            # ------ Print entry with ITP -----------------------------------
+            # Special case: The ITP package for Debian must only contain the
+            #               ITP entry with ITP item and nothing else!
+            else:
+               splittedITPEntry = entryContent.splitlines()
+               i = 0
+               for itpLine in splittedITPEntry:
+                  i = i + 1
+                  if (i <= 2) or (i >= len(splittedITPEntry) - 2):
+                     sys.stdout.write(itpLine + '\n')
+                  elif re_item_is_itp.match(itpLine) != None:
+                     sys.stdout.write(itpLine + '\n')
+               break   # ITP -> done!
+
+            entryContent   = ''
+            entryIsITP = False
+
+         # ------ Check for match with last entry regexp in argument --------
+         if re_last_entry != None:
+            if re_last_entry.match(line) != None:
+               break
+
+         entryContentLines = 0
+
+      # ------ Part of entry ------------------------------------------------
+      else:
+         if re_item.match(line):
+            entryContent      = entryContent + line
+            entryContentLines = entryContentLines + 1
+            if re_item_is_itp.match(line):
+               entryIsITP = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/make-srpm 
new/subnetcalc-2.4.19/make-srpm
--- old/subnetcalc-2.4.18/make-srpm     2021-03-05 16:01:45.000000000 +0100
+++ new/subnetcalc-2.4.19/make-srpm     2021-11-07 19:00:41.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Packaging Scripts
-# Copyright (C) 2017-2021 by Thomas Dreibholz
+# Copyright (C) 2017-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/make-upstream-package 
new/subnetcalc-2.4.19/make-upstream-package
--- old/subnetcalc-2.4.18/make-upstream-package 2021-03-05 16:01:45.000000000 
+0100
+++ new/subnetcalc-2.4.19/make-upstream-package 2021-11-07 19:00:41.000000000 
+0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env bash
 #
 # Packaging Scripts
-# Copyright (C) 2017-2021 by Thomas Dreibholz
+# Copyright (C) 2017-2022 by Thomas Dreibholz
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -54,7 +54,7 @@
 echo -e "\x1b[34m`date +%FT%H:%M:%S`: ====== Creating upstream package 
======================================\x1b[0m"
 echo -e ""
 for UPSTREAM_PACKAGE_TYPE in xz bz2 gz ; do
-   echo -n "Looking for ${PACKAGE}-*.tar.${UPSTREAM_PACKAGE_TYPE} ... "
+   printf "Looking for ${PACKAGE}-*.tar.${UPSTREAM_PACKAGE_TYPE} ... "
    UPSTREAM_PACKAGE="`find . -maxdepth 1 -name 
"${PACKAGE}-*.tar.${UPSTREAM_PACKAGE_TYPE}" -printf '%f'`"
    if [ -e "${UPSTREAM_PACKAGE}" ] ; then
       echo "found!"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/merge-debian-changelogs 
new/subnetcalc-2.4.19/merge-debian-changelogs
--- old/subnetcalc-2.4.18/merge-debian-changelogs       1970-01-01 
01:00:00.000000000 +0100
+++ new/subnetcalc-2.4.19/merge-debian-changelogs       2021-11-07 
19:00:41.000000000 +0100
@@ -0,0 +1,135 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# Packaging Scripts
+# Copyright (C) 2021-2022 by Thomas Dreibholz
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Contact: dre...@simula.no
+#
+
+import glob
+import os
+import re
+import sys
+import time
+
+
+#  ====== Handle arguments ==================================================
+if len(sys.argv) < 3:
+  sys.stderr.write('Usage: ' + sys.argv[0] + ' ppa_changelog 
distribution_changelog\n')
+  sys.exit(1)
+
+changelogNamePPA          = sys.argv[1]
+changelogNameDistribution = sys.argv[2]
+
+changelogFilePPA          = open(changelogNamePPA, 'r', encoding='utf-8')
+changelogFileDistribution = open(changelogNameDistribution, 'r', 
encoding='utf-8')
+
+changelogContentsPPA = changelogFilePPA.readlines()
+changelogContentsDistribution = changelogFileDistribution.readlines()
+
+
+# ====== Merge changelogs ===================================================
+re_entry_header = re.compile(r'^([a-zA-Z0-9-]+ \([0-9a-zA-Z\.~+]+-[0-9]*)')
+re_entry_footer = re.compile(r'^ -- .*')
+re_empty        = re.compile(r'^\S*$')
+
+topics = [
+   { 'regexp': re.compile(r'^  \* .*ew upstream (version|release).*$'), 
'count': 0, 'max': 1 },
+   { 'regexp': re.compile(r'^  \* .*standards version.*$'),             
'count': 0, 'max': 1 },
+   { 'regexp': re.compile(r'^  \* .*debian/compat:.*$'),                
'count': 0, 'max': 0 }
+]
+
+# ------ Get latest entry from distribution changelog -----------------------
+match = re_entry_header.match(changelogContentsDistribution[0])
+if match == None:
+   sys.stderr.write('ERROR: Bad header in ' + changelogNameDistribution + 
'!\n')
+   sys.exit(1)
+latestDistributionEntry = match.group(1)
+
+# ------ Join all new entries from PPA changelog ----------------------------
+result = []
+
+entries                           = 0
+insideEntry                       = False
+foundLatestDistributionEntryInPPA = False
+firstFooter                       = None
+for line in changelogContentsPPA:
+   # ------ Begin of an entry -----------------------------------------------
+   match = re_entry_header.match(line)
+   if match != None:
+
+      entries = entries + 1
+      if entries == 1:
+         result.append(line)
+         result.append('\n')
+
+      # ------ Done? --------------------------------------------------------
+      elif line[0:len(latestDistributionEntry)] == latestDistributionEntry:
+         foundLatestDistributionEntryInPPA = True
+         break
+
+      continue
+
+   # ------ Empty line ------------------------------------------------------
+   match = re_empty.match(line)
+   if match != None:
+      continue
+
+   # ------ End of an entry -------------------------------------------------
+   match = re_entry_footer.match(line)
+   if match != None:
+      if entries == 1:
+         firstFooter = line
+      continue
+
+   # ------ Topics ----------------------------------------------------------
+   skip = False
+   for topic in topics:
+      match = topic['regexp'].match(line)
+      if match != None:
+         topic['count'] = topic['count'] + 1
+         if topic['count'] > topic['max']:
+            skip = True
+            break
+   if skip == True:
+      continue
+
+   # ------ Add line to output ----------------------------------------------
+   if line[0] == ' ':
+      result.append(line)
+      continue
+
+   # ------ Something is wrong ----------------------------------------------
+   sys.stderr.write('ERROR: Unexpected line: ' + line + '!\n')
+   sys.exit(1)
+
+
+result.append('\n')
+result.append(firstFooter)
+
+
+if foundLatestDistributionEntryInPPA == False:
+   sys.stderr.write('ERROR: Did not found the latest distribution entry in the 
PPA changelog!\n')
+   sys.exit(1)
+
+
+# ------ Print results ------------------------------------------------------
+for line in result:
+   sys.stdout.write(line)
+sys.stdout.write('\n')
+for line in changelogContentsDistribution:
+   sys.stdout.write(line)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/subnetcalc-2.4.18/rpm/subnetcalc.spec 
new/subnetcalc-2.4.19/rpm/subnetcalc.spec
--- old/subnetcalc-2.4.18/rpm/subnetcalc.spec   2021-03-06 23:40:21.000000000 
+0100
+++ new/subnetcalc-2.4.19/rpm/subnetcalc.spec   2021-11-08 20:10:38.000000000 
+0100
@@ -1,5 +1,5 @@
 Name: subnetcalc
-Version: 2.4.18
+Version: 2.4.19
 Release: 1
 Summary: IPv4/IPv6 Subnet Calculator
 Group: Applications/Internet
@@ -37,6 +37,8 @@
 %doc
 
 %changelog
+* Mon Nov 08 2021 Thomas Dreibholz <dre...@iem.uni-due.de> - 2.4.19
+- New upstream release.
 * Sat Mar 06 2021 Thomas Dreibholz <dre...@iem.uni-due.de> - 2.4.18
 - New upstream release.
 * Fri Nov 13 2020 Thomas Dreibholz <dre...@iem.uni-due.de> - 2.4.17

Reply via email to