Hi!

On Fri, 2017-09-01 at 11:25:11 +0000, Holger Levsen wrote:
> Source: dpkg
> Version: 1.8.24
> Severity: wishlist
> User: reproducible-bui...@lists.alioth.debian.org
> Usertags: toolchain
> X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

> during discussing #844431 it became clear, that some information about the
> running kernel should be included in .buildinfo files, as this can affect the
> build.

It is actually not very clear to me. The examples provided there seem
bogus:

* Any build that relies on the currently running kernel for the
  resulting object is broken, and needs to be fixed. The host kernel
  might/should/will have nothing to do with the build one.
* Builds that embed build kernel information should be fixed to not
  do that, as that information should be irrelevant for the generated
  object.
* Builds breaking on kernel changing the version schema should only
  affect things such as kernel modules or similar, anything else is
  also broken. Any kernel version checks, if at all, should always
  be done at run-time.
* Builds breaking due to disabled functionality in the current running
  kernel should be considered broken. In case of the test suite
  failing, that should be fixed to skip those tests gracefully. In
  case of the build system breaking, that should be reworked to not
  use that functionality (which I'd assume is unportable?).

> For a start, including the output of "uname -s -r -v -m -i -o" (so basically
> uname -a without the hostname) would be better than the current status quo,
> though it would probably be even nicer to also include a hash of
> /proc/config.gz or maybe even the whole thing.

In addition to the above, I'm actually somewhat uncomfortable with this
request, as it looks like a massive privacy leak. Compared to package
lists and versions, which are actually requested by the package being
built and might not have anything to do with the main system this
build was being run on (say a chroot for example), or might get deleted
immediately after the build. The kernel tends to be a system-wide
resource, that even if upgraded does not mean it will be running (until
a reboot).

It's also somewhat common to have custom built kernels, with specific
sets of additional patches, or specific modules/subsystems enabled. The
version also pretty much encodes whether the running kernel is potentially
vulnerable (until the next reboot) which would be a nice way to gather
that information from the .buildinfo files for possible targeted attacks.

So, the information proposed seems to be either redudant, because it's
already part of the Build-Architecture field (-s, -m, -o); a major
privacy leak (-r, -v); or not very helpful for reproducibility, as it
would require the exact hardware to be able to reproduce the objects
(-i).

(Besides POSIX only specifies -m, -n, -r, -s and -v, so using anything
else would be non-portable and a non-starter.)

Given all the above, I'm inclined to just close the report? :)

Thanks,
Guillem

Reply via email to