Bug#655976: queue-viewer: support binary debdiffs

2016-10-21 Thread Adam D. Barratt
On Sat, 2016-10-15 at 22:53 +0100, Adam D. Barratt wrote:
> - the output is current plain text, with no formatting

That's now fixed - both HTML and plain text output can be generated.

> - there's no filtering of "interesting" content; all architectures for
> which there are packages have a corresponding binary debdiff link

An initial version of support for this has been deployed.

Currently, "Version:" fields and package dependency fields where the
changes consist purely of switching "old source version" for "new source
version" are automatically removed (with the caveat that only epochless
versions work).

As well as filtering more "boring" content, we also need some way of
indicating that no "interesting" differences were found, in a way that
queue-viewer can detect at runtime.

Adam



Bug#655976: queue-viewer: support binary debdiffs

2016-10-16 Thread Adam D. Barratt
On Sat, 2016-10-15 at 22:53 +0100, Adam D. Barratt wrote:
> - as a result of invoking debdiff once per architecture, passing a list
> of "old" and "new" .deb files, the output contains a single copy of
> sections such as "Files in second set of .debs but not in first", rather
> than the information being attached to the binary package concerned

I've fixed that by having the debdiff invocation use --show-moved.

Regards,

Adam



Bug#655976: queue-viewer: support binary debdiffs

2016-10-15 Thread Adam D. Barratt
On Sun, 2012-01-15 at 16:13 +, Adam D. Barratt wrote:
> It would be useful if queue-viewer could run debdiff on binary uploads,
> in order to catch things like missing or new files and permission
> changes.  If anything interesting is found this could then be included
> in the queue output.

As some may have noticed, initial support for this went live this
evening.

Some notes:

- the output is current plain text, with no formatting

- there's no filtering of "interesting" content; all architectures for
which there are packages have a corresponding binary debdiff link

- as a result of invoking debdiff once per architecture, passing a list
of "old" and "new" .deb files, the output contains a single copy of
sections such as "Files in second set of .debs but not in first", rather
than the information being attached to the binary package concerned

Regards,

Adam



Bug#655976: queue-viewer: support binary debdiffs

2016-10-04 Thread Adam D. Barratt
On Sun, 2016-10-02 at 13:18 +0200, Julien Cristau wrote:
> On Tue, Sep 27, 2016 at 20:35:43 +0100, Adam D. Barratt wrote:
> 
> > - How should we invoke debdiff? We can avoid multiple debdiff
> > invocations via "debdiff --show-moved --controlfiles=ALL --from
> > base1.deb base2.deb --to new1.deb new2.deb" or, if we want to make the
> > command line shorter, generate .changes files for the two sets of
> > packages and then feed those to debdiff. In the latter case, we'd want
> > to create symlink farms, as the .deb files would need to be in the same
> > directory as the .changes files.
> > 
> I don't think length of the command line is a big concern?

I guess not, as we're not doing anything crazy like invoking a shell.

> > - Is there a way we can make the wdiff output easier to review? We need
> > to consider both on-screen display (presumably primarily via a web
> > browser) and the possibility of mailing the result, as we do for source
> > uploads.
> > 
> If the html part could have some colors to show added/removed bits,
> that'd be nice.

Ack.

> > - Should queue-viewer always display links to debdiffs for every
> > architecture, or only those where those is an "interesting" difference?
> > What would be a useful UI for that?

Possibilities that come to mind:

- a new "binary debdiffs" column
- a "binary debdiffs" row in the upload information

> > - What differences are we interested in? Some will always occur -
> > version number changes from $old_source_ver to $new_source_ver (with
> > adjustment for binNMUs); the addition of a "Source" header for a
> > newly-binNMUed package; a change in Size / Installed-Size within a
> > certain delta.
> 
> Also adjusting for epoch, and binary packages with different versioning
> schemes from the source.  diffpackages doesn't quite deal with that,
> yet...

Yeah, a little intelligence would be needed to catch all of those. We
can improve that as we go along of course.

> I think it's ok to leave filtering to a later date though, if we
> can get something it'll be better than the current "notice issues on the
> point release Saturday".

Indeed, I'm just wary of the queue-viewer output becoming too noisy and
either difficult to use (in case of the online version) or ignored (for
mails).

>From an implementation perspective, I had wondered if it was worth
trying to fit the binary methods in to the existing debrelease.debdiff
class which handles source diffs, but I'm not sure if that would just
make things more difficult.

Adam



Bug#655976: queue-viewer: support binary debdiffs

2016-10-02 Thread Julien Cristau
Hi Adam,

thanks for getting this rolling.

On Tue, Sep 27, 2016 at 20:35:43 +0100, Adam D. Barratt wrote:

> - How should we invoke debdiff? We can avoid multiple debdiff
> invocations via "debdiff --show-moved --controlfiles=ALL --from
> base1.deb base2.deb --to new1.deb new2.deb" or, if we want to make the
> command line shorter, generate .changes files for the two sets of
> packages and then feed those to debdiff. In the latter case, we'd want
> to create symlink farms, as the .deb files would need to be in the same
> directory as the .changes files.
> 
I don't think length of the command line is a big concern?

