[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Need a buildd build after trip through NEW -- best practice?



On Wed, 2022-08-24 at 23:19 +0200, Sebastian Ramacher wrote:

> I run
> 
> $ drt-tools process-excuses
> 
> once a day (except during VAC or when I am not in front of a box with my
> Debian keys). That schedules binNMUs for all packages that only require
> a rebuild and have no other issues preventing migration.

Perhaps those binNMUs should be done from release.d.o, so
that the responsibility for them is the full release team?

The binNMUs will still be needed when all NEW binaries are discarded,
because maintainers will still occasionally accidentally or on purpose
(for eg rebootstraps) do uploads with both source and binaries and the
dak patches only discard NEW binaries, not all maintainer binaries.

> > > Dinstall::ThrowAwayNewBinarySuites
> > > Dinstall::ThrowAwayNewBinaryComponents
> > 
> > I would be a great fan of this happening.
> 
> Indeed.

The dak docs/TODO file still has this in it.

   * Throw away all DD uploaded .debs. (Depend on "Lintian based automated
      rejects")
     - Need a way to define a build-architecture for arch_all debs. Some of
       them can only be built on certain architectures.
       A control file header build-architecture: YXY should do it.
     - It's a suite option, not active for all at once.
     - Should have all buildd machines under dsa control

Lintian based rejects is done long ago.

I don't think Build-Architecture header is done yet? Although since we
build all arch:all packages on amd64 machines now I don't think this is
needed for throwing away NEW binaries?

AFAICS from `git grep -iW throw.*away`, the code works by to saving all
binaries from NEW uploads to the morgue instead of the archive, for
combinations of suite and component listed in the config options.

https://salsa.debian.org/ftp-team/dak/

The options aren't set, except in the test suite:

   Dinstall {
     ThrowAwayNewBinarySuites {
       "unstable";
     };
     ThrowAwayNewBinaryComponents {
       "main";
     };
   };

All buildds for official architectures are run by DSA these days.

The tests for this feature assume "that uploads by buildds use a suffix
(like pkgnew_0.1-1_amd64-buildd.changes), to avoid filename conflicts
with the orignal upload", looks like that is true for Debian now, based
on a quick look through the morgue and the proposed-updates dir:

https://deb.debian.org/debian/dists/bullseye-proposed-updates/

I don't know if the cruft report code will detect these sourceful
uploads without the discarded binaries as cruft and remove them,
but I guess that scenario was tested before the feature was merged.

The only other issue I can think of is in a bootstrap situation,
you want to keep maintainer-built binaries rather than discarding them,
but I guess a maintainer binary-only upload can work around that issue,
followed of course by binNMUs and the corresponding buildd uploads.

So probably the feature is ready to be enabled, although maybe after
the bookworm release is the best time to enable it in case there is any
unforeseen autocruft/(re)bootstrap/other fallout.

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

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


Reply to: