Bug 2359069 - ethtool should not be user uninstallable via GUI
Summary: ethtool should not be user uninstallable via GUI
Keywords:
Status: ON_QA
Alias: None
Product: Fedora
Classification: Fedora
Component: ethtool
Version: 42
Hardware: Unspecified
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Robert Scheck
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-04-11 12:00 UTC by Daniel Rusek
Modified: 2025-04-13 03:17 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)
Installed tab in GNOME Software on F42 (76.16 KB, image/png)
2025-04-11 12:04 UTC, Daniel Rusek
no flags Details

Description Daniel Rusek 2025-04-11 12:00:28 UTC
ethtool is user uninstallable via GUI (see the attached screenshot) and uninstalling it also uninstalls some pre-installed system packages such as kernel-tools or some dracut parts.

The main problem is the "desktop" component type in AppStream metadata:

$ head org.kernel.software.network.ethtool.metainfo.xml 
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
  <id>org.kernel.software.network.ethtool</id>
  <metadata_license>MIT</metadata_license>
  <name>ethtool</name>
  <summary>display or change Ethernet device settings</summary>
  <description>
    <p>ethtool can be used to query and change settings such as speed,
    auto- negotiation and checksum offload on many network devices,
    especially Ethernet devices.</p>

The correct component type should be "console-application".[1]

(This should ideally be fixed in upstream as well.)

Alternative solution would be removing the whole metainfo file.

After this is fixed, the appstream-data package also needs to be re-generated.

Reproducible: Always

Steps to Reproduce:
1. Use fully updated Fedora 42 Beta system.
2. Open Software and switch to the "Installed" tab.

Actual Results:  
There is "ethtool" displayed on the Installed tab.

Expected Results:  
There is no "ethtool" (or other system/cli tools) displayed on the Installed tab.

[1] https://freedesktop.org/software/appstream/docs/sect-Metadata-ConsoleApplication.html or https://freedesktop.org/software/appstream/docs/chap-Metadata.html#sect-Metadata-GenericComponent

Comment 1 Daniel Rusek 2025-04-11 12:04:59 UTC
Created attachment 2084433 [details]
Installed tab in GNOME Software on F42

Comment 2 Fedora Blocker Bugs Application 2025-04-11 12:08:32 UTC
Proposed as a Freeze Exception for 42-final by Fedora user asciiwolf using the blocker tracking app because:

 ethtool is a system tool that should not be user uninstallable via GUI because it is used by other parts of the system and required by other system packages. Uninstalling it also uninstalls these pre-installed system packages such as kernel-tools or some dracut parts.

This should be ideally fixed (via the proposed fix from the bz) before F42 Final if still possible.

After this is fixed, the appstream-data package will also need to be re-generated.

Comment 3 Robert Scheck 2025-04-11 12:52:16 UTC
Daniel, the expected downstream fix (until fixed upstream) is

  sed -e 's/"desktop"/"console-application"/' -i $RPM_BUILD_ROOT%{_metainfodir}/%{appstream_id}.metainfo.xml

correct?

Comment 4 Daniel Rusek 2025-04-11 13:01:13 UTC
Correct.

(Although I would be more cautious with sed replacing all "desktop" strings in the file - please check if the file does not contain any other text strings with "desktop" in them. Thanks!)

Comment 5 Robert Scheck 2025-04-11 13:04:17 UTC
Thank you.

$ grep desktop ethtool-6.14/org.kernel.software.network.ethtool.metainfo.xml
<component type="desktop">
$ 

$ cat ethtool-6.14/org.kernel.software.network.ethtool.metainfo.xml 
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
  <id>org.kernel.software.network.ethtool</id>
  <metadata_license>MIT</metadata_license>
  <name>ethtool</name>
  <summary>display or change Ethernet device settings</summary>
  <description>
    <p>ethtool can be used to query and change settings such as speed,
    auto- negotiation and checksum offload on many network devices,
    especially Ethernet devices.</p>
  </description>
  <url type="homepage">https://www.kernel.org/pub/software/network/ethtool/</url>
  <provides>
    <modalias>pci:v*d*sv*sd*bc02sc80i*</modalias>
  </provides>
</component>
$ 

I'll ask also upstream to fix this to be able to remove the sed call soon again.

Comment 6 Daniel Rusek 2025-04-11 13:12:46 UTC
Thanks for the quick fix!

It still needs appstream-data to be re-generated though and I am not sure if we still have enough time to land this updated ethtool package in F42 and make a new appstream-data package release before Final. :-/ We can at least do this as soon as possible after the F42 Final release.

Comment 7 Robert Scheck 2025-04-11 13:18:08 UTC
Are you sure we need a new appstream-data package? appstream-data-42-7.fc42 is from 2025-03-24 20:08:48 and ethtool-6.14-1.fc42 is from 	2025-04-08 22:08:28 and currently in testing, not in stable.

Comment 8 Fedora Update System 2025-04-11 13:24:59 UTC
FEDORA-2025-e19a0c7090 (ethtool-6.14-2.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-e19a0c7090

Comment 9 Fedora Update System 2025-04-11 13:25:29 UTC
FEDORA-2025-bf97801eac (ethtool-6.14-2.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-bf97801eac

Comment 10 Fedora Update System 2025-04-11 13:26:08 UTC
FEDORA-2025-bee7d8db13 (ethtool-6.14-2.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-bee7d8db13

Comment 11 Daniel Rusek 2025-04-11 13:26:58 UTC
(In reply to Robert Scheck from comment #7)
> Are you sure we need a new appstream-data package? appstream-data-42-7.fc42
> is from 2025-03-24 20:08:48 and ethtool-6.14-1.fc42 is from 	2025-04-08
> 22:08:28 and currently in testing, not in stable.

Interesting! I thought only apps contained in appstream-data will get displayed in Software.

Looks like you are right:

$ zgrep ethtool fedora.xml.gz
$ echo $?
1

So, the appstream-data update is probably not needed. :-)

Comment 12 Adam Williamson 2025-04-11 15:46:52 UTC
F42 Final is already signed off.

Comment 13 Daniel Rusek 2025-04-11 19:18:23 UTC
Yeah, I have found out after creating this ticket and proposing it for a FE. :-)

But since the original update is also only in testing, the FE is not needed anyway. Sorry for the confusion.

Comment 14 Fedora Update System 2025-04-13 02:40:05 UTC
FEDORA-2025-e19a0c7090 has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-e19a0c7090`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-e19a0c7090

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

Comment 15 Fedora Update System 2025-04-13 03:17:19 UTC
FEDORA-2025-bee7d8db13 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-bee7d8db13`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-bee7d8db13

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


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