#536 rmdepcheck passed on an update where it should have failed
Closed by lecris. Opened by adamwill.

I noticed this morning that the Fedora CI run of rmdepcheck on FEDORA-2025-27955bf9b3 passed, when it should have failed.

The openQA run failed correctly:

Dependencies of other packages that would be BROKEN by the tested packages:
package: plasma-camera-2.1.1-1.fc44.x86_64 from https://kojipkgs.fedoraproject.org/repos/f44-build/latest/x86_64
  libcamera-base.so.0.5()(64bit)
  libcamera.so.0.5()(64bit)

so I'm not sure why the Fedora CI run passed.

The same test run now will likely pass because I've rebuilt plasma-camera, but the initial run happened before I did that, so it should have failed like the openQA run did.


Yeah, I saw this happening once, the issue is

INFO:prepare.py:Creating the repo: /var/ARTIFACTS/work-plancdwiwer6/rmdepcheck/plan/data/repo
Directory walk started
Directory walk done - 0 packages
Temporary output repo path: /var/ARTIFACTS/work-plancdwiwer6/rmdepcheck/plan/data/repo/.repodata/
Pool started (with 5 workers)
Pool finished

We need to make it fail if there are no packages when doing create_repo. I wanted to make a patch, but couldn't get a reproducer to test it on, so best I could do is try a best-estimate patch for it.

Why were there no packages? Shouldn't whatever step downloads the packages have failed in that case?

I am just as confused as you are about that behavior. I triple-checked that we do indeed run bodhi updates download with check=True which checks the return code, but probably that one does not exit>0 when something in it fails, maybe you can do something about that?

For this specific run, it failed at

No such sigkey 6d9f90a6 for rpm python3-libcamera-0.6.0-1.fc44-x86_64.rpm

Ah, I have actually poked at that code before. That message is from koji - bodhi updates download is really just a wrapper for koji download-build, essentially - and it's a warning, not an error, so it kinda makes sense we still exited 0. Though I suppose arguably we could have koji download-build exit non-zero if it winds up downloading nothing at all because of such warnings, I'll have to look into it.

Anyhow, looking at this, I think I see a possible cause. We wound up merging my original Bodhi PR to try and get signed builds without my intended follow-up to have it use --fallback-unsigned by default, so it will fall back to unsigned builds if getting signed one fails. And it looks like the --fallback-unsigned feature still hasn't made it into a Koji release - it was merged after 1.35.3 and there hasn't been a 1.35.4 yet.

I guess I'll poke mike to see if he can do a new Koji release, then we try and get it into all the Fedora branches, then I can send the Bodhi follow-up, then we can do a new Bodhi release...whee.

Cool, thanks for following through all that thread. In the meantime I've made a probable failsafe in https://github.com/fedora-ci/rmdepcheck-pipeline/pull/6. Can't test it, but if you can give it a quick :eyes:

Sent https://pagure.io/koji/pull-request/4515 to make koji download-build exit non-zero if it downloads nothing, but I'm not 100% sure it's a safe change...we'll see what Mike thinks I guess.

We might also consider using the --no-gpg option to bodhi updates download - that makes it not try and get signed packages (which was the default behaviour before my PR).

Although, of course, now this Change is a thing in Rawhide, we'd then have to pass --no-gpgchecks to dnf when installing packages, I think...sigh, nothing's easy! Oh, no, wait, I think if the dnf repo config has gpgcheck=0 it's fine...

Fun times ahead :) . Btw, I do not have permissions to close issues :shrug:

Heh. Now I remember the package prep is not shared between pipelines, for the purposes of rmdepcheck I'm pretty sure we can just download unsigned packages and it'll be fine, so I've sent a quick PR to do that.

Fun times ahead :) . Btw, I do not have permissions to close issues :shrug:

@lecris you are admin now of this project and you are able to close issues :) welcome :)

Cool, thanks :)

Metadata Update from @lecris:
- Issue status updated to: Closed (was: Open)

Metadata