Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-06-01 Thread Goswin von Brederlow
m...@linux.it (Marco d'Itri) writes:

 On May 18, Russ Allbery r...@debian.org wrote:

 I do this work in cases where keeping the patches separate is useful for
 some reason, but mostly it's not.
 Some of my packages have 30-60 patches (mature software...), and 
 merging them would make them impossibile to understand.
 Is there a VCS workflow which would make such packages easier to manage 
 than with quilt? (I like quilt, BTW.)

 -- 
 ciao,
 Marco

Check out gitpkg. It has hooks to create the quilt patches from a set of
feature branches in some form.

Also note that in this scheme where you produce a single debian patch
you would not be working on the single debian patch. You would still
work on your 30-60 feature branches (or whatever else you use instead of
a patch queue). The single debian patch would just be the fallback for
people that can't access your VCS.

The single patch would be hard to understand but it would be unfair to
compare it to 30-60 patches in a patch queue. What you have to compare
the single patch with is a single debian diff.gz. Obviously if you can
make a meaningfull patch queue with seperate patches that is
preferable. The single patch method is for situations where you can't.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87y5o7mj4t.fsf@frosties.localnet



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-21 Thread Russ Allbery
m...@linux.it (Marco d'Itri) writes:
 On May 18, Russ Allbery r...@debian.org wrote:

 I do this work in cases where keeping the patches separate is useful for
 some reason, but mostly it's not.

 Some of my packages have 30-60 patches (mature software...), and 
 merging them would make them impossibile to understand.
 Is there a VCS workflow which would make such packages easier to manage 
 than with quilt? (I like quilt, BTW.)

In cases like that where quilt is already doing what I want, I've been
known to just check the patches into Git and make sure that I only do git
commits after quilt pop -a.  I do that with our local builds of Heimdal,
for example.

There are more complicated things that let you serialize your patches from
Git commits and turn them into quilt patch sets, but they're mostly ways
to do something quilt-like in Git while avoiding using quilt directly.  If
you're comfortable using quilt directly, I'm not sure they'll buy you
anything.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87wr46yqdy@windlord.stanford.edu



RE : Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-21 Thread Bastien ROUCARIES
gitpkg with quilt hook is very nice.

Have a branch with debian change, one for patch queue, one for upstream

Use git cherry pick for porting patch

I use it for imagemagick

Will post my workflow tomorrow I post from my phone, sorry for top post and
brievety

Bastien

Le 21 mai 2012 02:56, Marco d'Itri m...@linux.it a écrit :

On May 18, Russ Allbery r...@debian.org wrote:

 I do this work in cases where keeping the patches...
Some of my packages have 30-60 patches (mature software...), and
merging them would make them impossibile to understand.
Is there a VCS workflow which would make such packages easier to manage
than with quilt? (I like quilt, BTW.)

--
ciao,
Marco


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-20 Thread Marco d'Itri
On May 18, Russ Allbery r...@debian.org wrote:

 I do this work in cases where keeping the patches separate is useful for
 some reason, but mostly it's not.
Some of my packages have 30-60 patches (mature software...), and 
merging them would make them impossibile to understand.
Is there a VCS workflow which would make such packages easier to manage 
than with quilt? (I like quilt, BTW.)

-- 
ciao,
Marco


signature.asc
Description: Digital signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-19 Thread Goswin von Brederlow
Adam Borowski kilob...@angband.pl writes:

 On Fri, May 18, 2012 at 09:24:04AM +0200, Bernd Zeimetz wrote:
 On 05/17/2012 04:52 PM, Gergely Nagy wrote:
  I'm confused concerning the above; the point of a VCS in this context is 
  to 
  track changes to the source package, and the patches are themselves 
  important 
  changes to the source package.  If you have Git ignore the patches then 
  Git 
  doesn't have a complete view of the source package anymore.  Why would 
  you 
  want to do that?
  
  Git does have a complete view. What the above does, is tell dpkg-source
  to fold any changes made to the upstream sources into a single
  patch. Since the git tree already has the patches applied (with upstream
  sources on a different branch, most probably), it has a full view.
  
  This basically folds whatever patches the git tree has over upstream,
  outside of debian/ into a single file. That's about it. Since that file
  is generated, it has no business staying in git.
 
 Doing that is the most stupid idea ever. All it does is to ensure that you
 package can't be NMUed sanely and that people who need to work with the 
 sources

I have to say you are saddly mistaken there. Just because you use a
single patch under debian/patches and do not track it in git in no way
prevents the debian source package to work as expected. Everybody can
download the source package, build it, NMU it, whatever.

All he is saying is that when building from git all upstream changes not
covered by existing patches shall go into debian/patches/debian-changes
(instead of debian/patches/debian-changes-version) and not to track this
automatically generated file in git. Which is totaly sane.

 and your patches for whatever reason have to clone your git, which might be 
 not
 available or just too large for them to download - so at the end changes are
 high that they end up with a largish unreadable patch, similar to the mess we
 get from Ubuntu sometimes.
 The only thing that makes sense would be to use git-format-patch to export 
 your
 patches to debian/patches and list them in the series file. Or use gbp-pq, 
 which
 was made exactly for that.

 Uhm, please switch around git and quilt, and say that again.

Uhm, no. That is besides the point.

 Quilt is a kind of really primitive VCS.  It does not make sense to use both
 it and a modern one, and when someone tries, this ends up with no end of
 woe.  Quilt sprinkles its modifications around the source, breaks timestamps
 causing unnecessary rebuilds, breaks basic VCS abilities like bisection,
 makes it really hard to even review history, and so on.

 You complain about forcing people to use git, while you push quilt onto
 everyone else.  And while git can do every single thing quilt can do, the
 reverse is thoroughly untrue.

 I really wish there was a 3.0 format besides 3.0 (quilt), so people are
 not mislead into thinking they have to (or even, would gain anything) from
 writing patches in quilt's format.

And you too are totaly missing the point of the exercise. The point of
the described setup was so that people do not have to write patches in
quilt's format.

The described setup gives you a 3.0 (quilt) format where quilt plays no
part in your workflow and thus does not interfere with the VCS. The
resulting source package that gets uploaded will use quilt but you as
VCS user don't have to care about it.

All the benefits of the 3.0 format without the (imho mostly imagined)
quilt problems.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87likok4oi.fsf@frosties.localnet



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-19 Thread Goswin von Brederlow
Adam Borowski kilob...@angband.pl writes:

 On Wed, May 16, 2012 at 07:45:24PM -0700, Russ Allbery wrote:
 Charles Plessy ple...@debian.org writes:
 
  Also, it is very sad that, as a project, we can not decide whether we go
  for 3.0 (git) or not, or have a concrete list of resolvable objections
  from the people whose work is direclty impacted by the use of this
  format.
 
 We know what a primary concrete objection is.  We discussed it at length
 at DebConf two years ago, and then on debian-devel afterwards.  Uploading
 a Git archive requires reviewing the entire contents of the archive, not
 just the current code, for licensing issues, which is pretty painful from
 the ftp-master perspective.

 How come?  If the .git directory shipped in the package is pruned, there is
 no hidden data.  All you have to review are commits that are present there,
 which is exactly the same as with quilt: you need to review the tarball and
 every single patch.

And there you have hit the problem.

If the history is pruned to just the latest version then it is
pointless. All you end up is a bunch of branches without history that
randomly lack their interconnections and a master branch that again
lacks the interconnections to the feature branches. Any change to a
feature branch will likely cause a merge conflict when you try to merge
it to master because the history of past conflict resolutions is
missing.

And if you do keep enough history to preserve the interconnections
between branches then ftp-master has to review all that history.

Note: if the pruned feature branches do not cause merge conflicts then
you have a set of features that is trivialy serializable (since it has
no dependencies on the order) and your feature branches are identical to
a set of patch files. So you have gained nothing of 3.0 (quilt).

 There was never really a satisfactory resolution to that discussion.  We
 can upload very shallow clones, but they end up looking a lot like the
 existing quilt format with single-debian-patch,

 There's a whole world between shallow clones and complete ones.  While
 existing git porcelain provides no convenient tools to selectively
 shallowify a repository, this is because no one had that need before.

 For example, if you limit yourself to a bunch of linear rebased commits atop

Sorry, but if you rebase you have already lost. Rebase destroys history
and makes the commit a one-shot deal. You will not have continuity.
Rebase is something you can use internally or to create a serilaized
patch queue but not something to distribute to the world.

 of the newest upstream tag, you can exactly emulate quilt workflow except
 for not having to deal with quilt's peculiarities.  This goes to the point
 of shipping EXACTLY the same data as quilt would, with only metadata
 different[1].  And unlike what you say, commits are not flattened in any
 way.

If you manage to get your git branches serialized and rebased to the
point of shipping EXACTLY the same data as quilt would then there really
is no point of not shipping the data as quilt would. At that point you
have destroyed any benefits of git but are still forcing the much more
complex git format on people instead of a simple patch queue (which
doesn't even need quilt or quilt knowledge to use).

 If we allow non-linear Debian changes (ie, merged not rebased, etc), there
 is indeed a complex question: where to cut[2].  But even then, a given commit
 is either present or not.  If too much old history is there, that's no
 different from the upstream shipping an old tarball and a pile of patches
 upon it (like ancient apache or qmail).

And if we don't allow non-linear Debian changes then there is 0 benefit
from not using 3.0 (quilt) format. Once you have gotten your changes
serialized (linear) it is absolutely trivial to automatically create a
3.0 (quilt) format package from your git repository at no loss (other
than the history you were going to prune anyway). That's what for
example gitpkg does.

 And besides, what's the reason behind enforcing exactly one upstream and
 exactly one Debian?  This just leads to problems if either side has
 multiple layers.

 and it's not horribly
 clear what the advantages of 3.0 (git) are at that point.  Many of the
 really compelling use cases for 3.0 (git), neat stuff like possibly being
 able to just push a signed tag instead of uploading or having the package
 history when you get the source package, aren't very interesting with
 shallow clones.

 It's more a psychological issue: while you can use 3.0 (quilt) to emulate
 1.0, people don't know about that.  Even though 6500 of packages in Debian
 store their packaging in git, they typically fight with quilt, while that
 shallow copy = single-debian-patch would at least remove that concern.

It would just lead to people fighting with git.

As you say the 3.0 (quilt) problem is more a psychological issue. The
solution isn't to switch to a much more complex tool like git but to
teach people 

Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Andrew Shadura
Hello,

On Thu, 17 May 2012 16:52:02 +0200
Gergely Nagy alger...@balabit.hu wrote:

 Git does have a complete view. What the above does, is tell
 dpkg-source to fold any changes made to the upstream sources into a
 single patch. Since the git tree already has the patches applied
 (with upstream sources on a different branch, most probably), it has
 a full view.

 This basically folds whatever patches the git tree has over upstream,
 outside of debian/ into a single file. That's about it. Since that
 file is generated, it has no business staying in git.

I find it a very bad idea, as then it's very hard to track what patches
we have applied. And no, VCS history doesn't help at all as we see
*all* the patches ever applied or not, and also upstream changes
sometimes. For that reason I prefer keeping patches themselves tracked
as well, or I even (mostly) unapply them so the source in the VCS is
clean.

-- 
WBR, Andrew


signature.asc
Description: PGP signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Bernd Zeimetz
On 05/17/2012 04:52 PM, Gergely Nagy wrote:
 Chris Knadle chris.kna...@coredump.us writes:
 
 On Wednesday, May 16, 2012 06:38:49, Adam Borowski wrote:
 On Tue, May 15, 2012 at 10:10:28AM +0100, Jon Dowland wrote:
 On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
 No, I hereby start saying good by to 3.0

 I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
 found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
 few packages.

 I can't see any reason to use 1.0 anymore, ever.

 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:

 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

 I'm confused concerning the above; the point of a VCS in this context is to 
 track changes to the source package, and the patches are themselves 
 important 
 changes to the source package.  If you have Git ignore the patches then Git 
 doesn't have a complete view of the source package anymore.  Why would you 
 want to do that?
 
 Git does have a complete view. What the above does, is tell dpkg-source
 to fold any changes made to the upstream sources into a single
 patch. Since the git tree already has the patches applied (with upstream
 sources on a different branch, most probably), it has a full view.
 
 This basically folds whatever patches the git tree has over upstream,
 outside of debian/ into a single file. That's about it. Since that file
 is generated, it has no business staying in git.

Doing that is the most stupid idea ever. All it does is to ensure that you
package can't be NMUed sanely and that people who need to work with the sources
and your patches for whatever reason have to clone your git, which might be not
available or just too large for them to download - so at the end changes are
high that they end up with a largish unreadable patch, similar to the mess we
get from Ubuntu sometimes.
The only thing that makes sense would be to use git-format-patch to export your
patches to debian/patches and list them in the series file. Or use gbp-pq, which
was made exactly for that.

[...]

 Patching the source can be an effort especially concerning documenting
 why the patches were done and the source of the patches, so these seem
 like they'd be important to track rather than something to ignore.
 
 The reasons can - and should be - documented in git. Granted, that does
 not transfer to the debianized source package, which is unfortunate, but
 it's still better than fighting with integrating quilt with a VCS (in
 which case, everyone with a higher number of patches would go back to
 1.0 and custom patching systems and ignore every other benefit of 3.0,
 because quilt and VCS generally don't play nice together).


Which again requires people to find and clone the git instead of just looking
what we ship on our mirrors and discs. Remember, there are people without (fast)
internet, they might not be able to clone your git, or not be allowed to do so
for whatever reasons.


-- 
 Bernd ZeimetzDebian GNU/Linux Developer
 http://bzed.dehttp://www.debian.org
 GPG Fingerprint: ECA1 E3F2 8E11 2432 D485  DD95 EB36 171A 6FF9 435F


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fb5f914.8050...@bzed.de



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Igor Pashev
18.05.2012 00:11, Russ Allbery пишет:
 Tollef Fog Heen tfh...@err.no writes:
 ]] Russ Allbery 
 
 If I were to pick between the enhancements to Debian in this area, none
 of which I have time to work on and therefore can't vote on via
 implementation, I'd be way more interested in avoiding the entire
 source package upload process entirely and be able to just push signed
 Git tags to a trusted host that stores Git repositories for our
 packages.  Even if those repositories were only accessible to Debian
 maintainers because they're not license-reviewed.
 
 As always, it's easier to add another abstraction layer and so generate
 the (somewhat pointless) source package and upload that, rather than
 modifying dak (and/or buildd) to handle two kinds of sources and source
 tools.
 
 I do agree it'd be better if we could just get rid of source packages,
 but we're far from there yet, sadly.
 
 Oh, sure.  And I'd be fine with that.  I just really like the idea of
 having everything about the package build automated, including generation
 of the source package, so that we no longer have problems where the
 maintainer does something weird on their local system.  I'm fine with it
 being optional for those who want to use it, but I'd like to use it.  One
 would test the build locally and then just push the tag, and the whole
 process would be reproduced in our infrastructure with a known
 configuration and we'd identify problems much faster.
 
 It would also mean that any Debian maintainer could easily clone the
 canonical source for a package that's using Git and that infrastructure,
 which we sort of have with debcheckout but a bit awkwardly, and NMUs could
 always be pushed to the same place, with the security handled via regular
 upload rights checking instead of the more ad hoc git.debian.org
 permission approach.
 
 It feels like the sort of direction in which software development is
 moving, and it feels like embracing our tools in ways that we're not yet
 doing.
 


What about stable release? Git branches?
What about users who want rebuild a package (probably with new patches)?
dget functionality is really good for me.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fb60a9e.5010...@gmail.com



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Jon Dowland
On Thu, May 17, 2012 at 06:23:49PM -0400, Chris Knadle wrote:
 Another thing I've seen with another package I'm working on in collaboration 
 is using a Git repo in which the only contents are the debian/ files and not 
 the original source tarball nor source files at all.  To do a built the 
 source 
 is then downloaded via uscan, expanded, and the debian/ directory is copied 
 into the expanded source directory, and then built.  With this kind of 
 configuration no source files are tracked in Git, so instead it's necessary 
 to 
 track debian/patches so that patches can be applied to the pristine source.
 
 At the moment I'm following the latter methodology to see how well it works 
 out and whether I like it.  If anyone else has used this method and has 
 comments on it, I'd be interested in reading them.

I've never used it with git, but I used to use it with svn as part of the
Debian games team.  For some (1 in 1000) packages, it may be necessary due to
the sheer size of the orig source (esp. with svn which wasn't efficient with
storage); but IMHO it's an incredible pain in the arse.  When I moved those
packages to git I gleefully stitched the VCS history together with the upstream
sources via git-filter-branch.


-- 
Jon Dowland


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120518085508.GA27744@debian



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Adam Borowski
On Fri, May 18, 2012 at 09:24:04AM +0200, Bernd Zeimetz wrote:
 On 05/17/2012 04:52 PM, Gergely Nagy wrote:
  I'm confused concerning the above; the point of a VCS in this context is 
  to 
  track changes to the source package, and the patches are themselves 
  important 
  changes to the source package.  If you have Git ignore the patches then 
  Git 
  doesn't have a complete view of the source package anymore.  Why would you 
  want to do that?
  
  Git does have a complete view. What the above does, is tell dpkg-source
  to fold any changes made to the upstream sources into a single
  patch. Since the git tree already has the patches applied (with upstream
  sources on a different branch, most probably), it has a full view.
  
  This basically folds whatever patches the git tree has over upstream,
  outside of debian/ into a single file. That's about it. Since that file
  is generated, it has no business staying in git.
 
 Doing that is the most stupid idea ever. All it does is to ensure that you
 package can't be NMUed sanely and that people who need to work with the 
 sources
 and your patches for whatever reason have to clone your git, which might be 
 not
 available or just too large for them to download - so at the end changes are
 high that they end up with a largish unreadable patch, similar to the mess we
 get from Ubuntu sometimes.
 The only thing that makes sense would be to use git-format-patch to export 
 your
 patches to debian/patches and list them in the series file. Or use gbp-pq, 
 which
 was made exactly for that.

Uhm, please switch around git and quilt, and say that again.

Quilt is a kind of really primitive VCS.  It does not make sense to use both
it and a modern one, and when someone tries, this ends up with no end of
woe.  Quilt sprinkles its modifications around the source, breaks timestamps
causing unnecessary rebuilds, breaks basic VCS abilities like bisection,
makes it really hard to even review history, and so on.

You complain about forcing people to use git, while you push quilt onto
everyone else.  And while git can do every single thing quilt can do, the
reverse is thoroughly untrue.

I really wish there was a 3.0 format besides 3.0 (quilt), so people are
not mislead into thinking they have to (or even, would gain anything) from
writing patches in quilt's format.

-- 
“This is gonna be as easy as cheating on an ethics exam!”
-Cerise Brightmoon


signature.asc
Description: Digital signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Tollef Fog Heen
]] Igor Pashev 

 What about stable release? Git branches?

