Bug 1908086

Summary: wireshark-cli.post scripts call to udevadm breaks installation/upgrade on Silverblue
Product: [Fedora] Fedora Reporter: rugk <7d28c752>
Component: wiresharkAssignee: Michal Ruprich <mruprich>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 33CC: alekcejk, denis, huzaifas, lemenkov, marcel, mruprich, msehnout, mweires, peter, rvokal, sergey.avseyev, travier
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: wireshark-3.4.2-1.fc33 wireshark-3.4.2-1.fc32 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-02-07 01:32:33 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 rugk 2020-12-15 19:59:46 UTC
Description of problem:


Version-Release number of selected component (if applicable):
I guess wireshark-3.4.0-1.fc33.

Last working version (as it seems):
wireshark-1:3.2.7-2.fc33.x86_64
  wireshark-cli-1:3.2.7-2.fc33.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Install Fedora Silverblue.
2. `rpm-ostree install wireshark` 

Or `rom-ostree upgrade`  if you have already installed it, i.e. it also happens on upgrade.

Actual results:
```
$ rpm-ostree install wireshark 
Checking out tree fd39645... done
Enabled rpm-md repositories: fedora rpmfusion-free fedora-cisco-openh264 updates rpmfusion-free-updates updates-archive
rpm-md repo 'fedora' (cached); generated: 2020-10-19T23:27:19Z
rpm-md repo 'rpmfusion-free' (cached); generated: 2020-10-16T17:39:10Z
rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2020-08-25T19:10:34Z
rpm-md repo 'updates' (cached); generated: 2020-12-14T00:43:12Z
rpm-md repo 'rpmfusion-free-updates' (cached); generated: 2020-12-10T20:24:08Z
rpm-md repo 'updates-archive' (cached); generated: 2020-12-14T01:37:17Z
Importing rpm-md... done
Resolving dependencies... done
Will download: 2 packages (25,6 MB)
Downloading from 'updates'... done
Importing packages... done
Applying 1 override and 146 overlays
Processing packages... done
Running pre scripts... done
Running post scripts... done
error: Running %post for wireshark-cli: Executing bwrap(/bin/sh): Der Kindprozess wurde mit Signal 1 beendet; run `journalctl -t 'rpm-ostree(wireshark-cli.post)'` for more information
```

```
$ journalctl -t 'rpm-ostree(wireshark-cli.post)' --no-hostname --no-pager
-- Logs begin at Wed 2020-06-03 20:43:56 CEST, end at Sun 2020-12-13 21:29:23 CET. --
Dez 12 20:05:00 rpm-ostree(wireshark-cli.post)[94546]: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:08.1/0000:03:00.3/usbmon/usbmon1/uevent': Read-only file system
Dez 13 21:20:52 rpm-ostree(wireshark-cli.post)[138513]: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:08.1/0000:03:00.3/usbmon/usbmon1/uevent': Read-only file system
Dez 13 21:26:56 rpm-ostree(wireshark-cli.post)[140023]: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:08.1/0000:03:00.3/usbmon/usbmon1/uevent': Read-only file system
```

Expected results:
No error.

Additional info:
Fedora Silverblue 33
ostree://fedora:fedora/33/x86_64/silverblue
Version: 33.20201210.0 (2020-12-10T00:51:13Z)
BaseCommit: fd39645fcf9da4279bd89bb9c8c5b020d31bc94bcbcb76bd33efa2795e1defe3

Initially asked in Fedora forum: https://discussion.fedoraproject.org/t/overlay-wireshark-upgrade-broken/25407?u=rugk

--

Possibly solution:

The issue stems to be from the post script. The %post script
https://src.fedoraproject.org/rpms/wireshark/blob/f33/f/wireshark.spec#_185

calls /usr/bin/udevadm trigger --subsystem-match=usbmon

This makes no sense and does not work on Silverblue due to the readonly file system.
Can this be just not be done on Silverblue?

Comment 1 Timothée Ravier 2020-12-21 16:59:08 UTC
This does not work on Silverblue as package installation happens "offline" with rpm-ostree so /sys is unavailable.
The %post script could check whether /sys/devices exists and skip this command.

Comment 2 Marcel Ziswiler 2021-01-29 08:24:20 UTC
Could you guys please fix this? It is now broken since more than a month!

Comment 3 Timothée Ravier 2021-01-29 10:17:49 UTC
This has just been merged for F34: https://src.fedoraproject.org/rpms/wireshark/pull-request/5

Comment 4 Fedora Update System 2021-01-29 14:33:07 UTC
FEDORA-2021-138674557c has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-138674557c

Comment 5 Fedora Update System 2021-01-29 14:33:23 UTC
FEDORA-2021-f3011da665 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-f3011da665

Comment 6 Fedora Update System 2021-01-30 01:29:25 UTC
FEDORA-2021-f3011da665 has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-f3011da665`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-f3011da665

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2021-01-30 02:11:23 UTC
FEDORA-2021-138674557c has been pushed to the Fedora 32 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-138674557c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-138674557c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2021-02-07 01:32:33 UTC
FEDORA-2021-f3011da665 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 9 Fedora Update System 2021-02-07 01:38:46 UTC
FEDORA-2021-138674557c has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.