Re: https://tracker.debian.org/pkg/dballe

2020-01-18 Thread Paul Wise
On Sat, 2020-01-18 at 08:25 -0500, Sam Hartman wrote: 

> I don't care about the mechanism.
> What I care is that we not go through a period where invoking the
> mechanism involves adding a round trip with ftpmaster, with waiting for
> an upload to be accepted, or with the release team, or otherwise delay
> the process.

The proposed mechanism does not involve anyone other than the
maintainer and doesn't substantially change existing workflows.

The only difference is that for bootstrap builds instead of doing a
source-and-binary upload, they do a source-only upload like they do for
non-bootstrap builds and then afterwards a binary-only upload (which
would normally be done by the buildds for non-bootstrap builds).
Personally I don't think that is a significant burden, but I assume a
.changes file option could be added for folks who think it is an issue.

I won't be doing any work on this and this will be my last email on it.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


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


Re: https://tracker.debian.org/pkg/dballe

2020-01-18 Thread Holger Levsen
On Sat, Jan 18, 2020 at 08:40:29AM +0800, Paul Wise wrote:
> On Fri, 2020-01-17 at 03:45 -0500, Sam Hartman wrote:
> > Bootstrap uploads of compilers etc are actually more common than I
> > thought before I started following debian-release.
> The important part of my statement is that they are special, rather
> than that they are rare.

this. and on top of this, these uploads only need to be done by a
handful of people, not all >1000 uploaders we have in the keyring.

> > They are common enough that requiring interactions from ftpmaster and/or
> > release team would make being a developer of such packages suck
> > significantly more.
> Hmm, OK. I can't recall seeing any recently on debian-release.

in the last half year I do recall rustc...


-- 
cheers,
Holger

---
   holger@(debian|reproducible-builds|layer-acht).org
   PGP fingerprint: B8BF 5413 7B09 D35C F026 FE9D 091A B856 069A AA1C



signature.asc
Description: PGP signature


Re: https://tracker.debian.org/pkg/dballe

2020-01-18 Thread Sam Hartman
> "Paul" == Paul Wise  writes:


>> If we throw away binaries by default, I do believe we need a mechanism
>> for maintainers to signal that this is a bootstrap upload.

Paul> My proposed mechanism is that when the buildds cannot do the job due 
to
Paul> need for a bootstrap process, the maintainer should do a binary-only
Paul> build (using whatever ugly hacks are needed), dak should import that
Paul> into a special part of the archive for bootstrapping packages that 
need
Paul> that and then tell the buildds to do a new non-bootstrap build but
Paul> using the bootstrap archive.

I don't care about the mechanism.
What I care is that we not go through a period where invoking the
mechanism involves adding a round trip with ftpmaster, with waiting for
an upload to be accepted, or with the release team, or otherwise delay
the process.

We've heard again and again from maintainers that  the more they can
accomplish within a single unit of attention span, the better.
Every time you have to come back later after some process has done its
thing, it makes maintaining stuff more frustrating, less rewarding, and
more difficult.

Many have argued that the current dance with new--where you have to
upload binaries for new, but then later upload without binaries for
testing--is one step too far in that direction.  If those people are
right, we should have waited until we could throw away binaries from new
before requiring built-on-buildd for testing.  I understand the politics
are complex and that the release team's decision may have given
motivation to push for patches to throw away binaries from new.

Based on the discussion of maintainer motivations, I think going through
a similar period where bootstrap uploads got harder--even if it
eventually got fixed--would be a mistake and would not value the time of
our maintainers.
So, in order to value the time of our maintainers, I think a change to
throw away binaries from uploads that don't hit new needs to block on a
way of handling bootstrap builds.

(Ideally that would be part of a patch to throw away binaries from
uploads to new, but the trade offs are more complex for that situation.)



Re: https://tracker.debian.org/pkg/dballe

2020-01-17 Thread Paul Wise
On Fri, Jan 17, 2020 at 6:18 PM Richard Laager wrote:

