Re: OpenSSL 1.1.0

2016-11-11 Thread Jan Niehusmann
Hi,

On Fri, Nov 04, 2016 at 11:58:44PM +0200, Adrian Bunk wrote:
> You could enforce that no Qt-using package uses the wrong OpenSSL by 
> adding libssl1.0-dev dependencies to libqt4-dev and qtbase5-dev.

How can I handle the case of a package which uses both qt and curl? The
latter already switched to OpenSSL 1.1.

Jan



Bug#843969: ITP: goiardi -- A Chef server written in Go, able to run entirely in memory, with optional persistence with saving the in-memory data to disk or using MySQL or Postgres as the data storage

2016-11-11 Thread Jordi Mallach
Package: wnpp
Severity: wishlist
Owner: Jordi Mallach 

* Package name: goiardi
  Version : 0.11.0+git20161027.4.7d585ad-1
  Upstream Author : Jeremy Bingham
* URL : https://github.com/ctdk/goiardi
* License : Apache-2.0
  Programming Lang: Go
  Description : A Chef server written in Go

 Goiardi is an implementation of the Chef server written in Go. It can either
 run entirely in memory with the option to save and load the in-memory data
 and search indexes to and from disk, drawing inspiration from chef-zero, or
 it can use MySQL/MariaDB or PostgreSQL as its storage backend.



Bug#843970: ITP: ufo-core -- Library for high-performance, GPU-based computing

2016-11-11 Thread picca
Package: wnpp
Severity: wishlist
Owner: picca 

* Package name: ufo-core
  Version : 0.11.0
  Upstream Author : matthias.vogelges...@kit.edu
* URL : http://ufo.kit.edu/
* License : LGPL-3+
  Programming Lang: C, Python
  Description : Library for high-performance, GPU-based computing

 The UFO data processing framework is a C library suited to build
 general purpose streams data processing on heterogeneous
 architectures such as CPUs, GPUs or clusters. It is extensively used
 at the Karlsruhe Institute of Technology for Ultra-fast X-ray Imaging
 (radiography, tomography and laminography).
 .
 A gobject-instrospection binding is also provided to write scripts or
 user interfaces.



Re: client-side signature checking of Debian archives (Re: When should we https our mirrors?)

2016-11-11 Thread Henrique de Moraes Holschuh
On Fri, 11 Nov 2016, Christoph Biedl wrote:
> a proof of concept for all this (I can resist, though). The apt programs
> could obfuscate their request behaviour, the TLS layer could add random
> padding of data and time, but I doubt this would help much.

AFAIK, the TLS layer *does* bit-stuffing and random padding, but it
cannot do that to the point it would help the problem at hand, and still
be usable.

Bitstuffing TLS to the point it could (maybe) deal with the Debian
archive is the wrong solution for the problem anyway, so I won't expand
on this.

-- 
  Henrique Holschuh



Re: Crowd funding campaign to package browserify in debian

2016-11-11 Thread Pirate Praveen
On Tuesday 01 November 2016 02:01 PM, Pirate Praveen wrote:
> We shifted out focus to grunt from browserify realizing grunt is needed
> by more packages.

Final update before the fund raising closes in about 20 hours
https://poddery.com/posts/2734574

Summary: all new dependencies are completed (4 including grunt are
pending upload waiting for update to node-lodash, node-async, node-which
and node-glob).

We have already completed 19 days of work (120 new packages and 8
updates). We raised only half the target and completed close to the same
amount of work.

Gitlab Inc is our big backer contributing 1000 USD.

Those of you who missed he campaign can still contribute at
https://igg.me/at/debian-browserify



signature.asc
Description: OpenPGP digital signature


Re: OpenSSL 1.1.0

2016-11-11 Thread Jan Niehusmann
Hi,

(Cc to Alessandro because this causes issues with libcurl)

On Wed, Nov 02, 2016 at 09:15:13PM +0100, Kurt Roeckx wrote:
> I don't think having libssl1-1-dev vs libssl1.0-dev is going to
> make much differences in the end. The build conflicts will always
> have to be sorted out.

Well I think it makes a difference:

With libssl-dev silently switching to OpenSSL 1.1, packages get
recompiled with the new version, but the maintainers may be unaware that
this causes compatibility issues.

I have a concrete example:

It seems like the package zurl is broken by libcurl3 being linked with
OpenSSL 1.1.

This means the binary package zurl 1.7.0-1 works fine with libcurl3
7.50.1-1, but fails to connect to https URLs when libcurl3 is upgraded
to 7.51.0-1.