Sure.  Branches are cheap.

 What about users who want rebuild a package (probably with new patches)?

They'll then just grab the git tree, apply their patches, build their
package.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87y5opssq1@qurzaw.varnish-software.com



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Andrew Shadura
Hello,

On Fri, 18 May 2012 11:37:08 +0200
Adam Borowski kilob...@angband.pl wrote:

 Quilt is a kind of really primitive VCS.  It does not make sense to
 use both it and a modern one, and when someone tries, this ends up
 with no end of woe.  Quilt sprinkles its modifications around the
 source, breaks timestamps causing unnecessary rebuilds, breaks basic
 VCS abilities like bisection, makes it really hard to even review
 history, and so on.

I'm sorry to disappoint you, but quilt isn't a VCS at all. It's a patch
queue management system, and it does its job well. And, by the way, git
can't do it better at the moment as guilt seems to be dead, and stgit
is buggy (mq in mercurial is better than quilt, but we speak of git
atm).

Keeping patches in git makes thing less transparent and more
complicated. You have to inspect all the history just to find out what
changes did maintainer do to the original source. And, of course, you
need to have a clone of the repo.

 You complain about forcing people to use git, while you push quilt
 onto everyone else.  And while git can do every single thing quilt
 can do, the reverse is thoroughly untrue.

