Bug 1223533 - cockpit: /nonexistent/libexec/cockpit-askpass under a regular user
Summary: cockpit: /nonexistent/libexec/cockpit-askpass under a regular user
Status: IN_PROGRESS
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: Cockpit (show other bugs)
Version: Leap 15.6
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Luna D Dragon
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-29 13:12 UTC by Lubos Kocman
Modified: 2024-07-14 19:03 UTC (History)
7 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
nonexistent/libexec/cockpit-askpass (315.94 KB, image/png)
2024-04-29 13:12 UTC, Lubos Kocman
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lubos Kocman 2024-04-29 13:12:04 UTC
Created attachment 874558 [details]
nonexistent/libexec/cockpit-askpass

On freshly installed Leap 15.6 + cockpit

If you login to localhost:9090 as a standard user and you try to enable the admin view by clicking on the cockpit homescreen button, then cockpit will raise following error

Problem becoming administrator
Sudo: unable to run /nonexistent/libexec/cockpit-askpass: No such file or directory sudo: no password was provided sudo: a password is required

lkocman@localhost:~/Workspace/obs> sudo zypper in cockpit
[sudo] password for root: 
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Retrieving repository 'packman' metadata .....................................................................................................................................................[done]
Building repository 'packman' cache ..........................................................................................................................................................[done]
Loading repository data...
Warning: Repository 'update-non-oss (15.6)' metadata expired since 2023-09-21 14:47:58 CEST.

    Warning: Repository metadata expired: Check if 'autorefresh' is turned on (zypper lr), otherwise
    manually refresh the repository (zypper ref). If this does not solve the issue, it could be that
    you are using a broken mirror or the server has actually discontinued to support the repository.

Reading installed packages...
Resolving package dependencies...

The following 2 recommended packages were automatically selected:
  cockpit-networkmanager cockpit-storaged

The following package is recommended, but will not be installed due to conflicts or dependency issues:
  cockpit-packagekit

The following 2 packages are suggested, but will not be installed:
  cockpit-pcp cockpit-selinux

The following 8 NEW packages are going to be installed:
  cockpit cockpit-bridge cockpit-networkmanager cockpit-storaged cockpit-system cockpit-ws libpwquality-tools libudisks2-0_lvm2

8 new packages to install.
Overall download size: 7.1 MiB. Already cached: 0 B. After the operation, additional 8.3 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving: cockpit-bridge-309-bp156.1.2.x86_64 (repo-oss (15.6))                                                                                                               (1/8), 471.8 KiB    
Retrieving: cockpit-bridge-309-bp156.1.2.x86_64.rpm .............................................................................................................................[done (10.9 KiB/s)]
Retrieving: cockpit-ws-309-bp156.1.2.x86_64 (repo-oss (15.6))                                                                                                                   (2/8),   1.7 MiB    
Retrieving: cockpit-ws-309-bp156.1.2.x86_64.rpm ..................................................................................................................................[done (8.4 MiB/s)]
Retrieving: libpwquality-tools-1.4.5-150600.2.2.x86_64 (repo-oss (15.6))                                                                                                        (3/8),  19.4 KiB    
Retrieving: libpwquality-tools-1.4.5-150600.2.2.x86_64.rpm ...................................................................................................................................[done]
Retrieving: libudisks2-0_lvm2-2.9.2-150400.3.3.1.x86_64 (repo-oss (15.6))                                                                                                       (4/8),  57.0 KiB    
Retrieving: libudisks2-0_lvm2-2.9.2-150400.3.3.1.x86_64.rpm .....................................................................................................................[done (93.5 KiB/s)]
Retrieving: cockpit-system-309-bp156.1.2.noarch (repo-oss (15.6))                                                                                                               (5/8),   3.2 MiB    
Retrieving: cockpit-system-309-bp156.1.2.noarch.rpm ..............................................................................................................................[done (6.7 MiB/s)]
Retrieving: cockpit-storaged-309-bp156.1.2.noarch (repo-oss (15.6))                                                                                                             (6/8), 850.0 KiB    
Retrieving: cockpit-storaged-309-bp156.1.2.noarch.rpm ............................................................................................................................[done (4.2 MiB/s)]
Retrieving: cockpit-networkmanager-309-bp156.1.2.noarch (repo-oss (15.6))                                                                                                       (7/8), 827.8 KiB    
Retrieving: cockpit-networkmanager-309-bp156.1.2.noarch.rpm ......................................................................................................................[done (3.8 MiB/s)]
Retrieving: cockpit-309-bp156.1.2.x86_64 (repo-oss (15.6))                                                                                                                      (8/8),  45.5 KiB    
Retrieving: cockpit-309-bp156.1.2.x86_64.rpm .................................................................................................................................................[done]