> If I'm following correctly: The packager would use rustcc >= y+3 (in
> practice, likely rustcc y+5) to locally build rustcc y+5 and then do a
> binary upload. But if dak (or whatever, I'm not so familiar with the
> server side here) throws away the binary, then we're sunk. So there
> needs to be a way to note that the binary needs to be kept.
>
> Assuming I'm on the right track, here are a couple of questions:

Right.

> In such a case, would the source package have a Build-Depends of >= y+3?
> It seems like it would.

Presumably, but it is definitely possible the maintainer wouldn't know
or wouldn't record which version was needed.

> Could that be the way to indicate a bootstrap upload? In other words, if
> the package has a Build-Depends on one of the binary packages it
> produces that is _not_ satisfied in the suite it's being uploaded to but
> is satisfied by this upload, then it's a bootstrap upload, and the
> binaries should be kept. This would avoiding adding a new field for this
> and would ensure the Build-Depends are set correctly in bootstrapping
> scenarios.

At this time the workflow is like this: ftp-master.d.o accepts or
rejects the source/binaries, then it passes the source to buildd.d.o,
which checks for build-dep installability and passes the source to the
buildds. I think for your proposal to work the build-dep
installability checks would also have to move to ftp-master.d.o.

> Regardless of how the "keep the binaries" flag is implemented... should
> the uploaded binary be published, or should the package be rebuilt? I
> think I'd argue for the latter. The uploaded binary package should be
> installed on the buildd and then the package should be rebuilt from
> source, with _that_ result being put into the archive. This doesn't
> protect against the trojaned-compiler problem, but it does at least
> ensure that the package builds from source.

I definitely agree that all bootstrap binaries, whether built
automatically by the buildds (as proposed by Josch) or hacky
maintainer-built binaries, should get rebuilt on the buildds. We
already did that in the past when importing new architecture packages
from ftp.ports.d.o to ftp-master.d.o.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: https://tracker.debian.org/pkg/dballe

2020-01-17 Thread Paul Wise
On Fri, 2020-01-17 at 03:45 -0500, Sam Hartman wrote:

> Bootstrap uploads of compilers etc are actually more common than I
> thought before I started following debian-release.

The important part of my statement is that they are special, rather
than that they are rare.

> They are common enough that requiring interactions from ftpmaster and/or
> release team would make being a developer of such packages suck
> significantly more.

Hmm, OK. I can't recall seeing any recently on debian-release.

> If we throw away binaries by default, I do believe we need a mechanism
> for maintainers to signal that this is a bootstrap upload.

My proposed mechanism is that when the buildds cannot do the job due to
need for a bootstrap process, the maintainer should do a binary-only
build (using whatever ugly hacks are needed), dak should import that
into a special part of the archive for bootstrapping packages that need
that and then tell the buildds to do a new non-bootstrap build but
using the bootstrap archive. If bikesheds become a thing, we could even
have one bootstrap archive per instance of a bootstrap being needed.

Like Josch says, where possible, we also want the buildds to be capable
of doing automated bootstrap builds that are enabled by automatic or
maintainer-selected addition of bootstrap related build profiles.

Until the special bootstrap archive and automated bootstrap builds are
implemented, we could of course just import the maintainer bootstrap
binaries into the main archive with a flag saying they need to be
rebuilt before they can enter testing, and then do binNMUs.

ISTR we have done similar things when importing whole architectures to
ftp-master so I think some parts or flags for some of these things
might already be in place.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


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


Re: https://tracker.debian.org/pkg/dballe

2020-01-17 Thread Richard Laager
On 1/17/20 6:55 AM, Sam Hartman wrote:
>> "Johannes" == Johannes Schauer  writes:
> 
> Johannes> or have a mechanism that allows maintainers to tell buildds 
> "please build this
> Johannes> source package with build profiles X and Y enabled". That would 
> then build the
> Johannes> binary packages necessary to do a full build in a second upload.
> 
> That doesn't help.
> 
> If I need version y+3 of rustcc to build y+5 of rustcc and only y is in
> the archive, no build profile is going to help me.

