Bug 1110708 - gdb does not build reproducibly
Summary: gdb does not build reproducibly
Status: NEW
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Development (show other bugs)
Version: Current
Hardware: Other openSUSE Factory
: P5 - None : Minor (vote)
Target Milestone: ---
Assignee: Michael Matz
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-04 08:43 UTC by Bernhard Wiedemann
Modified: 2018-10-04 11:33 UTC (History)
2 users (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bernhard Wiedemann 2018-10-04 08:43:46 UTC
most content in
/usr/share/doc/packages/gdb-testresults
differs for every build.
I guess it should be split into a separate build like with gcc8-testresults
or using the (still ugly) _multibuild feature in OBS, like glibc

Another approach could be to not package the testresults at all
and just print them into the build log
or into another side artifact.
Comment 1 Richard Biener 2018-10-04 09:02:32 UTC
Can you explain "other side artifact"?  Is that a new OBS feature we can use
to make the testresults accessible?

IMHO we want the ability to mark a sub-package "volatile" as to not trigger
rebuilds of packages depending on it -- but nothing should depend on
gdb-testresults so why exactly is that not reproducing an issue at all?
Comment 2 Bernhard Wiedemann 2018-10-04 11:13:39 UTC
https://build.opensuse.org/package/binaries/openSUSE:Factory/gdb/standard
already has '_buildenv' and 'rpmlint.log' as side-artifacts for download
which do not influence pkg-diff calculation.

Not sure, if/how it is possible to make these in a build.

A "volatile" flag for subpackages could also help,
because I think, currently all of gdb always gets republished
and there are packages that BuildRequire gdb, which could create cycles.

> grep '^BuildRequires.*gdb$' */*.spec|cut -d/ -f1 |sort -u
389-ds
cimple
coreutils
coreutils-testsuite
crda
cross-*-gcc7
gcc7
gcc7-testresults
gcc8
glibc
go1.*
installation-images
ldc
libqt5-creator
nemiver
python-qt5
verilator
Comment 3 Richard Biener 2018-10-04 11:33:29 UTC
(In reply to Bernhard Wiedemann from comment #2)
> https://build.opensuse.org/package/binaries/openSUSE:Factory/gdb/standard
> already has '_buildenv' and 'rpmlint.log' as side-artifacts for download
> which do not influence pkg-diff calculation.
> 
> Not sure, if/how it is possible to make these in a build.

And make them "nicely" downloadable from the UI.  Maybe we generally
can add a _testresults "stream" a package build could store a tar
archieve to for example?

> A "volatile" flag for subpackages could also help,
> because I think, currently all of gdb always gets republished
> and there are packages that BuildRequire gdb, which could create cycles.
> 
> > grep '^BuildRequires.*gdb$' */*.spec|cut -d/ -f1 |sort -u
> 389-ds
> cimple
> coreutils
> coreutils-testsuite
> crda
> cross-*-gcc7
> gcc7
> gcc7-testresults
> gcc8
> glibc
> go1.*
> installation-images
> ldc
> libqt5-creator
> nemiver
> python-qt5
> verilator

Awww, so re-building gets decided on whether _any_ of the sub-packages of the source package of a dependency changed?  Ugh...

So a "volatile" package should then not being depend on.