> As reported in > https://bugs.launchpad.net/ubuntu/+source/apt-listchanges/+bug/1854772, > apt-listchanges > fails to parse status files that contain carriage return characters, as > Python normalizes the line endings.
I'm tracking the downstream bug in Ubuntu as well as this one. > Instead of writing its own ad-hoc parser, apt-listchanges should use > apt_pkg.TagFile instead. I did a little bit of digging into how to rewrite the parser with your suggested changes. I agree that apt-listchanges should not be using its own parser, especially since a standardized one exists in apt_pkg. Preliminarily, I have these changes in mind for apt_listchanges.ControlParser.readfile() (spacing adjusted for brevity): ```python ... try: with apt_pkg.TagFile(file) as tagfile: for section in tagfile: self.stanzas += [ControlStanza(x) for x in section] except: ... ``` There also, at the very least, may need a change to be made to apt_listchanges.DebianFiles.ControlParser.readdeb() as well. I'm hoping that we can avoid rewriting some of the classes in apt_listchanges.DebianFiles, namely ControlParser and ControlStanza. If you have suggestions on how the change would look, please let me know. -- Best regards, Brian T
signature.asc
Description: PGP signature