If I'm following correctly: The packager would use rustcc >= y+3 (in
practice, likely rustcc y+5) to locally build rustcc y+5 and then do a
binary upload. But if dak (or whatever, I'm not so familiar with the
server side here) throws away the binary, then we're sunk. So there
needs to be a way to note that the binary needs to be kept.

Assuming I'm on the right track, here are a couple of questions:

In such a case, would the source package have a Build-Depends of >= y+3?
It seems like it would.

Could that be the way to indicate a bootstrap upload? In other words, if
the package has a Build-Depends on one of the binary packages it
produces that is _not_ satisfied in the suite it's being uploaded to but
is satisfied by this upload, then it's a bootstrap upload, and the
binaries should be kept. This would avoiding adding a new field for this
and would ensure the Build-Depends are set correctly in bootstrapping
scenarios.

Regardless of how the "keep the binaries" flag is implemented... should
the uploaded binary be published, or should the package be rebuilt? I
think I'd argue for the latter. The uploaded binary package should be
installed on the buildd and then the package should be rebuilt from
source, with _that_ result being put into the archive. This doesn't
protect against the trojaned-compiler problem, but it does at least
ensure that the package builds from source.

-- 
Richard



signature.asc
Description: OpenPGP digital signature


Re: https://tracker.debian.org/pkg/dballe

2020-01-17 Thread Sam Hartman
> "Johannes" == Johannes Schauer  writes:

Johannes> or have a mechanism that allows maintainers to tell buildds 
"please build this
Johannes> source package with build profiles X and Y enabled". That would 
then build the
Johannes> binary packages necessary to do a full build in a second upload.

That doesn't help.

If I need version y+3 of rustcc to build y+5 of rustcc and only y is in
the archive, no build profile is going to help me.

There are a lot of packages that need themselves to build themselves in
Debian.
It's not just a new arch issue.



Re: https://tracker.debian.org/pkg/dballe

2020-01-17 Thread Johannes Schauer
Quoting Sam Hartman (2020-01-17 09:45:43)
> > "Paul" == Paul Wise  writes:
> 
> Paul> On Mon, Jan 13, 2020 at 4:11 PM Wouter Verhelst wrote:
> >> You'll make it unnecessarily harder to bootstrap environments that need
> >> themselves to build if you do that.
> 
> Paul> The idea here is that bootstrap builds are special and so they 
> should
> Paul> be very explicit rather than happen as a side effect of regular 
> upload
> Paul> workflows. Since they are relatively rare, making them explicit via
> Paul> this mechanism shouldn't be too much of an imposition and on balance
> Paul> might be the right way to go.
> 
> Bootstrap uploads of compilers etc are actually more common than I
> thought before I started following debian-release.
> They are common enough that requiring interactions from ftpmaster and/or
> release team would make being a developer of such packages suck
> significantly more.
> 
> If we throw away binaries by default, I do believe we need a mechanism for
> maintainers to signal that this is a bootstrap upload.

or have a mechanism that allows maintainers to tell buildds "please build this
source package with build profiles X and Y enabled". That would then build the
binary packages necessary to do a full build in a second upload.

In an even better world, dak would figure out itself, that a source package
first has to be built with build profiles X and Y and then schedule a full
build afterwards.

Thanks!

cheers, josch


signature.asc
Description: signature


Re: https://tracker.debian.org/pkg/dballe

2020-01-17 Thread Sam Hartman
> "Paul" == Paul Wise  writes:

Paul> On Mon, Jan 13, 2020 at 4:11 PM Wouter Verhelst wrote:
>> You'll make it unnecessarily harder to bootstrap environments that need
>> themselves to build if you do that.

Paul> The idea here is that bootstrap builds are special and so they should
Paul> be very explicit rather than happen as a side effect of regular upload
Paul> workflows. Since they are relatively rare, making them explicit via
Paul> this mechanism shouldn't be too much of an imposition and on balance
Paul> might be the right way to go.

Bootstrap uploads of compilers etc are actually more common than I
thought before I started following debian-release.
They are common enough that requiring interactions from ftpmaster and/or
release team would make being a developer of such packages suck
significantly more.

If we throw away binaries by default, I do believe we need a mechanism
for maintainers to signal that this is a bootstrap upload.

