Package: strace
Version: 4.9-2
Severity: normal
Tags: patch

Hi,

python3-debian will print warnings when parsing the changelog file from
strace:

/usr/lib/python3/dist-packages/debian/changelog.py:275: UserWarning:
Unexpected line while looking for more change data or trailer:  --
Wichert Akkerman <wakke...@wi.leidenuniv.nl>, Thu Sep 12 14:59:44 MET
DST 1996
  warnings.warn(message)
/usr/lib/python3/dist-packages/debian/changelog.py:275: UserWarning:
Unexpected line while looking for more change data or trailer: strace
(3.1-3) unstable; urgency=low
  warnings.warn(message)

A patch that fixes the mal-formed changelog entries is attached. The
upload date for the first two uploads are guessed. A small script to
reproduce the warning is also attached.

-- 
Benjamin Drung
System Developer
Debian & Ubuntu Developer

ProfitBricks GmbH
Greifswalder Str. 207
D - 10405 Berlin

Email: benjamin.dr...@profitbricks.com
URL: https://www.profitbricks.de

Sitz der Gesellschaft: Berlin
Registergericht: Amtsgericht Charlottenburg, HRB 125506 B
Geschäftsführer: Achim Weiss, Matthias Steinberg
>From baa769c987982624a560c42bd906d7b015e96e94 Mon Sep 17 00:00:00 2001
From: Benjamin Drung <benjamin.dr...@profitbricks.com>
Date: Mon, 8 Jan 2018 15:25:49 +0100
Subject: [PATCH] Fix malformed debian/changelog entries

python3-debian will print warnings when parsing the changelog file from
strace:

/usr/lib/python3/dist-packages/debian/changelog.py:275: UserWarning:
Unexpected line while looking for more change data or trailer:  --
Wichert Akkerman <wakke...@wi.leidenuniv.nl>, Thu Sep 12 14:59:44 MET
DST 1996
  warnings.warn(message)
/usr/lib/python3/dist-packages/debian/changelog.py:275: UserWarning:
Unexpected line while looking for more change data or trailer: strace
(3.1-3) unstable; urgency=low
  warnings.warn(message)

Fix the mal-formed changelog entries and guess the upload date for the
first two uploads.

Signed-off-by: Benjamin Drung <benjamin.dr...@profitbricks.com>
---
 debian/changelog | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 588f1c3a..b1bc41dc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -931,23 +931,23 @@ strace (3.1-4) unstable; urgency=low
 
   * Fixed changestemplate
 
- -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>, Thu Sep 12 14:59:44 MET DST 
1996
+ -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>  Thu, 12 Sep 1996 14:59:44 
+0200
 
 strace (3.1-3) unstable; urgency=low
 
   * Revamped debian files
 
- -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>, Thu Jul 11 20:19:11 MET DST 
1996
-
+ -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>  Thu, 11 Jul 1996 20:19:11 
+0200
 
 strace (3.1-2) unstable; urgency=low
+
   * Added some #ifdef's around IPX stuff to make it compilable on non-Linux
     systems.
   * changed debian.control and debian.rules to conform to new debian naming
     schemes
   * added architecture-option to debian.rules and debian.control
 
- -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>
+ -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>  Thu, 1 Jul 1996 00:00:00 
+0000
 
 strace (3.1-1) unstable; urgency=low
 
@@ -960,4 +960,4 @@ strace (3.1-1) unstable; urgency=low
   * added IP, IPX and TCP support to get-/setsockopt()
   * added IPX support
 
- -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>
+ -- Wichert Akkerman <wakke...@wi.leidenuniv.nl>  Thu, 1 Jun 1996 00:00:00 
+0000
-- 
2.14.1

#!/usr/bin/python3

# Copyright (C) 2017, ProfitBricks GmbH
# Authors: Benjamin Drung <benjamin.dr...@profitbricks.com>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

""" Check changelog from /usr/share/doc/*/changelog.Debian.gz.

Dependencies: apt install python3 python3-debian
"""

import gzip
import os

import debian.changelog

def check(name):
    doc_dir = os.path.join("/usr/share/doc", name)
    changelog_filename = os.path.join(doc_dir, "changelog.Debian.gz")
    if not os.path.exists(changelog_filename):
        changelog_filename = os.path.join(doc_dir, "changelog.gz")
    changelog_file = gzip.open(changelog_filename, 'r')
    debian.changelog.Changelog(file=changelog_file)

check("strace")

Reply via email to