Bug 2124059 - pam-1.5.2-13.fc36.i686 not available
Summary: pam-1.5.2-13.fc36.i686 not available
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: pam
Version: 36
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Iker Pedrosa
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-09-04 11:02 UTC by Albert Flügel
Modified: 2022-09-19 07:17 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-09-19 07:17:25 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
RPM of the build of pam-1.5.2-13.fc36.i686 (537.83 KB, application/x-rpm)
2022-09-04 11:02 UTC, Albert Flügel
no flags Details
the built rpm of pam-devel-1.5.2-13.fc36.i686 (96.54 KB, application/x-rpm)
2022-09-04 11:03 UTC, Albert Flügel
no flags Details
the built rpm of pam-debuginfo-1.5.2-13.fc36.i686 (497.16 KB, application/x-rpm)
2022-09-04 11:04 UTC, Albert Flügel
no flags Details

Description Albert Flügel 2022-09-04 11:02:40 UTC
Created attachment 1909475 [details]
RPM of the build of pam-1.5.2-13.fc36.i686

Description of problem:
Updating the x86_64 system with the 32 bit libraries included fails to update pam-1.5.2-12.fc36 to pam-1.5.2-13.fc36, cause it seems not available. It is possible to update pam-libs, but not pam

Version-Release number of selected component (if applicable):
1.5.2-13.fc36

How reproducible:
Run dnf update pam

Steps to Reproduce:
1. run: dnf update pam

Actual results:
I get an error message. dnf wants to downgrade pam.x86_64, pam-libs.x86_64 and pam-libs.i686 to version 1.5.2-12 to resolve the issue, but it is not possible to install pam.x86_64 in version 1.5.2-13

Expected results:
pam-1.5.2-13.i686 gets installed