--Sam



Re: https://tracker.debian.org/pkg/dballe

2020-01-16 Thread Paul Wise
On Mon, Jan 13, 2020 at 4:11 PM Wouter Verhelst wrote:

> You'll make it unnecessarily harder to bootstrap environments that need
> themselves to build if you do that.

The idea here is that bootstrap builds are special and so they should
be very explicit rather than happen as a side effect of regular upload
workflows. Since they are relatively rare, making them explicit via
this mechanism shouldn't be too much of an imposition and on balance
might be the right way to go.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: https://tracker.debian.org/pkg/dballe

2020-01-13 Thread Wouter Verhelst
On Mon, Dec 30, 2019 at 02:47:45AM +, Paul Wise wrote:
> On Sun, Dec 29, 2019 at 11:32 AM Paul Gevers wrote:
> 
> > [1] Source packages that build binaries unknown to the archive currently
> > need these binaries to be uploaded by the maintainers for reviewing by
> > ftp-master in NEW. IIRC there have been multiple proposals to avoid
> > these binaries from either being needed or being uploaded to the Debian
> > archive, but so far the current tooling requires this.
> 
> There has been some recent work on this part of the problem, I
> focussed on throwing away binaries for all sourceful uploads and ivodd
> focussed on doing that for NEW uploads only. Since ivodd's patch is
> further along than mine, I hope he will extend it to all sourceful
> uploads.

You'll make it unnecessarily harder to bootstrap environments that need
themselves to build if you do that.

Throwing it away for NEW makes sense, but not for regular uploads, IMO.

-- 
To the thief who stole my anti-depressants: I hope you're happy

  -- seen somewhere on the Internet on a photo of a billboard



Re: https://tracker.debian.org/pkg/dballe

2019-12-30 Thread Kurt Roeckx
On Mon, Dec 30, 2019 at 01:39:14PM +0100, Mattia Rizzolo wrote:
> On Mon, Dec 30, 2019 at 11:29:52AM +0100, Kurt Roeckx wrote:
> > Note that the name of the .changes file by the maintainer and the
> > buildd will be the same, and dak will reject it if that .changes
> > file already exists.
> 
> That's true only in case of policy queues nowadays.

What is a policy queue?

All the recent rejects I get seems to be stable/security uploads.


Kurt



Re: https://tracker.debian.org/pkg/dballe

2019-12-30 Thread Paul Wise
On Mon, 2019-12-30 at 11:29 +0100, Kurt Roeckx wrote:

> Is it .deb and .changes file that you would move?

That would be the idea yeah.

> Note that the name of the .changes file by the maintainer and the
> buildd will be the same, and dak will reject it if that .changes
> file already exists.

I expect that could be dealt with easily in the dak patches, for e.g.
by renaming the .changes to include the fingerprint of the signing key
or by naming the morgue directory after the signing key fingerprint.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


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


Re: https://tracker.debian.org/pkg/dballe

2019-12-30 Thread Mattia Rizzolo
On Mon, Dec 30, 2019 at 11:29:52AM +0100, Kurt Roeckx wrote:
> Note that the name of the .changes file by the maintainer and the
> buildd will be the same, and dak will reject it if that .changes
> file already exists.

That's true only in case of policy queues nowadays.

-- 
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: https://tracker.debian.org/pkg/dballe

2019-12-30 Thread Kurt Roeckx
On Mon, Dec 30, 2019 at 02:52:54AM +, Paul Wise wrote:
> On Sun, Dec 29, 2019 at 1:29 PM Roberto C. Sánchez wrote:
> 
> > Would it not be possible to eliminate the need for the second
> > unnecessary upload by requiring two signed .changes files to go into
> > NEW?  A signed binary changes which would form the basis of the FTP
> > master review and a signed source changes to enter the archive if the
> > package is approved?
> 
> Another approach is to simply have dak discard binaries from all
> sourceful uploads (in dak parlance that means .changes files that have
> a .dsc) (and save them to an audit directory). The buildds currently
> only produce non-sourceful uploads so all their binaries get accepted
> fine. For bootstrap scenarios, maintainers can just do an additional
> binary-only upload. See the patches myself/ivodd posted recently for a
> work in progress on this.