(It also works with curl 7.51.0-1 recompiled with OpenSSL 1.0, so I'm
quite sure it's actually caused by the OpenSSL transition.)

So, in short, upgrading libcurl3 breaks existing binary packages.

According to our policy, that means a SONAME change would be necessary.
("Every time the shared library ABI changes in a way that may break
binaries linked against older versions of the shared library, the SONAME
of the library and the corresponding name for the binary package
containing the runtime shared library should change.")

But the way the OpenSSL transition was communicated, Alessando probably
didn't expect that the change would cause an ABI change.

How do we handle this?

For this single package, zurl, I could recompile with OpenSSL 1.1. This
seems to work, but I'm not sure if there are hidden issues, as zurl also
links to qt5, which is built against libssl1.0-dev.

But who knows which other packages are silently broken the same way?

Jan



Re: OpenSSL 1.1.0

2016-11-11 Thread Kurt Roeckx
On Fri, Nov 11, 2016 at 01:23:31PM +0100, Jan Niehusmann wrote:
> Hi,
> 
> But who knows which other packages are silently broken the same way?

At least something like that also came up with xmltooling.
It's probably caused by this:
curl_easy_setopt(easy, CURLOPT_SSL_CTX_FUNCTION, &sslCtxFunction_cb);

You get an SSL_CTX from OpenSSL 1.1 and you call an OpenSSL 1.0
function with that handle. And libcurl really shouldn't have been
exposing such functions directly. If something like that is
really needed libcurl should have made a proper wrapper.

PS: Is there a reason zurl implements it's own hostname validation
checking an doesn't just use libcurls?


Kurt



Bug#843986: ITP: ruby-ya2yaml -- An UTF8 safe YAML dumper.

2016-11-11 Thread micah
Package: wnpp
Severity: wishlist
Owner: Micah Anderson 

* Package name: ruby-ya2yaml
  Version : 0.31
  Upstream Author : Akira FUNAI 
* URL : http://rubyforge.org/projects/ya2yaml/
* License : MIT
  Programming Lang: Ruby
  Description : An UTF8 safe YAML dumper.

Ya2YAML is "yet another to_yaml". It emits YAML document with complete
UTF8 support (string/binary detection, "\u" escape sequences and Unicode
specific line breaks).

I plan to maintain this package in the ruby-pkg-extras team, it is needed
for some dependencies for other packages. 



Re: OpenSSL 1.1.0

2016-11-11 Thread Jan Niehusmann
On Fri, Nov 11, 2016 at 03:15:09PM +0100, Kurt Roeckx wrote:
> At least something like that also came up with xmltooling.
> It's probably caused by this:
> curl_easy_setopt(easy, CURLOPT_SSL_CTX_FUNCTION, &sslCtxFunction_cb);
> 
> You get an SSL_CTX from OpenSSL 1.1 and you call an OpenSSL 1.0
> function with that handle. And libcurl really shouldn't have been
> exposing such functions directly. If something like that is
> really needed libcurl should have made a proper wrapper.

Yes, I agree that libcurl shouldn't expose such functions. But it does,
and it's to late to change that.

By exposing that function, SSL_CTX became part of curl's ABI.

So by linking to a different OpenSSL version with a different
representation of SSL_CTX, curl indeed changed its ABI and must
change SONAME, right?

Jan



Bug#843990: ITP: node-tmatch -- Match an object against a "pattern" object - Node.js module

2016-11-11 Thread Jérémy Lal
Package: wnpp
Severity: wishlist
Owner: "Jérémy Lal" 

* Package name: node-tmatch
  Version : 3.0.0
  Upstream Author : Isaac Z. Schlueter  (http://blog.izs.me/)
* URL : https://github.com/isaacs/tmatch#readme
* License : ISC
  Programming Lang: JavaScript
  Description : Match an object against a "pattern" object - Node.js module

 This module checks weter a value matches a given pattern.
 A pattern is an object with a set of fields that must be in
 the test object, or a regular expression that a test string
 must match, or any combination thereof.
 .
 Node.js is an event-based server-side JavaScript engine.



Bug#843992: ITP: ruby-knife-acl -- Knife plugin to manupulate Chef server access control lists

2016-11-11 Thread Stefano Rivera
Package: wnpp
Severity: wishlist
Owner: Stefano Rivera 

* Package name: ruby-knife-acl
  Version : 1.0.3
  Upstream Author : Seth Falcon , Jeremiah Snapp 

* URL : https://github.com/chef/knife-acl
* License : Apache-2.0
  Programming Lang: Ruby
  Description : Knife plugin to manupulate Chef server access control lists



Re: OpenSSL 1.1.0

2016-11-11 Thread Lisandro Damián Nicanor Pérez Meyer
On viernes, 11 de noviembre de 2016 16:05:49 ART Jan Niehusmann wrote:
> On Fri, Nov 11, 2016 at 03:15:09PM +0100, Kurt Roeckx wrote:
> > At least something like that also came up with xmltooling.
> > It's probably caused by this:
> > curl_easy_setopt(easy, CURLOPT_SSL_CTX_FUNCTION, &sslCtxFunction_cb);
> > 
> > You get an SSL_CTX from OpenSSL 1.1 and you call an OpenSSL 1.0
> > function with that handle. And libcurl really shouldn't have been
> > exposing such functions directly. If something like that is
> > really needed libcurl should have made a proper wrapper.
> 
> Yes, I agree that libcurl shouldn't expose such functions. But it does,
> and it's to late to change that.
> 
> By exposing that function, SSL_CTX became part of curl's ABI.
> 
> So by linking to a different OpenSSL version with a different
> representation of SSL_CTX, curl indeed changed its ABI and must
> change SONAME, right?

That or switching it's B-D to libssl1.0-dev to avoid the breackage, but yes, 
you are right.


-- 
Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


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


Bug#844010: ITP: deepnano -- DeepNano is alternative basecaller for Oxford Nanopore MinION reads based on deep recurrent neural networks.

2016-11-11 Thread Çağrı ULAŞ
Package: wnpp
Severity: wishlist
Owner: "Çağrı ULAŞ" 
X-Debbugs-Cc: debian-devel@lists.debian.org, debian-...@lists.debian.org

* Package name: deepnano
  Upstream Author : Vladimir Boza 
* URL : https://bitbucket.org/vboza/deepnano/
* License : (BSD-3-clause)
  Programming Lang: (C++, Python)
  Description : DeepNano is alternative basecaller for Oxford Nanopore
MinION reads based on deep recurrent neural networks.​


missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Sebastian Andrzej Siewior
there are a bunch of package which were missing -dbgsym packages on
their arch upload. The buildd built them on the remaining architectures.
Here are a few examples:
- missing on amd64: aptly, meep, xdelta3
- missing on i386: chasen, cronutils, maildrop

my understanding is that those are built and automatically added to the
changes file so they have to uploaded unless they are removed manually.
Is there maybe a loophole? Is there anything we can/should do once such
a package is found except binNMU it each time?

Sebastian



Bug#844022: ITP: node-marked-man -- Markdown to man page conversion - Node.js

2016-11-11 Thread Jérémy Lal
Package: wnpp
Severity: wishlist
Owner: "Jérémy Lal" 

* Package name: node-marked-man
  Version : 0.1.5
  Upstream Author : Jérémy Lal 
* URL : https://github.com/kapouer/marked-man
* License : Expat
  Programming Lang: JavaScript
  Description : Markdown to man page conversion - Node.js

 This module adds groff output support to node-marked.
 It provides an easy way to maintain man pages in a markdown
 format (with gfm flavor by default).
 .
 Node.js is an event-based server-side JavaScript engine



Bug#844023: ITP: node-marked-man -- Markdown to man page conversion - Node.js

2016-11-11 Thread Jérémy Lal
Package: wnpp
Severity: wishlist
Owner: "Jérémy Lal" 

* Package name: node-marked-man
  Version : 0.1.6
  Upstream Author : Jérémy Lal 
* URL : https://github.com/kapouer/marked-man
* License : Expat
  Programming Lang: JavaScript
  Description : Markdown to man page conversion - Node.js

This module adds groff output support to node-marked.
It provides an easy way to maintain man pages in a markdown
format (with gfm flavor by default).
.
Node.js is an event-based server-side JavaScript engine



Bug#844030: ITP: node-tap-parser -- Test anything protocol stream parser - Node.js module

2016-11-11 Thread Jérémy Lal
Package: wnpp
Severity: wishlist
Owner: "Jérémy Lal" 


* Package name: node-tap-parser
  Version : 3.0.3
  Upstream Author : James Halliday  (http://substack.net)
* URL : https://github.com/substack/tap-parser
* License : Expat
  Programming Lang: JavaScript
  Description : Test anything protocol stream parser - Node.js module


This module parses tap-formatted input as a stream of JavaScript
objects.
It is mainly used to extend tap reporters in various test setups.
.
Node.js is an event-based server-side JavaScript engine.

This module is a dependency of latest node-tap / node-tap-mocha-reporter.
It is also a dependency of many other softwares using tap, is well maintained
and popular.



Re: Building architecture:all packages

2016-11-11 Thread Christoph Biedl
Nikolaus Rath wrote...

> Just fix it in "bar", and don't bother worrying about the right
> severity?

If it was that simple ... The maintainers of "bar" haven't reacted to
the bug report for a few months although it contains a clear statement
the current state breaks the build of other packages. And in general I
include patches into my bug reports, but the "bar" package is rather
big, some 400 kLOC. I have a vague idea of what precisely is supposed
to happen. Also I already spent some time to find the change. The last
hours I've been playing with gcov to find differing code paths taken,
so far no avail. 

Still, I might get this sorted out. However, this incident raised a
second, more generic question: Is this an acceptable state? If John
wants to rebuild packages like "foo", he cannot simply use his
preferred architecture. The build may fail, then he has to start
trying other ones until success. I don't consider this a satisfying
situation. On the other hand I can understand Debian maintainers
wern't very happy to learn a bug in the toolchain of a doorstopper
architecture causes FTBFS there for one of their packages, which might
even result in a removal from testing.

So I was looking whether there is a consensus about this. If not, I
wouldn't mind if this ends in a guideline (seems a bit to much in
detail for Debian policy) about packages that solely build arch:all
binary packages. Like: They must be buildable at least on certain
architectures, I called them "mostly used architectures" in my first
mail. I would strongly suggest that list should not solely consist of
amd64.

Christoph


signature.asc
Description: Digital signature


Re: Building architecture:all packages

2016-11-11 Thread Christoph Biedl
Paul Wise wrote...

> On Fri, Nov 11, 2016 at 7:32 AM, Christoph Biedl wrote:
> 
> > Other suggestions?
> 
> Include information about which packages/issues you are talking about.

How would this affect your assesment of the situation?

In my feeling, revealing the pakages' names would give the story some kind of
blaming. That's not my intention.

Christoph


signature.asc
Description: Digital signature


Re: OpenSSL 1.1.0

2016-11-11 Thread Jan Wagner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512

Hi there,

Am 02.11.2016 um 21:15 schrieb Kurt Roeckx:
> I don't think having libssl1-1-dev vs libssl1.0-dev is going to 
> make much differences in the end. The build conflicts will always 
> have to be sorted out.

thats the point where I rushed into another problem,
monitoring-plugins isn't compatible with openssl 1.1[1]. So you might
argue just to link against libssl1.0-dev.
The issue is that monitoring-plugins makes massive use of other
libraries. When now installing libssl1.0-dev all packages build
against libssl1-1-dev will be removed. The first lib I spotted was
libpq-dev, I expect more to follow.

This means now I can hope to get openssl 1.1 support (under pressure)
for monititoring-plugins and every lib works hopefully well with it.
When no openssl 1.1 support will be available, I can try to depend on
libssl1.0-dev, but can not build all plugins that was shiped with jessie
.

This doesn't look like a smooth move for monitoring-plugins.

Just my 2 cents, Jan.
[1] https://bugs.debian.org/844031
- -- 
Never write mail to , you have been warned!
- -BEGIN GEEK CODE BLOCK-
Version: 3.12
GIT d-- s+: a C+++ UL P+ L+++ E--- W+++ N+++ o++ K++ w--- O M+ V-
PS PE Y++
PGP++ t-- 5 X R tv- b+ DI D+ G++ e++ h r+++ y
- --END GEEK CODE BLOCK--
-BEGIN PGP SIGNATURE-

iQIcBAEBCgAGBQJYJkZbAAoJEAxwVXtaBlE+bAEP/RNEI7EXv5BNIo/y3Yo9acI/
4kK6XwLbAUUcQSuyVtFgz4kiqiQsfk/X8gwwvLFEFZ0UNZCOCslv/2/2bJs6vnRX
lQ60l3g/OGdZ72O0qVnrLDfVm28oIqoxuKW8zpoYP5hFAnvFzSWgw0AFPv7BfbPS
nHvVc8KJ6KkRJEFofcDBcA0oO88XoAG47JXA2YhS7WWE4yKkBm/Hvhv4z3FSTa3a
z6qhv9aSINyHXsSnIqyuy8kVwIzBMSbB70Nn0DSKu93PHgWxlgmOXopUCBlUgkeC
i5FxxxZ4W4kDnlrrBH7ctjeHBkIWRBX6LUCogQ9x/sCPjIvipBzfvA+LxYQkmoIx
HBmKQshaeMAkEnwIQhv4l3jSpUVAedZr4/bfE7dyxKtZBWTiaOKTr62kMKzIWU6O
XdB5/FbRzSFSXXl+KzxR1l9R6H/vAn1PH16X+3ZBkJdapTGOHsx4q8lYQVwvHCfi
yo6GNdEPVds095pci5+LRj8yeDURP2Mp3xQX7t49AEg3BafznnB37LXyOWev8ZSr
gd83huZO/yYvktoptTLWQ1t2x/KJSwQ2m5yk/Jj6AMPQN43LzdqO1USAbHrflYON
NEi4DcXktkHCBahbfPP6eRyObO5KTLK10z6bFjRtpX3TmXm1O9g7jTMt6zQPYKUH
77/7+ON5vJrKMS5CgaXv
=vEi+
-END PGP SIGNATURE-



Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Sven Joachim
On 2016-11-11 22:38 +0100, Sebastian Andrzej Siewior wrote:

> there are a bunch of package which were missing -dbgsym packages on
> their arch upload. The buildd built them on the remaining architectures.
> Here are a few examples:
> - missing on amd64: aptly, meep, xdelta3
> - missing on i386: chasen, cronutils, maildrop
>
> my understanding is that those are built and automatically added to the
> changes file so they have to uploaded unless they are removed manually.

Or if they have not been created in the first place, such when the
package has been built with a debhelper version prior to 9.20151219.

> Is there anything we can/should do once such
> a package is found except binNMU it each time?

Unconditionally throwing away any binary packages the maintainer uploads
and always building them on the buildds would help, as has been
discussed for at least 12 years[1].

Cheers,
   Sven

1. https://lists.debian.org/debian-security/2004/09/msg00014.html



Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Andrey Rahmatullin
On Fri, Nov 11, 2016 at 10:38:27PM +0100, Sebastian Andrzej Siewior wrote:
> there are a bunch of package which were missing -dbgsym packages on
> their arch upload. The buildd built them on the remaining architectures.
> Here are a few examples:
> - missing on amd64: aptly, meep, xdelta3
And coreutils.
I'm happy that at last we have something resembling a proper build
infrastructure but it looks like it's still a long road.



What stops us from throwing away .debs from maintainers starting tomorrow?

-- 
WBR, wRAR


signature.asc
Description: PGP signature


Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Mattia Rizzolo
On Sat, Nov 12, 2016 at 03:53:39AM +0500, Andrey Rahmatullin wrote:
> What stops us from throwing away .debs from maintainers starting tomorrow?

The need of being able to upload .debs for bootstrapping reasons?

Sure, if dak's going to implement some override mechanism there should
really be no problem.

-- 
regards,
Mattia Rizzolo

GPG Key: 66AE 2B4A FCCF 3F52 DA18  4D18 4B04 3FCD B944 4540  .''`.
more about me:  https://mapreri.org : :'  :
Launchpad user: https://launchpad.net/~mapreri  `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia  `-


signature.asc
Description: PGP signature


Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Adam Borowski
On Sat, Nov 12, 2016 at 03:53:39AM +0500, Andrey Rahmatullin wrote:
> On Fri, Nov 11, 2016 at 10:38:27PM +0100, Sebastian Andrzej Siewior wrote:
> > there are a bunch of package which were missing -dbgsym packages on
> > their arch upload. The buildd built them on the remaining architectures.
> > Here are a few examples:
> > - missing on amd64: aptly, meep, xdelta3
> And coreutils.
> I'm happy that at last we have something resembling a proper build
> infrastructure but it looks like it's still a long road.
> 
> 
> What stops us from throwing away .debs from maintainers starting tomorrow?

The machinery for arch:all binaries is still incomplete:
* it supports only packages buildable on amd64, there are some which require
  a specific host[1] arch
* wanna-build(?)'s resolution of arch-specific build-depends is buggy.  For
  example, my package arch-test wants, among others:
  binutils-x86-64-linux-gnu [!amd64 !i386 !x32]
  which is a no-op on amd64, properly recognized as such by dpkg-dev,
  debuild, sbuild, pbuilder, etc, yet the package never gets picked for
  autobuilding.

Both of the above can be worked around by a binary upload.  On the other
hand, there's currently no incentive to find a real solution.


Meow!

[1]. Using the sane kernel or cmake nomenclature, not autotools one where
an armhf build on an amd64 host wants --build=amd64 --host=armhf.
-- 
A true bird-watcher waves his tail while doing so.



Re: Building architecture:all packages

2016-11-11 Thread Paul Wise
On Sat, Nov 12, 2016 at 6:32 AM, Christoph Biedl wrote:

> How would this affect your assessment of the situation?

The details matter, without them I don't think any assessment is useful.

> In my feeling, revealing the packages' names would give the story some kind of
> blaming. That's not my intention.

I don't think mentioning package names is blaming, but I understand
not everyone takes it that way. When mentioning the details you could
be more explicit that your intention is not to blame anyone.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: Building architecture:all packages

2016-11-11 Thread Paul Wise
On Fri, Nov 11, 2016 at 7:32 AM, Christoph Biedl wrote:

> implies "src:foo" must build on *all* architectures

In general, Debian does not define the build architecture for any
package, no matter what the Architecture of the package is.

In practice, arch:all packages must build on either amd64 (arch:all
buildds run that), or an architecture developers are able to build the
package from.

In practice, arch:any packages must build on one of the Debian/ports
arches (for the arch:any buildds), or on an architecture developers
are able to cross-build the package from.

Generally, we much prefer to have builds happen on the buildds than on
developer machines though.

We currently do not have any cross-building buildds AFAIK, although
there is the rebootstrap stuff.

https://wiki.debian.org/HelmutGrohne/rebootstrap

Obviously, it would be great if we could build arch:all packages on
any arch, native build on any arch and cross-build from any arch to
any other arch, but the world isn't an ideal place and neither is
Debian.

IIRC there are mechanisms on the buildds to deal with arch:any builds
that don't work on some architectures.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Colin Watson
On Sat, Nov 12, 2016 at 12:58:13AM +0100, Adam Borowski wrote:
> The machinery for arch:all binaries is still incomplete:
> * it supports only packages buildable on amd64, there are some which require
>   a specific host[1] arch

We (Ubuntu) discussed this with Debian ftpmaster/buildd-admin types a
while back and came to an agreement that we'd accept a
Build-Indep-Architecture .dsc field, which you'd typically write as e.g.
"XS-Build-Indep-Architecture: arm64" in debian/control; so this is at
least specified, and we implemented it in Launchpad in February 2015.
https://bugs.launchpad.net/launchpad/+bug/217427 has details and links
to code.  I guess this never got followed through in dak, although there
are a couple of packages in unstable that use it anyway.

(I wasn't in the actual discussion, so my belief that it was a
discussion with ftpmaster/buildd-admin is at second hand and from
memory, but I'm reasonably sure ...)

Of course we have more incentive to deal with this kind of thing, since
Launchpad won't accept binary uploads from anyone.  We deal with
bootstrapping by having a very small set of people who can (with some
effort) inject binaries as extra build-dependencies for nominated
builds, but that's very much an exceptional process.

> * wanna-build(?)'s resolution of arch-specific build-depends is buggy.  For
>   example, my package arch-test wants, among others:
>   binutils-x86-64-linux-gnu [!amd64 !i386 !x32]
>   which is a no-op on amd64, properly recognized as such by dpkg-dev,
>   debuild, sbuild, pbuilder, etc, yet the package never gets picked for
>   autobuilding.

Possibly a dose-builddebcheck bug, though it could certainly be in the
fairly complex wanna-build integration with dose-builddebcheck
(https://anonscm.debian.org/cgit/mirror/wanna-build.git/tree/bin/wanna-build#n1846
and the various functions it calls).

-- 
Colin Watson   [cjwat...@debian.org]



Re: What to do when a maintainer is blocking maintenance for stretch?

2016-11-11 Thread Guillem Jover
Hi!

On Wed, 2016-11-09 at 12:12:43 +, Ian Jackson wrote:
> Peter Colberg writes ("What to do when a maintainer is blocking maintenance 
> for stretch?"):
> > Improving the package would require significant changes that are not
> > appropriate for a minimal NMU. With the maintainer not responding to
> > anything other than MIA requests to retain their maintainer status,
> > is there any other way to get the package back in shape for stretch?
> 
> The advice from Emilio to upload your proposed big changes to
> DELAYED/10 is probably good.

Yes. Or fill the bug reports with patches. Or find someone who knows the
maintainer who can perhaps mediate. Or bring it over to debian-devel. And
probably report it again to MIA. :)

> In theory you should ask the Technical Committee to depose the
> maintainer.

Peter, I'd urge you to not invoke the tech-ctte (pretty much never, but
even less so in cases like this!).

Using the tech-ctte for human disputes is the Thunderdome approach to
conflict resolution. The show will be bloody and messy with lots of
chainsaws, iff the contender(s) get out of the dome at all, they will
surely carry scars, and you might or might not get a winner, after
all Tina Turner is the one who will decide who wins anyway…

Regards,
Guillem



Re: Building architecture:all packages

2016-11-11 Thread Colin Watson
On Thu, Nov 10, 2016 at 08:52:15PM -0800, Nikolaus Rath wrote:
> On Nov 11 2016, Christoph Biedl  wrote:
> > b) This is a serious issue as John D. Rebuilder should be free to choose
> >on which architecture to build "src:foo".
> >
> > Personally, I tend to b) since
> >
> > * there is no sane way for the maintainer to tell the world which
> >   architecture should be used to rebuild this package. The .buildinfo
> >   file will solve this, still
> > * it is certainly rather unfriendly to expect John to have a box for
> >   that particular architecture just to be able to do the rebuilding.
> 
> That's a good theoretical argument. But in practice, I think the subset
> of architectures for which bar works correctly will always include
> amd64, and John D. Rebuilder will have access to such a box for sure.

We know this not to have been the case in the past.
https://bugs.launchpad.net/launchpad/+bug/217427 mentions the cases of
palo (hppa), openhackware (powerpc), and openbios-sparc (sparc).
(People often suggest cross-compiling for this, and that can certainly
be a good solution in some cases, but please bear in mind that in the
general case that still only reduces the problem to "can only build on
architectures where somebody's uploaded the necessary cross tools".)

There is currently one package in the Debian archive (pixfrogger) that
declares "Build-Indep-Architecture: i386" in its .dsc because, even
though it builds an architecture-independent binary package, building it
requires a package that's only available on 32-bit architectures.  See
https://bugs.debian.org/534063.  Conceivably this particular case could
be handled by Multi-Arch: foreign, but requiring (re)builders to have a
suitable multi-arch setup available raises the bar for them and would
certainly considerably complicate buildd infrastructure.

As I allude to in
https://lists.debian.org/debian-devel/2016/11/msg00457.html, I think the
best answer is for Debian's buildd infrastructure to follow through on
implementing Build-Indep-Architecture.  I'm not sure how this interacts
with Debian's decision to make Architecture: all buildds separate
entities, since that means it isn't just a matter of setting a "build
the arch-indep portion as well" flag when a particular buildd takes a
build; but it should still be doable somehow.

-- 
Colin Watson   [cjwat...@debian.org]



Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Johannes Schauer
Hi,

Quoting Colin Watson (2016-11-12 03:58:04)
> On Sat, Nov 12, 2016 at 12:58:13AM +0100, Adam Borowski wrote:
> > * wanna-build(?)'s resolution of arch-specific build-depends is buggy.  For
> > example, my package arch-test wants, among others:
> > binutils-x86-64-linux-gnu [!amd64 !i386 !x32] which is a no-op on amd64,
> > properly recognized as such by dpkg-dev, debuild, sbuild, pbuilder, etc,
> > yet the package never gets picked for autobuilding.
> 
> Possibly a dose-builddebcheck bug, though it could certainly be in the
> fairly complex wanna-build integration with dose-builddebcheck
> (https://anonscm.debian.org/cgit/mirror/wanna-build.git/tree/bin/wanna-build#n1846
> and the various functions it calls).

it doesn't seem to be a dose-builddebcheck bug. Consider the following Packages
file:

--%<--
Package: build-essential
Architecture: amd64
Version: 1
-->%--

And the following Sources file:

--%<--
Package: foo
Architecture: any
Version: 1
Build-Depends: binutils-x86-64-linux-gnu [!amd64 !i386 !x32]
-->%--

Then dose-builddebcheck with amd64 as the build and host architecture will
happily find a solution (which doesn't include binutils-x86-64-linux-gnu):

$ dose-builddebcheck --explain --successes --deb-native-arch=amd64 Packages 
Sources
output-version: 1.2
native-architecture: amd64
report:
 -
  package: foo
  version: 1
  architecture: any
  type: src
  status: ok
  installationset:
   -
package: foo
version: 1
architecture: any
type: src
   -
package: build-essential
version: 1
architecture: amd64
 
binary-packages: 2
source-packages: 1
broken-packages: 0
$ echo $?
0

I tried the same in a Debian stable chroot and dose-builddebcheck succeeds as
well.

Quickly skimming the code I cannot see where the error could come from.
wanna-build seems to use Dpkg::Deps::deps_parse to do the architecture
filtering as it should in the filterarch function.

Thanks!

cheers, josch


signature.asc
Description: signature


Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Andrey Rahmatullin
On Sat, Nov 12, 2016 at 12:58:13AM +0100, Adam Borowski wrote:
> > What stops us from throwing away .debs from maintainers starting tomorrow?
> 
> The machinery for arch:all binaries is still incomplete:
Fine, what stops us from throwing away arch:!all .debs? 

-- 
WBR, wRAR


signature.asc
Description: PGP signature


Re: [buildd-tools-devel] Bug#843773: Bug#843773: misleading timestamps in binnmus

2016-11-11 Thread Johannes Schauer
Hi,

Quoting Ximin Luo (2016-11-10 18:13:00)
> Holger Levsen wrote:
> > On Thu, Nov 10, 2016 at 08:59:48AM -0200, Johannes Schauer wrote:
> > > One solution would be to increase SOURCE_DATE_EPOCH by 1 second for every
> > > binNMU to a package.
> > > 
> > > Any other ideas?
> > set SOURCE_DATE_EPOCH to the creation time of that changelog.$arch
> > entry?
> I'm tending towards the latter suggestion because it's simpler. There's no
> need to stick to a +1 second scheme etc, and it might mislead people into
> thinking they can do calculations with this - such as reversing the original
> timestamp of the sourceful-upload.

maybe I'm misunderstanding the problem but for the sake getting a better
picture, let me write a summary of the conversation so far:

Currently, buildds (using sbuild) create binNMU changelog entries by copying
the date from the last changelog entry. See for example
libghc-yesod-auth-oauth-dev. 16 binNMUs and the same timestamp is used for all
of them. In his original post, Ian complains that despite the package version
being incremented, the file mtimes are not. This is because we now use the
timestamp from the latest changelog entry for the mtimes of the binary package
contents so that the binary packages become reproducible. If we want to have
later mtimes for the files in binNMU binary packages compared the ones in the
last version, then the question becomes: which mechanism should we use to set
this timestamp?

I do not think that reproducibility is an issue here. No matter which mechanism
we choose to determine the timestamp of the new changelog entry, that timestamp
will be recorded in the Binary-Only-Changes field of the generated .buildinfo
file. The content of that field can then be used by package builders to
generate the new debian/changelog which in turn means that at the time that
dpkg-buildpackage is run, SOURCE_DATE_EPOCH will be set to a deterministic
value: the value of the last changelog entry which we obtain from the
Binary-Only-Changes field.

Back to the question of how we should determine the initial timestamp for the
new binNMU. One way would be to just use the timestamp of the time at which the
binNMU changelog entry is created by sbuild on the buildds. The problem with
this approach is, that binNMUs will be done at slightly different times on each
architecture and thus a different changelog timestamp will be used per
architecture. This does not cause Multi-Arch:same file conflicts because of the
changelog itself because these are stored in architecture-specific paths for
binNMUs (if dh_installchangelogs is used). Instead, file conflicts might be
created from files with content that depends on SOURCE_DATE_EPOCH. Because each
architecture will generate their own timestamp, SOURCE_DATE_EPOCH will be
different on each. If the content of shared files depends on the set timestamp,
then these packages will not be co-installable anymore. One solultion to this
problem would be to mandate that files shared across Multi-Arch:same binary
packages must be independent of SOURCE_DATE_EPOCH but that might impose too
much of a burden of writing and then maintaining the appropriate patches for
upstreams that refuse to become independent of SOURCE_DATE_EPOCH. Moving the
architecture-invariant but SOURCE_DATE_EPOCH dependent files to
Architecture:all packages is not a solution either because we might want the
packages containing these files be able to transport their architecture to
their dependencies.

Thus I think it would be best if the changelog timestamp for the same binNMU
version would be equal across all architectures. One way to achieve this would
be by using a unified scheme to generate the timestamps, for example by
incrementing the original timestamp by one second for each binNMU. Another way
to achieve this would be to require a timestamp to be supplied (or generated)
every time a binNMU is scheduled. That timestamp would then be passed to all
buildds and be used by sbuild to generate the new entry in debian/changelog.

What do you think?

Thanks!

cheers, josch


signature.asc
Description: signature


Re: missing -dbgsym packages on uploads by maintainer(s)

2016-11-11 Thread Christian Seiler
On 11/12/2016 08:10 AM, Andrey Rahmatullin wrote:
> On Sat, Nov 12, 2016 at 12:58:13AM +0100, Adam Borowski wrote:
>>> What stops us from throwing away .debs from maintainers starting tomorrow?
>>
>> The machinery for arch:all binaries is still incomplete:
> Fine, what stops us from throwing away arch:!all .debs? 

Actually, there could be another option:

 - by default, throw away all binary debs on uploads

 - there is a special field in the .changes file (automatically
   set by buildds) to tell dak to keep the debs

   e.g. Keep-Binaries: yes

That way people can still upload in cases where the current
build infrastructure fails, but in the vast majority of cases
where that's not a problem this wouldn't happen. And for
packages where this does fail, just add the field to
d/control (with XC- prefix), so you don't need to think about
that at each upload.

Thoughts?

Regards,
Christian