> - Is there a way we can make the wdiff output easier to review? We need
> to consider both on-screen display (presumably primarily via a web
> browser) and the possibility of mailing the result, as we do for source
> uploads.
> 
If the html part could have some colors to show added/removed bits,
that'd be nice.

> - Should queue-viewer always display links to debdiffs for every
> architecture, or only those where those is an "interesting" difference?
> What would be a useful UI for that?
> 
> - What differences are we interested in? Some will always occur -
> version number changes from $old_source_ver to $new_source_ver (with
> adjustment for binNMUs); the addition of a "Source" header for a
> newly-binNMUed package; a change in Size / Installed-Size within a
> certain delta.

Also adjusting for epoch, and binary packages with different versioning
schemes from the source.  diffpackages doesn't quite deal with that,
yet...  I think it's ok to leave filtering to a later date though, if we
can get something it'll be better than the current "notice issues on the
point release Saturday".

> - What should happen if the list of binary packages is different between
> the two versions? While still an exception, this happens often enough
> with e.g. firefox updates, that we need to consider it.
> 
I think big fat "Removed binary package(s)" and "Added binary
package(s)" warnings together with the debdiff for common packages would
be enough, at least initially.  Otherwise you'd have to manually tell
the tool which binary package was renamed to show the debdiff between
old and new.

Cheers,
Julien



Bug#655976: queue-viewer: support binary debdiffs

2016-09-27 Thread Adam D. Barratt
On Wed, 2016-09-28 at 05:14 +, Niels Thykier wrote:
> An additional idea (in the "nice to have" department"):
>What about recursive diff/diffoscoping of (parts of) the packages?
> Like including the diff of contents of the maintscripts/ctrl files.  As
> I recall, debdiff does not do that out of the box (except for control
> itself).

By default, no. It does, however, if you specify "--controlfiles=ALL",
as suggested in one of the earlier parts of my mail.

(Specifically, it runs "dpkg-deb -e" and then walks the result looking
for the requested files; "ALL" returns the differences for all files
found except md5sums.)

Regards,

Adam



Bug#655976: queue-viewer: support binary debdiffs

2016-09-27 Thread Niels Thykier
Adam D. Barratt:
> On Sun, 2012-01-15 at 16:13 +, Adam D. Barratt wrote:
>> It would be useful if queue-viewer could run debdiff on binary uploads,
>> in order to catch things like missing or new files and permission
>> changes.  If anything interesting is found this could then be included
>> in the queue output.
> 
> As we never seem to get any further in that direction than saying "we
> really should do that" after an issue, or a d-i binNMU, some thoughts /
> debate points:
> 
> [...]
> 
> Regards,
> 
> Adam
> 

An additional idea (in the "nice to have" department"):
   What about recursive diff/diffoscoping of (parts of) the packages?
Like including the diff of contents of the maintscripts/ctrl files.  As
I recall, debdiff does not do that out of the box (except for control
itself).

Thanks,
~Niels



Bug#655976: queue-viewer: support binary debdiffs

2016-09-27 Thread Adam D. Barratt
On Sun, 2012-01-15 at 16:13 +, Adam D. Barratt wrote:
> It would be useful if queue-viewer could run debdiff on binary uploads,
> in order to catch things like missing or new files and permission
> changes.  If anything interesting is found this could then be included
> in the queue output.

As we never seem to get any further in that direction than saying "we
really should do that" after an issue, or a d-i binNMU, some thoughts /
debate points:

- How should we invoke debdiff? We can avoid multiple debdiff
invocations via "debdiff --show-moved --controlfiles=ALL --from
base1.deb base2.deb --to new1.deb new2.deb" or, if we want to make the
command line shorter, generate .changes files for the two sets of
packages and then feed those to debdiff. In the latter case, we'd want
to create symlink farms, as the .deb files would need to be in the same
directory as the .changes files.

- Is there a way we can make the wdiff output easier to review? We need
to consider both on-screen display (presumably primarily via a web
browser) and the possibility of mailing the result, as we do for source
uploads.

- Should queue-viewer always display links to debdiffs for every
architecture, or only those where those is an "interesting" difference?
What would be a useful UI for that?

- What differences are we interested in? Some will always occur -
version number changes from $old_source_ver to $new_source_ver (with
adjustment for binNMUs); the addition of a "Source" header for a
newly-binNMUed package; a change in Size / Installed-Size within a
certain delta.

- What should happen if the list of binary packages is different between
the two versions? While still an exception, this happens often enough
with e.g. firefox updates, that we need to consider it.

Regards,

Adam



Bug#655976: queue-viewer: support binary debdiffs

2012-01-15 Thread Adam D. Barratt
Package: release.debian.org
Severity: wishlist
User: release.debian@packages.debian.org
Usertags: tools

It would be useful if queue-viewer could run debdiff on binary uploads,
in order to catch things like missing or new files and permission
changes.  If anything interesting is found this could then be included
in the queue output.

Adam




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org