Is it .deb and .changes file that you would move?

Note that the name of the .changes file by the maintainer and the
buildd will be the same, and dak will reject it if that .changes
file already exists.


Kurt



Re: https://tracker.debian.org/pkg/dballe

2019-12-29 Thread Paul Wise
On Sun, Dec 29, 2019 at 1:29 PM Roberto C. Sánchez wrote:

> Would it not be possible to eliminate the need for the second
> unnecessary upload by requiring two signed .changes files to go into
> NEW?  A signed binary changes which would form the basis of the FTP
> master review and a signed source changes to enter the archive if the
> package is approved?

Another approach is to simply have dak discard binaries from all
sourceful uploads (in dak parlance that means .changes files that have
a .dsc) (and save them to an audit directory). The buildds currently
only produce non-sourceful uploads so all their binaries get accepted
fine. For bootstrap scenarios, maintainers can just do an additional
binary-only upload. See the patches myself/ivodd posted recently for a
work in progress on this.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: https://tracker.debian.org/pkg/dballe

2019-12-29 Thread Paul Wise
On Sun, Dec 29, 2019 at 11:32 AM Paul Gevers wrote:

> [1] Source packages that build binaries unknown to the archive currently
> need these binaries to be uploaded by the maintainers for reviewing by
> ftp-master in NEW. IIRC there have been multiple proposals to avoid
> these binaries from either being needed or being uploaded to the Debian
> archive, but so far the current tooling requires this.

There has been some recent work on this part of the problem, I
focussed on throwing away binaries for all sourceful uploads and ivodd
focussed on doing that for NEW uploads only. Since ivodd's patch is
further along than mine, I hope he will extend it to all sourceful
uploads.

https://lists.debian.org/msgid-search/5ec2e979cd7d7ec9bf386fbf77e3399c7aeeb473.ca...@debian.org
https://salsa.debian.org/pabs/dak/commits/discard-binaries
https://lists.debian.org/msgid-search/87sgm2lhwc@marvin.43-1.org
https://lists.debian.org/msgid-search/de353950121612a86ca706cbdf36153b25b9fa36.ca...@debian.org
https://lists.debian.org/msgid-search/27641434-e45a-404f-254f-daea89916...@debian.org
https://salsa.debian.org/ivodd/dak/tree/new-throwaway-binary-v10

-- 
bye,
pabs

https://wiki.debian.org/PaulWise



Re: https://tracker.debian.org/pkg/dballe

2019-12-29 Thread Enrico Zini
On Sun, Dec 29, 2019 at 12:32:24PM +0100, Paul Gevers wrote:

> > Now I see that things got stuck for the transition to testing, and I'm
> > asking for help figuring out what to do.
> 
> I'm happy to help.

Thanks! <3

> The python3.8 transition is not a classical transition, so this normally
> helpful comment from tracker.d.o doesn't really apply. Please ignore it.

Ack, wonderful.

> As explained above, you'll not be interfering, so go ahead.

Perfect, I have gone ahead with a new source-only upload.


Enrico

-- 
GPG key: 4096R/634F4BD1E7AD5568 2009-05-08 Enrico Zini 


signature.asc
Description: PGP signature


Re: https://tracker.debian.org/pkg/dballe

2019-12-29 Thread Theodore Y. Ts'o
On Sun, Dec 29, 2019 at 09:52:44AM +0100, Enrico Zini wrote:
> Hello,
> 
> some time ago I uploaded a new version of dballe, which went through NEW
> because of a change in binary package names (SONAME bump, IIRC). It took
> two weeks to go through NEW and I turned my energy towards other things
> since then.

Wow, two weeks?  I uploaded a new version of f2fs-tools back in July,
with the same issue (SONAME bump), and it's still not gotten through
NEW.

I had assumed everyone was waiting 5-6+ months to get through NEW

- Ted



Re: https://tracker.debian.org/pkg/dballe

