Bug 2134504

Summary: rpm-ostree upgrade fails when selinux-policy-devel is installed
Product: [Fedora] Fedora Reporter: Markus Linnala <markus.linnala>
Component: IoTAssignee: Peter Robinson <pbrobinson>
Status: CLOSED NOTABUG QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 36   
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-10-13 13:47:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Markus Linnala 2022-10-13 13:40:05 UTC
Description of problem:

I have selinux-policy-devel to allow local SELinux modifications.

Version-Release number of selected component (if applicable):

VERSION="36.20221005.0 (IoT Edition)"
selinux-policy-36.15-1.fc36.noarch
selinux-policy-devel-36.15-1.fc36.noarch
rpm-ostree-2022.13-1.fc36.aarch64
rpm-4.17.1-3.fc36.aarch64

```
$ sudo rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.service: last run failed
Deployments:
● fedora-iot:fedora/stable/aarch64/iot
                  Version: 36.20221005.0 (2022-10-05T15:43:59Z)
               BaseCommit: ddb6cbbbdea7494789ab3c699fac685d0ca762682fe2068506eeb3aae733ef99
             GPGSignature: Valid signature by 53DED2CB922D8B8D9E63FD18999F7CBF38AB71F4
          LayeredPackages: audit bind-utils buildah etckeeper i2c-tools make man nginx nginx-mod-stream
                           openscap-scanner rsync rsyslog selinux-policy-devel watchdog

  fedora-iot:fedora/stable/aarch64/iot
                  Version: 36.20221003.0 (2022-10-03T12:23:06Z)
               BaseCommit: 564b8e03563282c88bb26db95c8641b378274c6a21d28bb70bd15cd0a8b58806
             GPGSignature: Valid signature by 53DED2CB922D8B8D9E63FD18999F7CBF38AB71F4
          LayeredPackages: audit bind-utils buildah etckeeper i2c-tools make man nginx nginx-mod-stream
                           openscap-scanner rsync rsyslog selinux-policy-devel watchdog
```

How reproducible:

Steps to Reproduce:
1. sudo rpm-ostree install selinux-policy-devel
2. sudo reboot
3. wait until there is updates to selinux-policy
4. sudo rpm-ostree upgrade --unchanged-exit-77 --reboot

Actual results:

```
$ sudo rpm-ostree upgrade --unchanged-exit-77 --reboot
note: automatic updates (stage) are enabled
2 metadata, 0 content objects fetched; 788 B transferred in 5 seconds; 0 bytes content written
Checking out tree ddb6cbb... done
Enabled rpm-md repositories: fedora-cisco-openh264 fedora updates
Importing rpm-md... done
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2022-08-26T07:01:49Z solvables: 4
rpm-md repo 'fedora' (cached); generated: 2022-05-04T21:15:55Z solvables: 58687
rpm-md repo 'updates' (cached); generated: 2022-10-12T17:42:46Z solvables: 21650
Resolving dependencies... done
error: Could not depsolve transaction; 1 problem detected:
 Problem: conflicting requests
  - package selinux-policy-devel-36.7-1.fc36.noarch requires selinux-policy = 36.7-1.fc36, but none of the providers can be installed
  - package selinux-policy-devel-36.16-1.fc36.noarch requires selinux-policy = 36.16-1.fc36, but none of the providers can be installed
  - cannot install both selinux-policy-36.7-1.fc36.noarch and selinux-policy-36.15-1.fc36.noarch
  - cannot install both selinux-policy-36.16-1.fc36.noarch and selinux-policy-36.15-1.fc36.noarch
```

Expected results:

Upgrade and reboot without fuss.

Additional info:

I wonder if somehow process to do selinux-policy upgrades or repo upgrades causes this,

https://packages.fedoraproject.org/pkgs/selinux-policy/selinux-policy/

has now latest package:

Fedora 36	36.7-1.fc36

but it should be 36.16-1.fc36

For example:

https://bodhi.fedoraproject.org/updates/FEDORA-2022-096f7730be

DATES
submitted 4 weeks ago
in testing 4 weeks ago
in stable 3 weeks ago

Somehow 36.15-1.fc36 is removed and it is replaced with 36.7-1.fc36 when it should be replaced with 36.16-1.fc36

https://bodhi.fedoraproject.org/updates/FEDORA-2022-0c59a07653

DATES
submitted a week ago
in testing a week ago
in stable a day ago

Comment 1 Markus Linnala 2022-10-13 13:41:16 UTC
Also I've seen this with other selinux-policy updates, just activated this time. If I remove selinux-policy-devel, upgrades work as expected.

Comment 2 Peter Robinson 2022-10-13 13:47:46 UTC
It's purely a timing issue from the base ostree and the upstream repos from Fedora which contain the overlayed rpms. Usually resolved in a day or so when the next IoT ostree update is generated.