Checking for file conflicts: .................................................................................................................................................................[done]
(1/8) Installing: cockpit-bridge-309-bp156.1.2.x86_64 ........................................................................................................................................[done]
(2/8) Installing: cockpit-ws-309-bp156.1.2.x86_64 ............................................................................................................................................[done]
(3/8) Installing: libpwquality-tools-1.4.5-150600.2.2.x86_64 .................................................................................................................................[done]
(4/8) Installing: libudisks2-0_lvm2-2.9.2-150400.3.3.1.x86_64 ................................................................................................................................[done]
(5/8) Installing: cockpit-system-309-bp156.1.2.noarch ........................................................................................................................................[done]
(6/8) Installing: cockpit-storaged-309-bp156.1.2.noarch ......................................................................................................................................[done]
(7/8) Installing: cockpit-networkmanager-309-bp156.1.2.noarch ................................................................................................................................[done]
(8/8) Installing: cockpit-309-bp156.1.2.x86_64 ...............................................................................................................................................[done]
lkocman@localhost:~/Workspace/obs> sudo systemctl enable --now cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket → /usr/lib/systemd/system/cockpit.socket.
lkocman@localhost:~/Workspace/obs>
Comment 1 Felix Niederwanger 2024-05-15 08:40:21 UTC
Can confirm, just experienced the same issue.
Comment 2 Luna D Dragon 2024-06-13 11:28:01 UTC
This issue stems from the package being imported from tumbleweed to 15.6. Cockpit expects cockpit-askpass to exist in /usr/libexec but on 15.6 it is installed to /usr/lib as %_libexecdir on suse versions less then 16.0 it points to /usr/lib a fix has been submitted to obs. We will soon have it on 15.6.
Comment 3 OBSbugzilla Bot 2024-06-13 12:35:06 UTC
This is an autogenerated message for OBS integration:
This bug (1223533) was mentioned in
https://build.opensuse.org/request/show/1180402 Backports:SLE-15-SP6 / cockpit
https://build.opensuse.org/request/show/1180404 Factory / cockpit
Comment 4 Fuminobu Takeyama 2024-07-14 03:11:44 UTC
I updated to 316 but this problem still reproduces

S  | Name                   | Type    | Version         | Arch   | Repository
---+------------------------+---------+-----------------+--------+----------------------------------------
i+ | cockpit                | package | 316-bp156.2.3.1 | x86_64 | Update repository of openSUSE Backports
i  | cockpit-bridge         | package | 316-bp156.2.3.1 | x86_64 | Update repository of openSUSE Backports
i  | cockpit-networkmanager | package | 316-bp156.2.3.1 | noarch | Update repository of openSUSE Backports
i  | cockpit-storaged       | package | 316-bp156.2.3.1 | noarch | Update repository of openSUSE Backports
i  | cockpit-system         | package | 316-bp156.2.3.1 | noarch | Update repository of openSUSE Backports
i  | cockpit-ws             | package | 316-bp156.2.3.1 | x86_64 | Update repository of openSUSE Backports


I guess a path to libexec is hard-coded in the Cockpit side.
Comment 5 Fuminobu Takeyama 2024-07-14 03:35:08 UTC
In my quick survey, please check the following line:

https://github.com/cockpit-project/cockpit/blob/316/src/cockpit/packages.py#L130

> for candidate in ['/usr/local/libexec', '/usr/libexec', '/usr/local/lib/cockpit', '/usr/lib/cockpit']:


* Option 1: Move cockpit-askpass etc. to /usr/lib/cockpit
* Option 2: Move cockpit-askpass etc. to /usr/libexec
* Option 3: Patch the upstream code above

Because some of /usr/lib/cockpit-* are x86-64 binary, I prefer Option 2, which is acceptable in Leap in my understanding.
Comment 6 Herbert Graeber 2024-07-14 19:03:17 UTC
(In reply to Fuminobu Takeyama from comment #5)
> In my quick survey, please check the following line:
> 
> https://github.com/cockpit-project/cockpit/blob/316/src/cockpit/packages.
> py#L130
> 
> > for candidate in ['/usr/local/libexec', '/usr/libexec', '/usr/local/lib/cockpit', '/usr/lib/cockpit']:

Here for leap '/usr/lib' is missing. That's the leap equivalent of tumbleweeds
'/usr/libexec', where the cockpit binaries like 'cockpit-askpass' reside.
 
> * Option 1: Move cockpit-askpass etc. to /usr/lib/cockpit
> * Option 2: Move cockpit-askpass etc. to /usr/libexec
> * Option 3: Patch the upstream code above
> 
> Because some of /usr/lib/cockpit-* are x86-64 binary, I prefer Option 2,
> which is acceptable in Leap in my understanding.

Thus I would prefer Option 3 and add '/usr/lib'. Additionally some of the other
folders can be removed. For leap "[ '/usr/lib', /usr/local/lib' ]" shall be sufficient.