2019-12-29 Thread Roberto C . Sánchez
On Sun, Dec 29, 2019 at 12:32:24PM +0100, Paul Gevers wrote:
> 
> [1] Source packages that build binaries unknown to the archive currently
> need these binaries to be uploaded by the maintainers for reviewing by
> ftp-master in NEW. IIRC there have been multiple proposals to avoid
> these binaries from either being needed or being uploaded to the Debian
> archive, but so far the current tooling requires this. On the other
> hand, the release team has decided that we want all binaries in our
> releases to be build on buildd. For that we have enhanced our migration
> software to check for non-buildd uploads and add a block for them.
> Unfortunately, once uploaded we can't fix the situation for arch:all
> packages as binNMU'ing arch:all is currently broken. There is slow
> progress to improve that situation, see e.g. bug #916601.
> 

I've encountered this issue myself in the past with a SONAME bump in a
library package.  It was rather surprising.

Would it not be possible to eliminate the need for the second
unnecessary upload by requiring two signed .changes files to go into
NEW?  A signed binary changes which would form the basis of the FTP
master review and a signed source changes to enter the archive if the
package is approved?

When I build packages I always end up with both changes files, so
requiring both for NEW processing would be a triviality (for me, at
least) and eliminate this peculiarity as well.

Regards,

-Roberto

-- 
Roberto C. Sánchez



Re: https://tracker.debian.org/pkg/dballe

2019-12-29 Thread Paul Gevers
Hi Enrico,

On 29-12-2019 09:52, Enrico Zini wrote:
> some time ago I uploaded a new version of dballe, which went through NEW
> because of a change in binary package names (SONAME bump, IIRC). It took
> two weeks to go through NEW and I turned my energy towards other things
> since then.
> 
> Now I see that things got stuck for the transition to testing, and I'm
> asking for help figuring out what to do.

I'm happy to help.

> I have this:
> 
>> This package is part of the ongoing testing transition known as
>> python3.8. Please avoid uploads unrelated to this transition, they
>> would likely delay it and require supplementary work from the release
>> managers. On the other hand, if your package has problems preventing
>> it to migrate to testing, please fix them as soon as possible. You can
>> probably find supplementary information in the debian-release archives
>> or in the corresponding release.debian.org bug.

The python3.8 transition is not a classical transition, so this normally
helpful comment from tracker.d.o doesn't really apply. Please ignore it.
If you would follow the link to the transition page, you would find a
link to a transition bug (#942106) and it will explain (already in the
title) that it is different from most transitions. (While writing this
response I realize it may be possible for me to "hide" this info on the
tracker, but I haven't done that before).

> And I have this:
> 
>> Not built on buildd: arch all binaries uploaded by enrico, a new
>> source-only upload is needed to allow migration
> 
> I was asked to do a binary upload to go through NEW, and now I'm asked
> to do a source only upload to go to testing. There are surely good
> reasons for that, and I wish there weren't.

I agree with this. And from your phrasing your not really interested in
the explanation, so find that at the bottom [1].

> I don't really have a new version to upload, but I suppose I need to at
> least bump the debian version with no other changes in the package for
> it to be accepted.

Unfortunately, indeed.

> Then, if I did that, would I be helping the python3.8 transition by
> enabling a migration to testing, or getting in the way by delaying the
> transition and requiring supplementary work from the release managers?

As explained above, you'll not be interfering, so go ahead.

> I feel a bit caught in a bureaucratic corner. Please help me with some
> directions to get out of that.

Hope this helps.

Paul

[1] Source packages that build binaries unknown to the archive currently
need these binaries to be uploaded by the maintainers for reviewing by
ftp-master in NEW. IIRC there have been multiple proposals to avoid
these binaries from either being needed or being uploaded to the Debian
archive, but so far the current tooling requires this. On the other
hand, the release team has decided that we want all binaries in our
releases to be build on buildd. For that we have enhanced our migration
software to check for non-buildd uploads and add a block for them.
Unfortunately, once uploaded we can't fix the situation for arch:all
packages as binNMU'ing arch:all is currently broken. There is slow
progress to improve that situation, see e.g. bug #916601.



signature.asc
Description: OpenPGP digital signature