No, it can't. Please check what git, and what quilt is. They are
different tools for different purposes and they can't do each other's
job well enough.

-- 
WBR, Andrew


signature.asc
Description: PGP signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Goswin von Brederlow
Jon Dowland j...@debian.org writes:

 On Wed, May 16, 2012 at 12:38:49PM +0200, Adam Borowski wrote:
 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:
 
 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

 Thanks for the recipes for avoiding the quilt stuff; whilst still more work
 than just use 1.0, but perhaps the advantages are indeed worth it. (Esp.
 in light of the talk re: xz compression.)

For me a huge advantage is that .hg and .git files are properly ignored
when building source packages. Not to mention multiple upstream
tarballs and support for adding binary files (think debian icon).

 Except for nuking upstream debian/ dir which can mean a bit of lost work if
 the upstream is sane (and can save some if they're not), the 3.0 format is
 strictly better than 1.0.

 I had to go away and read up on the other things 3.0 brings to the table.
 Indeed they are nice-to-haves, which I am not benefiting from precisely 
 because
 they are presently only available in Debian via 3.0 (quilt).  This is a bit of
 a marketing fail for 3.0., in hindsight.

I think one large problem is that people don't know how to make 3.0
(quilt) format play nice with RCS systems and their own worflows. This
is something that has only evolved recently as more people have used 3.0
(quilt) format with their favourite RCS and workflow and the surrounding
tools have adapted.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87ehqhlor2.fsf@frosties.localnet



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Adam Borowski
On Wed, May 16, 2012 at 07:45:24PM -0700, Russ Allbery wrote:
 Charles Plessy ple...@debian.org writes:
 
  Also, it is very sad that, as a project, we can not decide whether we go
  for 3.0 (git) or not, or have a concrete list of resolvable objections
  from the people whose work is direclty impacted by the use of this
  format.
 
 We know what a primary concrete objection is.  We discussed it at length
 at DebConf two years ago, and then on debian-devel afterwards.  Uploading
 a Git archive requires reviewing the entire contents of the archive, not
 just the current code, for licensing issues, which is pretty painful from
 the ftp-master perspective.

How come?  If the .git directory shipped in the package is pruned, there is
no hidden data.  All you have to review are commits that are present there,
which is exactly the same as with quilt: you need to review the tarball and
every single patch.

 There was never really a satisfactory resolution to that discussion.  We
 can upload very shallow clones, but they end up looking a lot like the
 existing quilt format with single-debian-patch,

There's a whole world between shallow clones and complete ones.  While
existing git porcelain provides no convenient tools to selectively
shallowify a repository, this is because no one had that need before.

For example, if you limit yourself to a bunch of linear rebased commits atop
of the newest upstream tag, you can exactly emulate quilt workflow except
for not having to deal with quilt's peculiarities.  This goes to the point
of shipping EXACTLY the same data as quilt would, with only metadata
different[1].  And unlike what you say, commits are not flattened in any
way.

If we allow non-linear Debian changes (ie, merged not rebased, etc), there
is indeed a complex question: where to cut[2].  But even then, a given commit
is either present or not.  If too much old history is there, that's no
different from the upstream shipping an old tarball and a pile of patches
upon it (like ancient apache or qmail).

And besides, what's the reason behind enforcing exactly one upstream and
exactly one Debian?  This just leads to problems if either side has
multiple layers.

 and it's not horribly
 clear what the advantages of 3.0 (git) are at that point.  Many of the
 really compelling use cases for 3.0 (git), neat stuff like possibly being
 able to just push a signed tag instead of uploading or having the package
 history when you get the source package, aren't very interesting with
 shallow clones.

It's more a psychological issue: while you can use 3.0 (quilt) to emulate
1.0, people don't know about that.  Even though 6500 of packages in Debian
store their packaging in git, they typically fight with quilt, while that
shallow copy = single-debian-patch would at least remove that concern.


[1]. Git keeps references to commits not present in the shallow repository.
3.0 (quilt) in turn partially and inconsistently preserves timestamps, but
only on files that haven't been modified in any of the patches.  Also, the
tarball may ship an empty directory, device nodes, named pipes, etc --
again, only as long as no patch touches them.

[2]. One way: cut all commits which don't have one of current upstream
tarballs as an ancestor.  This can sometimes cut more than one would want,
but is strictly better than a shallow copy.

-- 
“This is gonna be as easy as cheating on an ethics exam!”
-Cerise Brightmoon


signature.asc
Description: Digital signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Goswin von Brederlow
Chris Knadle chris.kna...@coredump.us writes:

 On Wednesday, May 16, 2012 06:38:49, Adam Borowski wrote:
 On Tue, May 15, 2012 at 10:10:28AM +0100, Jon Dowland wrote:
  On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
   No, I hereby start saying good by to 3.0
  
  I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
  found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
  few packages.
 
 I can't see any reason to use 1.0 anymore, ever.
 
 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:
 
 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

 I'm confused concerning the above; the point of a VCS in this context is to 
 track changes to the source package, and the patches are themselves important 
 changes to the source package.  If you have Git ignore the patches then Git 
 doesn't have a complete view of the source package anymore.  Why would you 
 want to do that?

You're source VCS would be with the patches applied already. When
building the source package dpkg-source will simply create
debian/patches/debian-changes as the diff between your working directory
and the orig tarball every time. Same as it did create a diff.gz file
with 1.0 format.

 and perhaps rm -rf .pc debian/patches in the clean target if those bother
 you -- and you have all the goodies that come with the 3.0 format, with
 getting none of quilt brain damage onto you.  Suddenly, nothing conflicts
 with the VCS you're using, nothing breaks bisects, nothing causes spurious
 recompiles, etc.
 
 Except for nuking upstream debian/ dir which can mean a bit of lost work if
 the upstream is sane (and can save some if they're not), the 3.0 format is
 strictly better than 1.0.

 If debian/ is nuked then so is debian/patches, and if Git has been told to 
 ignore debian/patches then it cannot bring those files back.  Patching the 
 source can be an effort especially concerning documenting why the patches 
 were 
 done and the source of the patches, so these seem like they'd be important to 
 track rather than something to ignore.

Small misunderstanding here.

If you have a 1.0 format package that contains debian/ in the orig
tarball then the diff.gz will contain only the changes to the debian
dir.

In 3.0 (quilt) the debian dir is ignored when unpacking an orig tarball
and the debian tarball contains the full debian dir. The benefit is that
you do no longer need to repack the orig tarball to remove files from
the debian dir and changes upstream does to the debian dir are
ignored. The drawback is that changes upstream does to the debian dir
are ignored.

MfG
Goswin


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87aa15lodn.fsf@frosties.localnet



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Adam Borowski
On Fri, May 18, 2012 at 12:16:40PM +0200, Andrew Shadura wrote:
 On Fri, 18 May 2012 11:37:08 +0200
 Adam Borowski kilob...@angband.pl wrote:
  Quilt is a kind of really primitive VCS.  It does not make sense to
  use both it and a modern one, and when someone tries,
 
 I'm sorry to disappoint you, but quilt isn't a VCS at all. It's a patch
 queue management system, and it does its job well. And, by the way, git
 can't do it better at the moment as guilt seems to be dead, and stgit
 is buggy (mq in mercurial is better than quilt, but we speak of git
 atm).

What would you need guilt or stgit for?  Various invocations of git-rebase
can already do all of that.  -i in particular can do most of that in an
user-friendly way.

 Keeping patches in git makes thing less transparent and more
 complicated. You have to inspect all the history just to find out what
 changes did maintainer do to the original source.

I'm sorry but I fail to see any core differences between quilt and a series
of patches rebased on top of the latest upstream tag.  Except that git's
porcelain has better tools to do that -- just recall recent complains about
unfuzzying patches.  Git will do a 3-way merge during rebasing, which is
more powerful than just copying a patch over as it has more context
(especially, old context vs new context) to work with.

A rebased series is just one way to work with git, but it alone can do
everything quilt can.

 And, of course, you need to have a clone of the repo.

A semi-shallow clone of [upstream_tag .. HEAD] ships exactly as much as
tarball + quilt series.

-- 
“This is gonna be as easy as cheating on an ethics exam!”
-Cerise Brightmoon


signature.asc
Description: Digital signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Roger Leigh
On Fri, May 18, 2012 at 01:27:50PM +0200, Adam Borowski wrote:
 On Wed, May 16, 2012 at 07:45:24PM -0700, Russ Allbery wrote:
  Charles Plessy ple...@debian.org writes:
  
   Also, it is very sad that, as a project, we can not decide whether we go
   for 3.0 (git) or not, or have a concrete list of resolvable objections
   from the people whose work is direclty impacted by the use of this
   format.
  
  We know what a primary concrete objection is.  We discussed it at length
  at DebConf two years ago, and then on debian-devel afterwards.  Uploading
  a Git archive requires reviewing the entire contents of the archive, not
  just the current code, for licensing issues, which is pretty painful from
  the ftp-master perspective.
 
 How come?  If the .git directory shipped in the package is pruned, there is
 no hidden data.  All you have to review are commits that are present there,
 which is exactly the same as with quilt: you need to review the tarball and
 every single patch.

I think this is a key point.  The aim of the git format should not be
provide the entire history, any more than the other formats do (not).

What should be provided needs to be
- sufficient to build the package
- sufficient to determine the changes made between the Upstream
  release and the Debian upload
- sufficient to allow further uploads, including NMUs
- (allow restoration of the full history)

  There was never really a satisfactory resolution to that discussion.  We
  can upload very shallow clones, but they end up looking a lot like the
  existing quilt format with single-debian-patch,
 
 There's a whole world between shallow clones and complete ones.  While
 existing git porcelain provides no convenient tools to selectively
 shallowify a repository, this is because no one had that need before.
 
 If we allow non-linear Debian changes (ie, merged not rebased, etc), there
 is indeed a complex question: where to cut[2].  But even then, a given commit
 is either present or not.  If too much old history is there, that's no
 different from the upstream shipping an old tarball and a pile of patches
 upon it (like ancient apache or qmail).

If the git repo contain two tags, maybe signed, one which uniquely
referenced the upstream version, and one which referenced the debian
version, then all commits not part of the graph between these two
commits could be dropped.  This would preserve all history of
branching and merging between these two points.  Tools used for
importing upstream tarballs could automatically create such tags;
native git projects can do this themselves.  These tags could be
put in the .dsc, so that projects can use their own naming rules,
or dpkg-source could use a specific method. [As an upstream who uses
signed tags for all releases, the flexibility to use the project-
specific tags would be useful.]

dak could check that the upstream tag referenced the same commit
between uploads, as well as maybe also verifying the tag signature.
This would ensure that the upstream source couldn't be altered in
an upload, the same as is enforced for orig.tar right now.
dak could also check the debian tag if required; though the .dsc
signature would presumably be sufficient, signed tag verification
would be useful for a potential git-only workflow in the future.

Providing that the packaged repo contains links to the public
git repo, and we can get this from debian/control (in case the
developer is using a private or git+ssh repo), the end user
should be able to do a simple git fetch origin to restore the
full history.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linuxhttp://people.debian.org/~rleigh/
 `. `'   schroot and sbuild  http://alioth.debian.org/projects/buildd-tools
   `-GPG Public Key  F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120518124912.gi22...@codelibre.net



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Henrique de Moraes Holschuh
On Fri, 18 May 2012, Adam Borowski wrote:
 On Fri, May 18, 2012 at 12:16:40PM +0200, Andrew Shadura wrote:
  On Fri, 18 May 2012 11:37:08 +0200
  Adam Borowski kilob...@angband.pl wrote:
   Quilt is a kind of really primitive VCS.  It does not make sense to
   use both it and a modern one, and when someone tries,
  
  I'm sorry to disappoint you, but quilt isn't a VCS at all. It's a patch
  queue management system, and it does its job well. And, by the way, git
  can't do it better at the moment as guilt seems to be dead, and stgit
  is buggy (mq in mercurial is better than quilt, but we speak of git
  atm).
 
 What would you need guilt or stgit for?  Various invocations of git-rebase
 can already do all of that.  -i in particular can do most of that in an
 user-friendly way.

You rebase, that branch is crap that cannot possibly be used by others in
any way that is not (1) error-prone; (2) annoying; (3) at least as
troublesome as quilt (IMHO it is much worse than quilt).  Have you ever been
downstream from someone that publishes branches that are rebased all the
time?

But yes, git is *MUCH* better at merging than patch, which would be the
reason why I work on development of patch-based deliverables (anything for
the Linux kernel, and anything that is supposed to make its way upstream)
using the latest development shapshot of stgit instead of quilt.

When it is time to release/upload, the branch gets git format-patch'd, and
makes its way to debian/patches for 3.0(quilt) to handle.  That branch is
never published.  git-pq can automate this stuff in an even better way that
is rebase-less if you want, but I don't bother.

 I'm sorry but I fail to see any core differences between quilt and a series
 of patches rebased on top of the latest upstream tag.  Except that git's

3.0(quilt) doesn't need a full git repository to actually be manipulated.
Since we cannot use 3.0(git) with the full git repository in Debian, IMO
that makes 3.0(git) useless if you're going to use it like that.

You're free to propose that we change the way 3.0(git) is supposed to be
used, and maybe that will require a 3.1(git), or maybe not.  That's probably
where we'll get some value out of this necrotic thread.  Damn, I hate the
stink of dead horse corpses...

It would certainly be possible to define that all that can go in the git
repository is the snapshots uploaded to Debian/Ubuntu.  That DOES mean you
CANNOT use git directly with the upstream repository, you'll need to
transport changes using git format-patch and git-am, or maybe git
cherry-pick from a remote.  I think this will actually be worse for people
to understand than 3.0(quilt), but it does have the advantage that you will
be using git instead of quilt to manipulate the changes.   We'd need a
procedure to deal with uploads fixing cannot be distributed, but it was
problems, and THAT will require rewriting history to get rid of the
offending data.  Which is rather nasty, but doable.

 A rebased series is just one way to work with git, but it alone can do
 everything quilt can.

Indeed.  But shallow clones are not the way (we've debated this already on
a huge technical thread, at least twice).

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120518140907.ge...@khazad-dum.debian.net



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Bernhard R. Link
* Adam Borowski kilob...@angband.pl [120518 11:37]:
 You complain about forcing people to use git, while you push quilt onto
 everyone else.
 [...]

 I really wish there was a 3.0 format besides 3.0 (quilt), so people are
 not mislead into thinking they have to (or even, would gain anything) from
 writing patches in quilt's format.

Noone is forcing quilt on anyone.

We need a source format that can properly represent changes to the
upstream source code and that is best done as some series of patches.
Using a format that is a subset of quilt without all the magic makes
sense as that makes it easy for anyone to write or read.
(It's just a set of patches to be applied with -p1 and a file to list
the names of those patches line by line, i.e. no special sort algorithm
for filesnames needs to be defined).

One of the biggest faults of 3.0 (quilt) is its name. It should really
have been called 3.0 (patches) or even better 3.0 (non-native).

A proper package should either have no upstream changes or broken down
changeset that can actually be applied. If you have those changes it is
trivial to create a 3.0 (quilt) source package out of that.

And yes, git is the better quilt for managing a source tree. Which is
why I use it exclusively to work on my 3.0 (quilt) packages.

Bernhard R. Link


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120518145644.gb2...@client.brlink.eu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Bernd Zeimetz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 05/18/2012 11:37 AM, Adam Borowski wrote:
 On Fri, May 18, 2012 at 09:24:04AM +0200, Bernd Zeimetz wrote:
 On 05/17/2012 04:52 PM, Gergely Nagy wrote:
 I'm confused concerning the above; the point of a VCS in this context
 is to track changes to the source package, and the patches are
 themselves important changes to the source package.  If you have Git
 ignore the patches then Git doesn't have a complete view of the
 source package anymore.  Why would you want to do that?
 
 Git does have a complete view. What the above does, is tell
 dpkg-source to fold any changes made to the upstream sources into a
 single patch. Since the git tree already has the patches applied (with
 upstream sources on a different branch, most probably), it has a full
 view.
 
 This basically folds whatever patches the git tree has over upstream, 
 outside of debian/ into a single file. That's about it. Since that
 file is generated, it has no business staying in git.
 
 Doing that is the most stupid idea ever. All it does is to ensure that
 you package can't be NMUed sanely and that people who need to work with
 the sources and your patches for whatever reason have to clone your git,
 which might be not available or just too large for them to download - so
 at the end changes are high that they end up with a largish unreadable
 patch, similar to the mess we get from Ubuntu sometimes. The only thing
 that makes sense would be to use git-format-patch to export your patches
 to debian/patches and list them in the series file. Or use gbp-pq, which 
 was made exactly for that.
 
 Uhm, please switch around git and quilt, and say that again.

No.

 Quilt is a kind of really primitive VCS.  It does not make sense to use
 both it and a modern one, and when someone tries, this ends up with no end
 of woe.  Quilt sprinkles its modifications around the source, breaks
 timestamps causing unnecessary rebuilds, breaks basic VCS abilities like
 bisection, makes it really hard to even review history, and so on.

If you get a cd image with sources nobody cares what the maintainer used to
manage the package. A developer without internet access cares about usable
patches in debian/patches instead of a big, uncommented blob. Quilt is not a
VCS at all, it is a system to apply and unapply a list of patches, nothing more.


 You complain about forcing people to use git, while you push quilt onto 
 everyone else.  And while git can do every single thing quilt can do, the 
 reverse is thoroughly untrue.

See above. To use patches in debian/patches you don't even need quilt. People
might not have access to your famous git repository.


 I really wish there was a 3.0 format besides 3.0 (quilt), so people
 are not mislead into thinking they have to (or even, would gain anything)
 from writing patches in quilt's format.

Quilt doesn't us a special format. You can just go and run git-format-patch to
export patches from git.

If you want people to be able to work with your patches *AND* you don't like
to ship a proper (quilt) set of patches, figure out what needs to be done to
get 3.0 (git) accepted (like automatic removal of branches which are not part
of the packaging, ensuring that source versions which were not distributable
were removed from the repository, and so on...) - then you can happily assume
that people are able to use your git repository as they actually get a copy on 
CD.



- -- 
 Bernd ZeimetzDebian GNU/Linux Developer
 http://bzed.dehttp://www.debian.org
 GPG Fingerprint: ECA1 E3F2 8E11 2432 D485  DD95 EB36 171A 6FF9 435F
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCAAGBQJPtnjHAAoJEOs2Fxpv+UNfQREP/A9Y2Cy6zzd+kQeje8AvjtSQ
VrWJEFwNDcWM/Sf5K6NvccSg+G+8dMjb8XXv9HOJKf9wnSXLLpHTbIAUpTTms71a
HHis4lCIrm6t1HAU7GmQAHwhJKW+z1G52xzzEXC9SHfECCaMERDPgUwrHsO2mujx
qN9ormQufui0SmWUlIvRyNp9S5UtY7Qvq1iNzquK+D/9l8U5sCx8TcxhBmR7L8ZO
8Ncby9dIzvYVUahGXwpOB4am/1VPPJkMIMW+IrpJIXKrpjg8KWXJ5JC1eFOu3PHs
vUBoqm42M9LeFhmcCO2H20aCF9JhoMQkPkqTmQBJEpvtIvo3xm9/SQIm296aGtKS
dWA3Vs3XZCL0+OOxfo0pE46kwxb3M7m327dg2O0mdMtq+NPTh8Xon1E2k4yHVSEe
BBl4o2JRrXEVKj3NnJbT9PbajwzOMzZYuIk0APyWePPfi1j5j6kaZXFBblz6x4H/
+R5PshcVoiX0ZQKmXcOmr1QNDc6XygiS2PCapeQbFURcVBqEvf1ePtqHAendYP+F
1QmIYh5HbKVI+Tkr9962Kd782zJuT2Ja9GeZE40XpxxXiKKI84mVdlNTuUzHXixl
8MIg97VsEOp0LC6K9Oa3vOEObJ+4ln3ZCKUn9npWDZ59+Yt9Fmkw1K3V/NuJFsTS
uYhgNlkRtgPojwfw+L5t
=oQ0Y
-END PGP SIGNATURE-


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4fb678d5.8040...@bzed.de



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Russ Allbery
Henrique de Moraes Holschuh h...@debian.org writes:

 When it is time to release/upload, the branch gets git format-patch'd,
 and makes its way to debian/patches for 3.0(quilt) to handle.  That
 branch is never published.  git-pq can automate this stuff in an even
 better way that is rebase-less if you want, but I don't bother.

I do this work in cases where keeping the patches separate is useful for
some reason, but mostly it's not.  I therefore use single-debian-patch for
most of my packages, and only use this sort of automation for a very few
where there are lots of upstream changes and some benefit to keeping them
separate.

I'm unwilling to do all this extra work for a theoretical marginal benefit
that only applies to people who aren't using Git.  I'm only willing to do
it when the benefit is not theoretical.  For most of my packages, no one
is going to care, particularly for those where I'm also upstream.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87r4uhcmi8@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Charles Plessy
Le Wed, May 16, 2012 at 07:45:24PM -0700, Russ Allbery a écrit :
 Charles Plessy ple...@debian.org writes:
 
  Also, it is very sad that, as a project, we can not decide whether we go
  for 3.0 (git) or not, or have a concrete list of resolvable objections
  from the people whose work is direclty impacted by the use of this
  format.
 
 We know what a primary concrete objection is.  We discussed it at length
 at DebConf two years ago, and then on debian-devel afterwards.  Uploading
 a Git archive requires reviewing the entire contents of the archive, not
 just the current code, for licensing issues, which is pretty painful from
 the ftp-master perspective.
 
 There was never really a satisfactory resolution to that discussion.

Hi Russ and everybody,

it is indeed hard to reach conclusions when discussing on high-traffic mailing
lists.

I have attempted to summarise some elements of discussion on wiki.debian.org.
Please let me know if I have misunderstood or misrepresented people's
contributions, and I will correct.  Please of course feel free to correct or
update by yourself.

  http://wiki.debian.org/GitSrc#Discussion

In the case of the initial copryight review, which is if I understand well the
strongest objection, wouldn't it be solved if the first upload to Debian would
contain as few history as possible ?  Then the quantity of history in the
source packages could be allowed to grow, for instance up to one or two
previous stable releases.

Have a nice week-end,

-- 
Charles Plessy
Tsurumi, Kanagawa, Japan


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120519025607.ga5...@falafel.plessy.net



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-18 Thread Tollef Fog Heen
]] Roger Leigh 

 I think this is a key point.  The aim of the git format should not be
 provide the entire history, any more than the other formats do (not).
 
 What should be provided needs to be
 - sufficient to build the package
 - sufficient to determine the changes made between the Upstream
   release and the Debian upload
 - sufficient to allow further uploads, including NMUs
 - (allow restoration of the full history)

- The source, aka the preferred form for modification.

I think we're failing to provide that in many cases today, since if
you're going to do any serious hacking on a project, you end up cloning
its VCS, you don't just grab a tarball and use that.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87txzcsrc7@qurzaw.varnish-software.com



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Chris Knadle
On Wednesday, May 16, 2012 06:38:49, Adam Borowski wrote:
 On Tue, May 15, 2012 at 10:10:28AM +0100, Jon Dowland wrote:
  On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
   No, I hereby start saying good by to 3.0
  
  I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
  found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
  few packages.
 
 I can't see any reason to use 1.0 anymore, ever.
 
 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:
 
 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

I'm confused concerning the above; the point of a VCS in this context is to 
track changes to the source package, and the patches are themselves important 
changes to the source package.  If you have Git ignore the patches then Git 
doesn't have a complete view of the source package anymore.  Why would you 
want to do that?

 and perhaps rm -rf .pc debian/patches in the clean target if those bother
 you -- and you have all the goodies that come with the 3.0 format, with
 getting none of quilt brain damage onto you.  Suddenly, nothing conflicts
 with the VCS you're using, nothing breaks bisects, nothing causes spurious
 recompiles, etc.
 
 Except for nuking upstream debian/ dir which can mean a bit of lost work if
 the upstream is sane (and can save some if they're not), the 3.0 format is
 strictly better than 1.0.

If debian/ is nuked then so is debian/patches, and if Git has been told to 
ignore debian/patches then it cannot bring those files back.  Patching the 
source can be an effort especially concerning documenting why the patches were 
done and the source of the patches, so these seem like they'd be important to 
track rather than something to ignore.

  -- Chris

--
Chris Knadle
chris.kna...@coredump.us
GPG Key: 4096R/0x1E759A726A9FDD74


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


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Jon Dowland
On Thu, May 17, 2012 at 10:41:37AM -0400, Chris Knadle wrote:
 I'm confused concerning the above; the point of a VCS in this context is to 
 track changes to the source package, and the patches are themselves important 
 changes to the source package.  If you have Git ignore the patches then Git 
 doesn't have a complete view of the source package anymore.  Why would you 
 want to do that?

It's the other way around. You manage changes to the source package as commits
in the VCS; perhaps tracked on separate branches, perhaps not. The source
package ends up being a flattened version of all of these commits.  So the
'preferred form for modification' is the VCS archive; the source package is a
second class citizen.

So to follow Adam's instructions you would first apply each of the patches as a
commit in your VCS, then delete them, then ignore debian/patches going forward
(treating it as an implementation detail of a legacy source archive format)

Yes, I think it's a shame if the preferred form for modification wasn't the
source package.  I also think it's turning a blind eye to say putting git
repos in as source packages would be not worth the work to audit them; but we
can keep hosting them at git.debian.org just fine.


-- 
Jon Dowland


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120517145410.GB7703@debian



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Gergely Nagy
Chris Knadle chris.kna...@coredump.us writes:

 On Wednesday, May 16, 2012 06:38:49, Adam Borowski wrote:
 On Tue, May 15, 2012 at 10:10:28AM +0100, Jon Dowland wrote:
  On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
   No, I hereby start saying good by to 3.0
  
  I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
  found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
  few packages.
 
 I can't see any reason to use 1.0 anymore, ever.
 
 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:
 
 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

 I'm confused concerning the above; the point of a VCS in this context is to 
 track changes to the source package, and the patches are themselves important 
 changes to the source package.  If you have Git ignore the patches then Git 
 doesn't have a complete view of the source package anymore.  Why would you 
 want to do that?

Git does have a complete view. What the above does, is tell dpkg-source
to fold any changes made to the upstream sources into a single
patch. Since the git tree already has the patches applied (with upstream
sources on a different branch, most probably), it has a full view.

This basically folds whatever patches the git tree has over upstream,
outside of debian/ into a single file. That's about it. Since that file
is generated, it has no business staying in git.

 Except for nuking upstream debian/ dir which can mean a bit of lost work if
 the upstream is sane (and can save some if they're not), the 3.0 format is
 strictly better than 1.0.

 If debian/ is nuked then so is debian/patches, and if Git has been told to 
 ignore debian/patches then it cannot bring those files back.

You're misreading this. Nuking upstream debian/ means ignoring any
debian/ directory upstream may have had. That is generally a Good
Thing(tm), as we want to have our own packaging.

The original is still available in both the upstream tarball, and the
upstream branch. debian/patches in this case is irrelevant, as that is
automatically generated by diffing the upstream tree against the current
(git) tree and folding it into a single patch file.

 Patching the source can be an effort especially concerning documenting
 why the patches were done and the source of the patches, so these seem
 like they'd be important to track rather than something to ignore.

The reasons can - and should be - documented in git. Granted, that does
not transfer to the debianized source package, which is unfortunate, but
it's still better than fighting with integrating quilt with a VCS (in
which case, everyone with a higher number of patches would go back to
1.0 and custom patching systems and ignore every other benefit of 3.0,
because quilt and VCS generally don't play nice together).

-- 
|8]


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/871umioo6l.fsf@algernon.balabit



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Russ Allbery
Tollef Fog Heen tfh...@err.no writes:

 Pushing a signed tag and having source packages and binaries built from
 that doesn't rely on 3.0 (git), though.  «Just» a repository somewhere
 with hooks that go «oh, a signed tag, let me build a source package and
 upload that».  Might fire it off as a job to a separate process so
 pushing to big repos doesn't take a winter and a day, but that's really
 an implementation detail.

Good point.

If I were to pick between the enhancements to Debian in this area, none of
which I have time to work on and therefore can't vote on via
implementation, I'd be way more interested in avoiding the entire source
package upload process entirely and be able to just push signed Git tags
to a trusted host that stores Git repositories for our packages.  Even if
those repositories were only accessible to Debian maintainers because
they're not license-reviewed.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/871umiy9r8@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Andreas Barth
* Russ Allbery (r...@debian.org) [120517 19:53]:
 Tollef Fog Heen tfh...@err.no writes:
 
  Pushing a signed tag and having source packages and binaries built from
  that doesn't rely on 3.0 (git), though.  «Just» a repository somewhere
  with hooks that go «oh, a signed tag, let me build a source package and
  upload that».  Might fire it off as a job to a separate process so
  pushing to big repos doesn't take a winter and a day, but that's really
  an implementation detail.
 
 Good point.
 
 If I were to pick between the enhancements to Debian in this area, none of
 which I have time to work on and therefore can't vote on via
 implementation, I'd be way more interested in avoiding the entire source
 package upload process entirely and be able to just push signed Git tags
 to a trusted host that stores Git repositories for our packages.  Even if
 those repositories were only accessible to Debian maintainers because
 they're not license-reviewed.

git.debian.org isn't license-reviewed either, so could be the same
level of being public. Having special form of git-tags on git.d.o
automatically uploaded to ftp-master (and having there the usual
checks) would sound a good idea (of course, also for svn and other
vcs). However, this package format would still need to allow NMUs
(and/or having the vcs in question having support for NMUs).


Andi


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120517181917.ga2...@mails.so.argh.org



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Tollef Fog Heen
]] Russ Allbery 

 If I were to pick between the enhancements to Debian in this area, none of
 which I have time to work on and therefore can't vote on via
 implementation, I'd be way more interested in avoiding the entire source
 package upload process entirely and be able to just push signed Git tags
 to a trusted host that stores Git repositories for our packages.  Even if
 those repositories were only accessible to Debian maintainers because
 they're not license-reviewed.

As always, it's easier to add another abstraction layer and so generate
the (somewhat pointless) source package and upload that, rather than
modifying dak (and/or buildd) to handle two kinds of sources and source
tools.

I do agree it'd be better if we could just get rid of source packages,
but we're far from there yet, sadly.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87obpmtzob@qurzaw.varnish-software.com



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Chris Knadle
On Thursday, May 17, 2012 10:52:02, Gergely Nagy wrote:
 Chris Knadle chris.kna...@coredump.us writes:
  On Wednesday, May 16, 2012 06:38:49, Adam Borowski wrote:
  On Tue, May 15, 2012 at 10:10:28AM +0100, Jon Dowland wrote:
   On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
No, I hereby start saying good by to 3.0
   
   I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have
   also found myself to be incompatible iwth 3.0 (quilt) and used 1.0
   for my last few packages.
  
  I can't see any reason to use 1.0 anymore, ever.
  
  It is true that 3.0 (quilt) does have a great downside, quilt, but it
  also has a number of upsides.  And working around quilt is simple:
  
  echo single-debian-patch debian/source/options
  echo /.pc .gitignore
  echo /debian/patches .gitignore
  
  I'm confused concerning the above; the point of a VCS in this context is
  to track changes to the source package, and the patches are themselves
  important changes to the source package.  If you have Git ignore the
  patches then Git doesn't have a complete view of the source package
  anymore.  Why would you want to do that?
 
 Git does have a complete view. What the above does, is tell dpkg-source
 to fold any changes made to the upstream sources into a single
 patch. Since the git tree already has the patches applied (with upstream
 sources on a different branch, most probably), it has a full view.

 This basically folds whatever patches the git tree has over upstream,
 outside of debian/ into a single file. That's about it. Since that file
 is generated, it has no business staying in git.

So essentially this uses Git to create the 3.0 (quilt) format without actually 
using quilt, yet acts similar to the original 1.0 format of making a single 
patch.   That's pretty interesting.  Thanks for the explanation.

  Except for nuking upstream debian/ dir which can mean a bit of lost work
  if the upstream is sane (and can save some if they're not), the 3.0
  format is strictly better than 1.0.
  
  If debian/ is nuked then so is debian/patches, and if Git has been told
  to ignore debian/patches then it cannot bring those files back.
 
 You're misreading this. Nuking upstream debian/ means ignoring any
 debian/ directory upstream may have had. That is generally a Good
 Thing(tm), as we want to have our own packaging.

Okay.  I don't commonly see debian/ directories in the upstream sources 
themselves, so I couldn't tell that's what you had meant.

 The original is still available in both the upstream tarball, and the
 upstream branch. debian/patches in this case is irrelevant, as that is
 automatically generated by diffing the upstream tree against the current
 (git) tree and folding it into a single patch file.

Yes I see.

  Patching the source can be an effort especially concerning documenting
  why the patches were done and the source of the patches, so these seem
  like they'd be important to track rather than something to ignore.
 
 The reasons can - and should be - documented in git. Granted, that does
 not transfer to the debianized source package, which is unfortunate, but
 it's still better than fighting with integrating quilt with a VCS (in
 which case, everyone with a higher number of patches would go back to
 1.0 and custom patching systems and ignore every other benefit of 3.0,
 because quilt and VCS generally don't play nice together).

One of the problems I'm running into is in working on updating a package that 
has been abandoned and is now three years older than upstream, and which has a 
single (1.0 format) patch with no notes in the files themselves, and no VCS 
location.  I can look through the changelog in the package, but without any 
way of matching up dates due to the patch being bundled into a single file, I 
cannot seem to match up what changes within the patch match up with the 
changelog, so I cannot tell which elements of the patch may still be relevent 
today with a new upstream version of the software.

If Git had been used it would be possible to figure out which commit made what 
change, but it would still be a lenthy process.  Quilt patches with annotated 
headers to describe each patch still seems like they have an advantage in that 
the annotated headers are in the patch files themselves.

I'm not sure which is better at this point (and it may depend on the 
situation) but either way it's nice to know about both options.

Thanks.

  -- Chris

--
Chris Knadle
chris.kna...@coredump.us
GPG Key: 4096R/0x1E759A726A9FDD74


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


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Yves-Alexis Perez
On mar., 2012-05-15 at 14:32 +0900, Norbert Preining wrote:
 Hi dpkg-* maintainers,

I think you missed the correct mailing list to reach the dpkg-*
maintainers.
-- 
Yves-Alexis


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


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Russ Allbery
Tollef Fog Heen tfh...@err.no writes:
 ]] Russ Allbery 

 If I were to pick between the enhancements to Debian in this area, none
 of which I have time to work on and therefore can't vote on via
 implementation, I'd be way more interested in avoiding the entire
 source package upload process entirely and be able to just push signed
 Git tags to a trusted host that stores Git repositories for our
 packages.  Even if those repositories were only accessible to Debian
 maintainers because they're not license-reviewed.

 As always, it's easier to add another abstraction layer and so generate
 the (somewhat pointless) source package and upload that, rather than
 modifying dak (and/or buildd) to handle two kinds of sources and source
 tools.

 I do agree it'd be better if we could just get rid of source packages,
 but we're far from there yet, sadly.

Oh, sure.  And I'd be fine with that.  I just really like the idea of
having everything about the package build automated, including generation
of the source package, so that we no longer have problems where the
maintainer does something weird on their local system.  I'm fine with it
being optional for those who want to use it, but I'd like to use it.  One
would test the build locally and then just push the tag, and the whole
process would be reproduced in our infrastructure with a known
configuration and we'd identify problems much faster.

It would also mean that any Debian maintainer could easily clone the
canonical source for a package that's using Git and that infrastructure,
which we sort of have with debcheckout but a bit awkwardly, and NMUs could
always be pushed to the same place, with the security handled via regular
upload rights checking instead of the more ad hoc git.debian.org
permission approach.

It feels like the sort of direction in which software development is
moving, and it feels like embracing our tools in ways that we're not yet
doing.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87d362va8x@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-17 Thread Chris Knadle
On Thursday, May 17, 2012 10:54:15, Jon Dowland wrote:
 On Thu, May 17, 2012 at 10:41:37AM -0400, Chris Knadle wrote:
  I'm confused concerning the above; the point of a VCS in this context is
  to track changes to the source package, and the patches are themselves
  important changes to the source package.  If you have Git ignore the
  patches then Git doesn't have a complete view of the source package
  anymore.  Why would you want to do that?
 
 It's the other way around. You manage changes to the source package as
 commits in the VCS; perhaps tracked on separate branches, perhaps not. The
 source package ends up being a flattened version of all of these commits. 
 So the 'preferred form for modification' is the VCS archive; the source
 package is a second class citizen.
 
 So to follow Adam's instructions you would first apply each of the patches
 as a commit in your VCS, then delete them, then ignore debian/patches
 going forward (treating it as an implementation detail of a legacy source
 archive format)
 
 Yes, I think it's a shame if the preferred form for modification wasn't the
 source package.  I also think it's turning a blind eye to say putting git
 repos in as source packages would be not worth the work to audit them; but
 we can keep hosting them at git.debian.org just fine.

Although I like the /idea/ of being able to modify the source package directly 
via Git as if there were a 3.0 (Git) source format, I also think it's 
important to be able to verify the source download that came from upstream.  
Including the original source tarball isn't enough because that is then being 
modified.  Doing something like 'git diff original-source-commit..HEAD' to 
find out how the source has been changed would presumably also contain diffs 
from debian/ files not related to the source.   Looking at the manpage for 
'git diff' it isn't immediately clear to me how you'd filter those out.  
[Although I'm sure there's a way.]

Another thing I've seen with another package I'm working on in collaboration 
is using a Git repo in which the only contents are the debian/ files and not 
the original source tarball nor source files at all.  To do a built the source 
is then downloaded via uscan, expanded, and the debian/ directory is copied 
into the expanded source directory, and then built.  With this kind of 
configuration no source files are tracked in Git, so instead it's necessary to 
track debian/patches so that patches can be applied to the pristine source.

At the moment I'm following the latter methodology to see how well it works 
out and whether I like it.  If anyone else has used this method and has 
comments on it, I'd be interested in reading them.

Thanks.

  -- Chris

--
Chris Knadle
chris.kna...@coredump.us
GPG Key: 4096R/0x1E759A726A9FDD74


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


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Bastien ROUCARIES
On Tue, May 15, 2012 at 11:10 AM, Jon Dowland j...@debian.org wrote:
 On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
 No, I hereby start saying good by to 3.0

 I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
 found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
 few packages.

You could use gitpkg with a quilt export hook. i use it regularly with
imagemagick and it work perfectly (it is gitpkg over git over svn).

Bastien


 --
 To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: http://lists.debian.org/20120515091028.GB24635@debian



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/CAE2SPAaMrJR2y15X0OKteGT47SZ1Ej=QG=v++iywstkvuod...@mail.gmail.com



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Adam Borowski
On Tue, May 15, 2012 at 10:10:28AM +0100, Jon Dowland wrote:
 On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
  No, I hereby start saying good by to 3.0
 
 I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
 found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
 few packages.

I can't see any reason to use 1.0 anymore, ever.

It is true that 3.0 (quilt) does have a great downside, quilt, but it also
has a number of upsides.  And working around quilt is simple:

echo single-debian-patch debian/source/options
echo /.pc .gitignore
echo /debian/patches .gitignore

and perhaps rm -rf .pc debian/patches in the clean target if those bother
you -- and you have all the goodies that come with the 3.0 format, with
getting none of quilt brain damage onto you.  Suddenly, nothing conflicts
with the VCS you're using, nothing breaks bisects, nothing causes spurious
recompiles, etc.

Except for nuking upstream debian/ dir which can mean a bit of lost work if
the upstream is sane (and can save some if they're not), the 3.0 format is
strictly better than 1.0.

-- 
“This is gonna be as easy as cheating on an ethics exam!”
-Cerise Brightmoon


signature.asc
Description: Digital signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Jon Dowland
On Wed, May 16, 2012 at 12:38:49PM +0200, Adam Borowski wrote:
 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:
 
 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

Thanks for the recipes for avoiding the quilt stuff; whilst still more work
than just use 1.0, but perhaps the advantages are indeed worth it. (Esp.
in light of the talk re: xz compression.)

 Except for nuking upstream debian/ dir which can mean a bit of lost work if
 the upstream is sane (and can save some if they're not), the 3.0 format is
 strictly better than 1.0.

I had to go away and read up on the other things 3.0 brings to the table.
Indeed they are nice-to-haves, which I am not benefiting from precisely because
they are presently only available in Debian via 3.0 (quilt).  This is a bit of
a marketing fail for 3.0., in hindsight.



-- 
Jon Dowland


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120516123707.GA6784@debian



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Russ Allbery
Adam Borowski kilob...@angband.pl writes:

 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:

 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

I recommend using local-options instead of options.  That way all of your
changes go into a single patch, but any NMUs automatically are put into
separate patches by version number.  It makes analyzing packages that have
been NMU'd much nicer.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87wr4cvy2a@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Charles Plessy
Le Wed, May 16, 2012 at 12:38:49PM +0200, Adam Borowski a écrit :
 On Tue, May 15, 2012 at 10:10:28AM +0100, Jon Dowland wrote:
  On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
   No, I hereby start saying good by to 3.0
  
  I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
  found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
  few packages.
 
 I can't see any reason to use 1.0 anymore, ever.
 
 It is true that 3.0 (quilt) does have a great downside, quilt, but it also
 has a number of upsides.  And working around quilt is simple:
 
 echo single-debian-patch debian/source/options
 echo /.pc .gitignore
 echo /debian/patches .gitignore

It strikes me that while we have more than 6,500 source packages managed with
Git, we are pushing for a source package format that does not work
transparently with them.

Also, it is very sad that, as a project, we can not decide whether we go for
3.0 (git) or not, or have a concrete list of resolvable objections from the
people whose work is direclty impacted by the use of this format.

Have a nice day,

-- 
Charles Plessy
Tsurumi, Kanagawa, Japan


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120516230943.gd17...@falafel.plessy.net



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Henrique de Moraes Holschuh
On Thu, 17 May 2012, Charles Plessy wrote:
 It strikes me that while we have more than 6,500 source packages
 managed with Git, we are pushing for a source package format that does
 not work transparently with them.

It does, but not on all workflows.  A very large number of DDs are using
3.0 (quilt) with git just fine.

I don't exactly like quilt, in fact all my patch-based work is done
using stgit, but:

1) it is much better than dpatch and other homebrew stuff.  At least you
know exactly what to expect, and it is the same in the entire distro.

2) properly used, it enforces neatness and lowers a damn great deal the
barrier of entry (*and* reduces the risk of mistakes) for someone who
needs to do quick maintenance, security updates, NMUs, when taking over
the package, and even for automated extraction of changes to upstream
code.

 Also, it is very sad that, as a project, we can not decide whether we
 go for 3.0 (git) or not, or have a concrete list of resolvable
 objections from the people whose work is direclty impacted by the use
 of this format.

This is a _very_ dead horse.  I'd appreciate if you'd kindly refrain
from any further attempts at necromancy on this thread.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120517003922.gb8...@khazad-dum.debian.net



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Russ Allbery
Charles Plessy ple...@debian.org writes:

 Also, it is very sad that, as a project, we can not decide whether we go
 for 3.0 (git) or not, or have a concrete list of resolvable objections
 from the people whose work is direclty impacted by the use of this
 format.

We know what a primary concrete objection is.  We discussed it at length
at DebConf two years ago, and then on debian-devel afterwards.  Uploading
a Git archive requires reviewing the entire contents of the archive, not
just the current code, for licensing issues, which is pretty painful from
the ftp-master perspective.

There was never really a satisfactory resolution to that discussion.  We
can upload very shallow clones, but they end up looking a lot like the
existing quilt format with single-debian-patch, and it's not horribly
clear what the advantages of 3.0 (git) are at that point.  Many of the
really compelling use cases for 3.0 (git), neat stuff like possibly being
able to just push a signed tag instead of uploading or having the package
history when you get the source package, aren't very interesting with
shallow clones.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87pqa3seyj@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-16 Thread Tollef Fog Heen
]] Russ Allbery 

 There was never really a satisfactory resolution to that discussion.  We
 can upload very shallow clones, but they end up looking a lot like the
 existing quilt format with single-debian-patch, and it's not horribly
 clear what the advantages of 3.0 (git) are at that point.  Many of the
 really compelling use cases for 3.0 (git), neat stuff like possibly being
 able to just push a signed tag instead of uploading or having the package
 history when you get the source package, aren't very interesting with
 shallow clones.

Pushing a signed tag and having source packages and binaries built from
that doesn't rely on 3.0 (git), though.  «Just» a repository somewhere
with hooks that go «oh, a signed tag, let me build a source package and
upload that».  Might fire it off as a job to a separate process so
pushing to big repos doesn't take a winter and a day, but that's really
an implementation detail.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87likricaf@xoog.err.no



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Sune Vuorela
On 2012-05-15, Norbert Preining prein...@logic.at wrote:
 Is there a rational behind not allowing any fuzz?

I think it makes perfect sense to expect the patches to apply perfectly,
so we don't rely on patch  quilt to be able to unfuzz things.

Especially when unfuzzing patches are so simple.

while quilt push ; do quilt refresh ; done
#sanitychecks
dch ... refresh patches


/Sune


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/slrnjr3scl.p7v.nos...@sshway.ssh.pusling.com



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Russ Allbery
Norbert Preining prein...@logic.at writes:

 Is there a rational behind not allowing any fuzz?

Fuzz indicates that the source file has changed since the patch has been
generated, which means that the patch may no longer apply properly.  Fuzz
is a guess of convenience by the patch program that the result is
*probably* what was intended.

But fuzz indicates there may be a problem; for example, I've seen patches
apply with fuzz that add duplicate lines to a file (because the lines were
added upstream in a different location), resulting in everything from
compilation errors to serious hidden bugs in the program.

Therefore, I think it makes sense to require the maintainer to confirm
that, yes, the patch applied with fuzz still makes the correct change and
isn't indicative of an error.  A good way to indicate that is to unfuzz
the patch.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87liku0y9w@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Norbert Preining
On Mo, 14 Mai 2012, Russ Allbery wrote:
 isn't indicative of an error.  A good way to indicate that is to unfuzz
 the patch.

Or build a source and binary package, do normal testing *as*usual*
and upload ...

No, I hereby start saying good by to 3.0

Best wishes

Norbert

Norbert Preiningpreining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan TeX Live  Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094

KIRBY MISPERTON (n.)
One who kindly attempts to wipe an apparent kirby (q.v.) off another's
face with a napkin, and then discovers it to be a wart or other
permanent fixture, is said to have committed a 'kirby misperton'.
--- Douglas Adams, The Meaning of Liff


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515061717.gg19...@gamma.logic.tuwien.ac.at



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Jonathan Nieder
Hi,

(Caveat: I am not a dpkg-source maintainer.)

Sune Vuorela wrote:
 On 2012-05-15, Norbert Preining prein...@logic.at wrote:

 Is there a rational behind not allowing any fuzz?

 I think it makes perfect sense to expect the patches to apply perfectly,
 so we don't rely on patch  quilt to be able to unfuzz things.

Indeed, unfuzzing involves guessing where the patch is supposed to
apply, and different versions of GNU patch (which is what quilt uses)
may make different guesses as patch gets smarter.  The same source
package producing a different unpacked result depending on the tools
in the surrounding environment does not sound like fun to me.

I can imagine dpkg-source or wrappers like git-buildpackage learning
to automatically refresh patches when generating the source package if
requested to do so, so it would only have to make the guess once.
Perhaps someone would like to work on that?

Thanks,
Jonathan


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515061800.GA11441@burratino



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Russ Allbery
Norbert Preining prein...@logic.at writes:
 On Mo, 14 Mai 2012, Russ Allbery wrote:

 isn't indicative of an error.  A good way to indicate that is to unfuzz
 the patch.

 Or build a source and binary package, do normal testing *as*usual*
 and upload ...

There was a reason why I added the word subtle in front of serious bugs.
Duplicate code (the biggest risk of fuzzed patches) can do weird stuff,
like create odd memory leaks or nasty heisenbugs (think of duplicating
part of a mutex segment).

It only takes a minute to unfuzz a patch, if that, and nearly all that
time is spent inspecting the patch to be sure that it can be unfuzzed
safely.

quilt push -a

Look for fuzzy patch warnings.  For each fuzzy patch:

quilt pop patch
# inspect the fuzzy files to be sure everything is as expected
quilt refresh

Then:

quilt pop -a
svn commit # or VCS of your choice

Of all the things that one has to do with a package, this is pretty minor.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87fwb20xiw@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Daniel Leidert
Russ Allbery wrote:
 Norbert Preining prein...@logic.at writes:
 
  Is there a rational behind not allowing any fuzz?
 
 Fuzz indicates that the source file has changed since the patch has been
 generated, which means that the patch may no longer apply properly.  Fuzz
 is a guess of convenience by the patch program that the result is
 *probably* what was intended.
 
 But fuzz indicates there may be a problem; for example, I've seen patches
 apply with fuzz that add duplicate lines to a file (because the lines were
 added upstream in a different location), resulting in everything from
 compilation errors to serious hidden bugs in the program.
 
 Therefore, I think it makes sense to require the maintainer to confirm
 that, yes, the patch applied with fuzz still makes the correct change and
 isn't indicative of an error.  A good way to indicate that is to unfuzz
 the patch.

JFTR: Doing `quilt refresh' won't preserve the above described issue.
You can only avouid this by reporting issues upstream and tracking their
status or by checking the necessity of every patch with every new upstream
version.

Regards, Daniel
-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515062713.3...@gmx.net



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Andreas Tille
On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
 On Mo, 14 Mai 2012, Russ Allbery wrote:
  isn't indicative of an error.  A good way to indicate that is to unfuzz
  the patch.
 
 Or build a source and binary package, do normal testing *as*usual*
 and upload ...

Hmmm, what exactly is normal testing *as*usual*?  Isn't it a duty of
the maintainer to inspect critical parts of the code?  IMHO existing
patches are a perfect sign for a critical part of the code and leaving a
fuzzy patch implies you did not spended time on investigating the code.
A clean patch is somehow a tickmark Yes, I've checked this problematic
piece of code.  I really like this sensible behavour of dpkg-*.

Kind regards

Andreas.

-- 
http://fam-tille.de


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515063258.ga3...@an3as.eu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Norbert Preining
On Mo, 14 Mai 2012, Russ Allbery wrote:
 Of all the things that one has to do with a package, this is pretty minor.

If you are talking of a normal small package. Not of 2.6G of packages
where even the source packages are *generated*, and unfuzzying is a 
process that takes quite some time.

Best wishes

Norbert

Norbert Preiningpreining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan TeX Live  Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094

KELLING (participial vb.)
A person searching for something, who has reached the futile stage of
re-looking in all the places they have looked once already, is said to
be kelling.
--- Douglas Adams, The Meaning of Liff


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515063956.gh19...@gamma.logic.tuwien.ac.at



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Russ Allbery
Norbert Preining prein...@logic.at writes:
 On Mo, 14 Mai 2012, Russ Allbery wrote:

 Of all the things that one has to do with a package, this is pretty minor.

 If you are talking of a normal small package. Not of 2.6G of packages
 where even the source packages are *generated*, and unfuzzying is a 
 process that takes quite some time.

If you don't care about checking the patches, it takes fifteen minutes one
time to write a shell script and then less than ten seconds to run it
before you do an upload.

Something like (untested):

quilt pop -a
while ! quilt push -a --fuzz=0 ; do
quilt push
quilt refresh
done
quilt pop -a
svn commit -m Unfuzzed all patches

would probably do it.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87aa1a0wa2@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Norbert Preining
Hi,

On Di, 15 Mai 2012, Andreas Tille wrote:
 Hmmm, what exactly is normal testing *as*usual*?  Isn't it a duty of

Like I have, a test bed testing various upgrade and install scenaria
from stable/testing/sid.

 the maintainer to inspect critical parts of the code?  IMHO existing

Not all patches are for *code*. comments in config files etc etc.

The whole point is: this behaviour declares developers uncapable of
deciding by themselves!

I want decide *myself* when I unfuzzify. Not dpkg-source.
dpkg-source should do its work, and nothing else. Not
taking over *my* responsability in checking this, because it is not
a check, at all. Let us make a small Gedankenexperiment:

According to many of these suggestions here I should run something
like quilt push ; quilt refresh; ... for all patches regularly,
or in a script. That only *hides* the fact that there was a fuzz.
What is better? A patch that tells me that it is fuzzy or a patch
that is wasted and destroyed to a automatic quilt push ; refresh
that moves the patch around?

This behaviour as advertised here to unfuzzify patches is actually
counter-productive.

No, it is taking over responsability that is and should only be in 
the developers hand.

If we continue in this way, what is next? We have to name patches in
a very specific way? Or what other funny rules and regulations
are there created.

I don't know who is writing this and whether this is his spare time or
he is emplyoed for that. But I am using my free time and that is rare,
and I want to decide by myself, not be forced to do things how
dpkg maintainers thought it is a good idea.
(what is next? dpkg-source checking that we are not running under X
not to be distracted? Or checking our passwd file that not more than
one user is active? just to name a few development ideas!)

Anyway, I will migrate away from 3.0 as far as possible.

Best wishes

Norbert

Norbert Preiningpreining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan TeX Live  Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094

SCRABSTER (n.)
One of those dogs which has it off on your leg during tea.
--- Douglas Adams, The Meaning of Liff


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515065614.gi19...@gamma.logic.tuwien.ac.at



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Norbert Preining
On Mo, 14 Mai 2012, Russ Allbery wrote:
 If you don't care about checking the patches, it takes fifteen minutes one
 time to write a shell script and then less than ten seconds to run it
 before you do an upload.

See my other answer. This is conceptually wrong, because you might
end up with a *wrong* patch and the old one is destroyed due to the
refresh (patch just messed it up .. and I didn't realize it, uuups).

I am against this kind of automatism.  I prefer to be *reminded* that
there is something worth looking into. And I can decide myself that
if in this patch there is a off-by-one, I don't need to check.
But in other patches I have to check.

Again, my responsability, that is what I want. Not dpkg-source holding
my hand like a baby: don't don't don't do that!

Best wishes

Norbert

Norbert Preiningpreining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan TeX Live  Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094

SPROSTON GREEN (n.)
The violent colour of one of Nigel Rees's jackets, worn when he thinks
he's being elegant.
--- Douglas Adams, The Meaning of Liff


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515065931.gj19...@gamma.logic.tuwien.ac.at



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Russ Allbery
Norbert Preining prein...@logic.at writes:
 On Mo, 14 Mai 2012, Russ Allbery wrote:

 If you don't care about checking the patches, it takes fifteen minutes
 one time to write a shell script and then less than ten seconds to run
 it before you do an upload.

 See my other answer. This is conceptually wrong, because you might
 end up with a *wrong* patch and the old one is destroyed due to the
 refresh (patch just messed it up .. and I didn't realize it, uuups).

 I am against this kind of automatism.  I prefer to be *reminded* that
 there is something worth looking into.

In your previous message, it sounded like you weren't concerned about the
fuzz because you trusted your testing process.  Apparently you feel this
does require manual inspection after all?

I'm confused by the idea that you are opposed to silencing the warning
because you know it's something that you need to look at, but you're
extremely angry that dpkg-source wants you to look at it before you upload
to the archive.  If you're going to need to look at it eventually, why not
before you upload it for installation on other people's machines?

Anyway, if you want to clear the fuzz but record that the patch may
require further attention, that's also pretty trivial:

quilt push  fuzz
(echo ''; echo Patch was fuzzy on `date`; cat fuzz) | quilt header -a
rm fuzz
quilt refresh

to add the fuzzy output from the patch to the patch header for later
inspection.

 Again, my responsability, that is what I want. Not dpkg-source holding
 my hand like a baby: don't don't don't do that!

Maybe it's because I do software development as my day job and am a huge
fan of test-driven development, but I'm generally in favor of software
holding my hand like a baby and telling me that I didn't run the test
suite, didn't make all the tests pass, or introduced warnings.  It
prevents me from doing things for the sake of expediency that waste huge
amounts of my time later.  That's why I use Lintian, turn on all the
compiler warnings, and so forth.

I think you're arguing that a fuzzy patch is probably only a minor issue
and therefore shouldn't result in essentially a package rejection by
dpkg-source, but the alternative is for dpkg-source to do something that's
essentially unsafe.  I appreciate it erring on the side of caution and
requiring that someone investigate.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/871uml2a40@windlord.stanford.edu



Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Andrey Rahmatullin
On Tue, May 15, 2012 at 03:59:31PM +0900, Norbert Preining wrote:
 See my other answer. This is conceptually wrong, because you might
 end up with a *wrong* patch and the old one is destroyed due to the
 refresh (patch just messed it up .. and I didn't realize it, uuups).
Why don't you use a VCS?

-- 
WBR, wRAR


signature.asc
Description: Digital signature


Re: why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-15 Thread Jon Dowland
On Tue, May 15, 2012 at 03:17:17PM +0900, Norbert Preining wrote:
 No, I hereby start saying good by to 3.0

I'm hoping we can revisit 3.0 (git) post-squeeze, myself. But I have also
found myself to be incompatible iwth 3.0 (quilt) and used 1.0 for my last
few packages.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515091028.GB24635@debian



why do people introduce stup^Wstrange changes to quilt 3.0 format

2012-05-14 Thread Norbert Preining
Hi dpkg-* maintainers,

I know, it is documented in dpkg-source man page:
   Contrary  to  quilt's default behaviour, patches are expected to apply
   without any fuzz. When that is not the case, you should  refresh  such
   patches  with  quilt,  or  dpkg-source  will error out while trying to
   apply them.
Still I request reverting this change. It is a PITA and nothing else.

Is there a rational behind not allowing any fuzz?
Any *rational* explanation why I and probably many other have to
unfuzzify permanently patches where I *KNOW* that they are ok?

If I have a fuzzy patch that shifts one line or so, especially when
using svn/git based orig.tar.gz, this is as much a hurdle as anything else.

Well, the only options is to drop stupid 3.0 format and move back to
1.0 and use quilt manually. Is this what Debian dpkg devs want?

Best wishes

Norbert

Norbert Preiningpreining@{jaist.ac.jp, logic.at, debian.org}
JAIST, Japan TeX Live  Debian Developer
DSA: 0x09C5B094   fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094

You're bound to be unhappy if you optimize everything.
--- Donald E. Knuth


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120515053212.gf19...@gamma.logic.tuwien.ac.at