Bug#761105: debsources: on the fly package diff / debdiff

2014-09-11 Thread Jakub Wilk

* Stefano Zacchiroli , 2014-09-11, 11:13:
Debsources currently have unpacked packages on the filesystem, 
organized in per-version directories. So Debsources can simply 
recursively diff the two directories,


It's probably worth noting here that diff(1) follows symlinks, including 
symlinks that would point outside the source package. That might not be 
desirable from the security perspective. (Of course debdiff(1) has the 
very same problem.)


look into whether debdiff uses specific diff options that we want to 
use as well, just to ensure that the output format is more or less the 
same.


One notable thing that debdiff does is unpacking source packages with 
--skip-patches.


The options for diff(1) are standard: -Nru

--
Jakub Wilk


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



Bug#761105: debsources: on the fly package diff / debdiff

2014-09-11 Thread Paul Wise
On Thu, 2014-09-11 at 11:13 +0200, Stefano Zacchiroli wrote:

> We'll just need to look into whether debdiff uses specific diff
> options that we want to use as well, just to ensure that the output
> format is more or less the same.

One thing debdiff helps with is not having quilt cruft in the diff.

> Most of the legitimate problems you've mentioned seems to be related to
> source package format and, arguably, we won't have those problems with
> Debsources, or at least not in the diffing part. (We will have them at
> source package unpack time, of course.)

Right.

> However, it is important to observe that sources.d.n still aims at being
> source-package-only, whereas 1) debdiff is capable of diffing .deb and
> 2) .debs are indeed available on snapshot.d.o. So if you are interested
> in diffing .debs, as of now the only place where to implement that
> specific feature is snapshot.d.o.

The debdiff idea was only for sources and mainly in conjunction with
derivs census patch stuff.

On the binaries stuff, various folks have been asking about a
binaries.d.o, similar to sources.d.n but for binaries. The debdiff
output for binaries is useful for some use-cases but we might also want
more comprehensive diffs for binaries, diffp from the reproducible
builds stuff comes to mind as a potential script to add.

https://wiki.debian.org/ReproducibleBuilds#bash_script_to_compare_two_package_builds

-- 
bye,
pabs

http://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Bug#761105: debsources: on the fly package diff / debdiff

2014-09-11 Thread Stefano Zacchiroli
On Thu, Sep 11, 2014 at 03:48:38PM +0800, Paul Wise wrote:
> On Thu, Sep 11, 2014 at 2:58 PM, Stefano Zacchiroli wrote:
> 
> > We're gonna need it on debsources anyhow, in particular to implement the
> > "edit" feature suggested by Raphael Geissert. What we could do is to
> > factorize as much as possible the common parts in a common place, e.g.,
> > python-debian. But I'm not sure there is actually that *much* code to
> > write, considering that 1) we will probably invoke the real debdiff as
> > an external program anyhow and 2) I plan to delegate diff highlighting
> > to the javascript toolkit we already use.
> 
> I see, some factors I can think of:

So, from your examples I've realized that I've mentioned debdiff, but I
actually don't need it. Debsources currently have unpacked packages on
the filesystem, organized in per-version directories. So Debsources can
simply recursively diff the two directories, instead of using debdiff
(which AFAICT, doesn't even work on directories). We'll just need to
look into whether debdiff uses specific diff options that we want to use
as well, just to ensure that the output format is more or less the same.

(FWIW, this seems to be yet another good argument against some
hash-based file-layout, that we have been discussing in #761117.)

Most of the legitimate problems you've mentioned seems to be related to
source package format and, arguably, we won't have those problems with
Debsources, or at least not in the diffing part. (We will have them at
source package unpack time, of course.)

> > What else is there to be done?
> 
> Mainly having a full set of packages to debdiff between, from our
> discussions at DebConf14 it seems like you plan to get a copy of the
> snapshot archive anyway so maybe sources.d.n is indeed the right place
> to do this?

That's the plan yes, even though importing snapshot.d.o is a very
different feature/goal.

However, it is important to observe that sources.d.n still aims at being
source-package-only, whereas 1) debdiff is capable of diffing .deb and
2) .debs are indeed available on snapshot.d.o. So if you are interested
in diffing .debs, as of now the only place where to implement that
specific feature is snapshot.d.o.

