source uploading with a .buildinfo containing hashes for binary is rejected

Bug #1699763 reported by Mattia Rizzolo
88
This bug affects 18 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Confirmed
Undecided
Unassigned

Bug Description

This is the original aim of .buildinfo: people upload those file containing the hashes of the built binaries, but without actually uploading the binaries, to check that the binaries rebuilt by another party (i.e. a buildd) matches what expected.
But when uploading a _source.changes (i.e. not actually uploading any binary) with a .buildinfo containing references to the binaries, the upload is rejected with:

Rejected:
Mismatch in binaryfulness. (arch) False != (files) True

Revision history for this message
Vincent Bernat (vbernat) wrote :

I am also running into this bug by building with --source-only-changes which is useful to locally build the binary to ensure it works, then upload a _source.changes, all in one command.

Revision history for this message
ProfessorKaos64 (mdeguzis) wrote :

Hit this as well. Preventing me from updating Antimicro for folks over at https://github.com/AntiMicro/antimicro/issues/192. Is there any workaround?

Revision history for this message
ProfessorKaos64 (mdeguzis) wrote :

Ok I worked around this by just removing the buildinfo from the file list in .changes/source.chanages. Don't bother with any other trickery.

Revision history for this message
Dawid Dziurla (dawidd0811) wrote :

Yep, would be nice to fix this issue. Just ran into it.

Revision history for this message
Ross Gammon (rosco2) wrote :

Just ran into this myself. Bit of a pain if you want to test build & install in a ppa.

Changed in launchpad:
status: New → Confirmed
Revision history for this message
GB_2 (bfeber) wrote :

If you're using pbuilder then you can simply skip saving the .buildinfo with this command:
pdebuild -- --source-only-changes --debbuildopts --buildinfo-option="-O"

Revision history for this message
Kyle Robbertze (krobbertze) wrote :

Using git-buildpackage, this bug can be worked around using the following flag:

--git-pbuilder-opt="--debbuildopts='--buildinfo-option=-O'"

Revision history for this message
Matthias Klose (doko) wrote :

also:
dpkg-buildpackage -i -S -d --buildinfo-option=-O

make sure that debian/files doesn't reference the buildinfo file from previous build attempts.

Revision history for this message
Aos Dabbagh (aos1) wrote (last edit ):

For `gbp` and `sbuild`, this is what I ended up having to do:

gbp buildpackage --git-builder="sbuild --source-only-changes --debbuildopts='--buildinfo-option=-O'"

Revision history for this message
Christopher Hoskin (christopher-hoskin) wrote :

```
sbuild --source-only-changes --debbuildopt=--buildinfo-option=-O --dist impish
```

used to produce a `_source.changes` file without the `.buildinfo` lines. However, I find

```
sbuild --source-only-changes --debbuildopt=--buildinfo-option=-O --dist jammy
```

always adds the `.buildinfo` lines to the `_source.changes` file and the upload to Launchpad is rejected with the cryptic:
```
Mismatch in binaryfulness. (arch) False != (files) True
```

Back to doing

```
sed -i '/buildinfo/d' *_source.changes
```

unless anyone has a better workaround?

Revision history for this message
Kenobi Foss (fosskenobi) wrote :

I can confirm that with jammy, buildinfo is included, even with the debbuildopts flag turning it off.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.