Additional info:
It is possible to build pam-1.5.2-13.i686, when all requirements are fulfilled. When i tried, it did not complain about missing glibc-devel.i686 and libselinux-devel.i686, though they are needed, and tried to start the build, what resulted in a missing pam_sepermit module, what is normal, cause it is built conditionally (as specified in the configure ...). The missing module made the checks in the spec file fail.
The interesting question is, why rpmbuild does not detect, that the 2 named devel packages are missing, when building with --target=i686 This is probably the actual problem and an issue of rpm (don't know).
Find attached the built RPMs of pam 1.5.2-13.

Comment 1 Albert Flügel 2022-09-04 11:03:36 UTC
Created attachment 1909476 [details]
the built rpm of pam-devel-1.5.2-13.fc36.i686

Comment 2 Albert Flügel 2022-09-04 11:04:14 UTC
Created attachment 1909477 [details]
the built rpm of pam-debuginfo-1.5.2-13.fc36.i686

Comment 3 Dan Horák 2022-09-08 16:52:54 UTC
I believe you are getting the expected behaviour. Only 32-bit development rpms are available in the x86_64 repository, which is not the case of the main pam rpm (only pam-devel and pam-libs will be available). If you need the 32-bit pam rpm, then you can download it directly from the buildsystem (https://koji.fedoraproject.org/koji/packageinfo?packageID=222).

Running "dnf update --allowerasing pam" should get you to a working state.

Comment 4 Otto Liljalaakso 2022-09-15 20:19:15 UTC
I have a similar problem.
When I try to upgrade my Fedora 36 system, I get the following complaint:

 Problem 1: pam-1.5.2-12.fc36.i686 has inferior architecture
  - cannot install both pam-1.5.2-13.fc36.x86_64 and pam-1.5.2-12.fc36.x86_64
  - cannot install the best update candidate for package pam-1.5.2-12.fc36.i686
  - cannot install the best update candidate for package pam-1.5.2-12.fc36.x86_64
 Problem 2: package libpwquality-1.4.4-7.fc36.i686 requires pam(x86-32), but none of the providers can be installed
  - package pam-1.5.2-12.fc36.i686 requires pam-libs(x86-32) = 1.5.2-12.fc36, but none of the providers can be installed
  - cannot install both pam-libs-1.5.2-13.fc36.i686 and pam-libs-1.5.2-12.fc36.i686
  - cannot install the best update candidate for package pam-libs-1.5.2-12.fc36.i686
  - cannot install the best update candidate for package libpwquality-1.4.4-7.fc36.i686
 Problem 3: problem with installed package pam-1.5.2-12.fc36.i686
  - package pam-1.5.2-12.fc36.i686 requires pam-libs(x86-32) = 1.5.2-12.fc36, but none of the providers can be installed
  - pam-libs-1.5.2-12.fc36.i686 has inferior architecture
  - cannot install both pam-libs-1.5.2-13.fc36.x86_64 and pam-libs-1.5.2-12.fc36.x86_64
  - cannot install the best update candidate for package pam-libs-1.5.2-12.fc36.x86_64
==============================================================================================================
 Package                  Architecture           Version                        Repository               Size
==============================================================================================================
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
 pam                      x86_64                 1.5.2-13.fc36                  updates                 522 k
 pam-libs                 i686                   1.5.2-13.fc36                  updates                  61 k
 pam-libs                 x86_64                 1.5.2-13.fc36                  updates                  58 k

Transaction Summary
==============================================================================================================
Skip  3 Packages

Nothing to do.
Complete!

With --allowerasing it becomes:

$ LANG=C.UTF-8 sudo dnf upgrade --allowerasing
 Problem: cannot install the best update candidate for package libpwquality-1.4.4-7.fc36.x86_64
  - problem with installed package libpwquality-1.4.4-7.fc36.x86_64
  - package libpwquality-1.4.4-7.fc36.x86_64 requires pam(x86-64), but none of the providers can be installed
  - cannot install the best update candidate for package pam-1.5.2-12.fc36.x86_64
  - package libpwquality-1.4.4-7.fc36.i686 requires pam(x86-32), but none of the providers can be installed
  - pam-1.5.2-12.fc36.i686 has inferior architecture
  - cannot install both pam-1.5.2-13.fc36.x86_64 and pam-1.5.2-12.fc36.x86_64
  - cannot install the best update candidate for package libpwquality-1.4.4-7.fc36.i686
  - problem with installed package libpwquality-1.4.4-7.fc36.i686
==============================================================================================================
 Package              Architecture            Version                          Repository                Size
==============================================================================================================
Skipping packages with conflicts:
(add '--best' to command line to force their upgrade):
 pam                  x86_64                  1.5.2-13.fc36                    updates                  522 k

Transaction Summary
==============================================================================================================
Skip  1 Package

Nothing to do.
Complete!

Adding further --best does not change that:

$ LANG=C.UTF-8 sudo dnf upgrade --best --allowerasing
Last metadata expiration check: 1:42:46 ago on Thu Sep 15 21:35:13 2022.
Error: 
 Problem: cannot install the best update candidate for package libpwquality-1.4.4-7.fc36.x86_64
  - problem with installed package libpwquality-1.4.4-7.fc36.x86_64
  - package libpwquality-1.4.4-7.fc36.x86_64 requires pam(x86-64), but none of the providers can be installed
  - cannot install the best update candidate for package pam-1.5.2-12.fc36.x86_64
  - package libpwquality-1.4.4-7.fc36.i686 requires pam(x86-32), but none of the providers can be installed
  - pam-1.5.2-12.fc36.i686 has inferior architecture
  - cannot install both pam-1.5.2-13.fc36.x86_64 and pam-1.5.2-12.fc36.x86_64
  - cannot install the best update candidate for package libpwquality-1.4.4-7.fc36.i686
  - problem with installed package libpwquality-1.4.4-7.fc36.i686
(try to add '--skip-broken' to skip uninstallable packages)

Comment 5 Otto Liljalaakso 2022-09-15 20:33:07 UTC
Ok, this explains this one step further:

$ LANG=C.UTF-8 dnf -C repoquery --whatprovides 'pam(x86-64)'
Last metadata expiration check: 1:49:55 ago on Thu Sep 15 21:35:13 2022.
pam-0:1.5.2-12.fc36.x86_64
pam-0:1.5.2-13.fc36.x86_64

$ LANG=C.UTF-8 dnf -C repoquery --whatprovides 'pam(x86-32)'
Last metadata expiration check: 1:50:12 ago on Thu Sep 15 21:35:13 2022.
pam-0:1.5.2-12.fc36.i686

But why Release 12 has both architectures, but 13 only x86_64?
The commit for Release 13 does not look related at all [1]
(but then, I do not understand multilib at all.)

[1]: https://src.fedoraproject.org/rpms/pam/c/715212ba98ef99c22ac6fbf0b9fa83f0e2ffa294?branch=f36

Comment 6 Otto Liljalaakso 2022-09-15 20:48:36 UTC
Some further research: pam and libpwquality have a cyclic dependency between them:

$ LANG=C.UTF-8 dnf -C repoquery --whatrequires libpwquality | grep pam-
pam-0:1.5.2-12.fc36.i686
pam-0:1.5.2-12.fc36.x86_64
pam-0:1.5.2-13.fc36.x86_64
$ LANG=C.UTF-8 dnf -C repoquery --whatrequires pam | grep libpwquality-
libpwquality-0:1.4.4-7.fc36.i686
libpwquality-0:1.4.4-7.fc36.x86_64

Is it wrong for libpwquality to do 'Requires: pam%{?_isa}'[1]?

[1]: https://src.fedoraproject.org/rpms/libpwquality/blob/f36/f/libpwquality.spec#_30

Comment 7 Albert Flügel 2022-09-18 11:06:09 UTC
@Otto Lilfalaakso: Your problem is exacely the issue i reported here. The cyclic dependency is imho no real problem as long as both packages are installed at a time.
For now you may download the attached RPM of pam-1.5.2-13.fc36.i686 https://bugzilla.redhat.com/attachment.cgi?id=1909475.

What i do not understand (@ Dan Horák), why i should explicitely go to the build system and download the RPM. For a normal user this would not be a realistic scenario.
@Package maintainer: Please provide pam-1.5.2-13.fc36.i686 with the normal distribution like is the case for pam-libs-1.5.2-13.fc36 . I don't see, what speaks against this.

Comment 8 Dan Horák 2022-09-18 11:42:13 UTC
The primary problem is in the compose tools that added pam.i686 into the F-36 GA for x86_64, while they should include only devel and libs subpackages (as defined in the multilib policy). It has known issues around the multilib support. The main pam.i686 isn't included in the updates, which seems correct. Or pam.i686 was brought into the GA by the libpwquality as a dependency, but as there is no libpwquality update in F-36 updates, thus pam.i686 isn't identified as required ... Anyway this is nothing the pam maintainer can influence, it's a release engineering issue (issues goes to https://pagure.io/releng/).

I am suggesting to install pam.i686 from the buildsystem, because from the original question it's not clear what is the use-case. If you don't make any use of the pam.i686 rpm, then try removing it manually (dnf remove pam.i686) before trying to update the system.

Ideally the whole 32-bit x86 support should be made a history ...

Comment 9 Dan Horák 2022-09-18 11:50:19 UTC
I believe https://pagure.io/pungi-fedora/blob/main/f/fedora.conf#_234 and related configs need an update, please open the rel-eng ticket.

Comment 10 Otto Liljalaakso 2022-09-18 19:55:46 UTC
Thank you for weighing in, Dan!
I created a rel-eng ticket: https://pagure.io/releng/issue/11037

Personally, I have determined that I do not need pam.i686 anymore,
so solved this problem with 'dnf remove pam.i686'.

Just in case somebody wants to play around with this,
here is a reproducer for fully updated Fedora 36:

$ sudo dnf install pam.i686 --assumeyes && sudo dnf upgrade

Comment 11 Iker Pedrosa 2022-09-19 07:17:25 UTC
As this has been identified as a rel-eng issue and a ticket has been opened for it I'm closing this bugzilla.


Note You need to log in before you can comment on or make changes to this bug.