Cheers.
-- 
Stefano Zacchiroli  . . . . . . .  z...@upsilon.cc . . . . o . . . o . o
Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o
Former Debian Project Leader  . . @zack on identi.ca . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »


signature.asc
Description: Digital signature


Bug#761105: debsources: on the fly package diff / debdiff

2014-09-11 Thread Paul Wise
On Thu, Sep 11, 2014 at 2:58 PM, Stefano Zacchiroli wrote:

> We're gonna need it on debsources anyhow, in particular to implement the
> "edit" feature suggested by Raphael Geissert. What we could do is to
> factorize as much as possible the common parts in a common place, e.g.,
> python-debian. But I'm not sure there is actually that *much* code to
> write, considering that 1) we will probably invoke the real debdiff as
> an external program anyhow and 2) I plan to delegate diff highlighting
> to the javascript toolkit we already use.

I see, some factors I can think of:

Some derivatives support tarball compression schemes that Debian does
not (rejected by the dpkg maintainer). The derivatives census converts
to gzip with low compression and does debdiff on the result.

Ancient Debian source packages had no dsc files, debdiffing would
require constructing fake ones I guess.

debdiff of libreoffice versions needs adequate space in $TMP which
usually isn't available when /tmp is a tmpfs.

Would be great to move that into python-debian.

> What else is there to be done?

Mainly having a full set of packages to debdiff between, from our
discussions at DebConf14 it seems like you plan to get a copy of the
snapshot archive anyway so maybe sources.d.n is indeed the right place
to do this?

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


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



Bug#761105: debsources: on the fly package diff / debdiff

2014-09-11 Thread Stefano Zacchiroli
On Thu, Sep 11, 2014 at 01:47:33PM +0800, Paul Wise wrote:
> On Thu, Sep 11, 2014 at 3:01 AM, Stefano Zacchiroli wrote:
> 
> > Add the ability to diff arbitrary version of packages available in
> > Debsources, producing a debdiff as a result.
> 
> FYI, we were thinking about adding debdiff capabilities to
> snapshot.debian.org, that might make more sense since it has more
> package versions?

We're gonna need it on debsources anyhow, in particular to implement the
"edit" feature suggested by Raphael Geissert. What we could do is to
factorize as much as possible the common parts in a common place, e.g.,
python-debian. But I'm not sure there is actually that *much* code to
write, considering that 1) we will probably invoke the real debdiff as
an external program anyhow and 2) I plan to delegate diff highlighting
to the javascript toolkit we already use. What else is there to be done?

-- 
Stefano Zacchiroli  . . . . . . .  z...@upsilon.cc . . . . o . . . o . o
Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o
Former Debian Project Leader  . . @zack on identi.ca . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »


signature.asc
Description: Digital signature


Bug#761105: debsources: on the fly package diff / debdiff

2014-09-10 Thread Paul Wise
On Thu, Sep 11, 2014 at 3:01 AM, Stefano Zacchiroli wrote:

> Add the ability to diff arbitrary version of packages available in
> Debsources, producing a debdiff as a result.

FYI, we were thinking about adding debdiff capabilities to
snapshot.debian.org, that might make more sense since it has more
package versions?

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


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



Bug#761105: debsources: on the fly package diff / debdiff

2014-09-10 Thread Stefano Zacchiroli
Package: qa.debian.org
Severity: wishlist

Add the ability to diff arbitrary version of packages available in
Debsources, producing a debdiff as a result.

This should probably come as a new "/diff" URL, taking package
names/versions as parameters and returning the debdiff.

Bonus point: offer the ability to alternatively download or typeset the
debdiff in the browser (with diff-like syntax highlight).


Cheers.
-- 
Stefano Zacchiroli  . . . . . . .  z...@upsilon.cc . . . . o . . . o . o
Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o
Former Debian Project Leader  . . @zack on identi.ca . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »


signature.asc
Description: Digital signature