Bug 2042472

Summary: removing fprintd-pam is Unable to disable [2]: No such file or directory
Product: Red Hat Enterprise Linux 9 Reporter: Jiri Jaburek <jjaburek>
Component: fprintdAssignee: Bastien Nocera <bnocera>
Status: CLOSED WONTFIX QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.0CC: jkoten, pbrezina
Target Milestone: rcFlags: bnocera: needinfo? (pbrezina)
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-07-19 07:28:15 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 Jiri Jaburek 2022-01-19 15:13:30 UTC
Description of problem:

# dnf remove fprintd-pam
...
Running transaction
  Preparing        :                                                                                                 1/1 
  Erasing          : fprintd-pam-1.94.0-3.el9.x86_64                                                                 1/1 
  Running scriptlet: fprintd-pam-1.94.0-3.el9.x86_64                                                                 1/1 
Unable to disable feature [2]: No such file or directory

  Verifying        : fprintd-pam-1.94.0-3.el9.x86_64                                                                 1/1 
Installed products updated.


This is likely caused by

postuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
  /bin/authselect disable-feature with-fingerprint || :
fi


which throws that error when there is no authselect profile selected:

# authselect current
No existing configuration detected.


So I would suggest either throwing the error output away with 2>/dev/null, which would make sense since the exit code is already thrown away with || :

Alternatively, check for the current profile before doing disable-feature, ie.

if current=$(authselect current -r) && authselect list-features "$current" | grep -q with-fingerprint; then
  authselect disable-feature with-fingerprint
fi


Version-Release number of selected component (if applicable):
fprintd-pam-1.94.0-3.el9

Comment 4 Bastien Nocera 2023-02-15 11:14:39 UTC
(In reply to Jiri Jaburek from comment #0)
> which throws that error when there is no authselect profile selected:
> 
> # authselect current
> No existing configuration detected.

How do you get into this state?

Comment 5 Bastien Nocera 2023-02-15 11:28:54 UTC
pbrezina, is there any reason why authselect is throwing a warning here? Is there a way to make this call quiet if fprintd-pam isn't used?

Comment 6 Jiri Jaburek 2023-02-15 14:39:01 UTC
(In reply to Bastien Nocera from comment #4)
> (In reply to Jiri Jaburek from comment #0)
> > which throws that error when there is no authselect profile selected:
> > 
> > # authselect current
> > No existing configuration detected.
> 
> How do you get into this state?

This was filed over a year ago, so I don't remember anymore.

But from what I can tell, authselect without any profile selected is the default after a fresh RHEL installation (at least for some minimal RHEL install). You (or some automation) would have to use "authselect select <profile>" to actually apply a specific profile.

Comment 8 RHEL Program Management 2023-07-19 07:28:15 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.