= Bugzilla – Finding the Correct Component
Ben Cotton 
:revnumber: F36 onwards
:revdate: 2022-03-03
:category: Troubleshooting
:tags: How-to, Bugzilla  
:page-aliases: bugzilla/correct-component.adoc


When filing a bug, it helps if you can identify the component at fault.
This is not always obvious, so here are some tips.

== Which program is it?

If you started the program from the GNOME menu, you can usually find the name of the program by going to "Help -> About" in the program's internal menus.
You can also go to "System -> Preferences -> Personal -> Sessions" on the GNOME menu. Click on the "Current Session" tab to see a list of programs running on your desktop.

If you started the program from the command line, the name of the program is the first "word" of the command (everything before the first space, which might include dashes or underscores).

If you want to find out exactly what command a specific menu item will run, in GNOME you can do the following:

. Right-click on the menu item and select "Add this launcher to panel"
. Right-click on the icon that appears on your panel and select "Properties"
. Record the "Command" field, then close the Properties window.
. Right-click on the panel icon again and select "Remove from panel" to put things back the way they were when you started.

== Which file is it?

If you know which command was run, but don't know the exact file name this corresponds to, try this on the command line:

    which <command-name>

The first line in the results is the one you want.

For example:

    $ which ssh
    /usr/bin/ssh

== Which package is it?

Once you have the name of a file or directory, you can determine which package owns it using "rpm -qf".
For example:

    $ rpm -qf /usr/bin/nautilus-file-management-properties
    nautilus-2.25.91-2.fc11.x86_64

You should include the full name and version number of this package in your bug report.

== Which component is it?

In Fedora Linux, a given "source" RPM can produce multiple RPMs in the distribution.
Bugzilla groups bugs according to the "source" RPMs.
Once you have the RPM name, you can get the "source" RPM name (which might be different) using "rpm -qi".

For example, run `rpm -qi glibc-common` and then look for the line that says "Source RPM:"
In this case, it's "glibc-2.9.90-7.src.rpm", which means the component name to use in Bugzilla is "glibc" (everything before the dash before the version number).

    $ rpm -qi glibc-common
    ...
    Group       : System Environment/Base
    Source RPM: glibc-2.11-2.src.rpm

NOTE: If the "Vendor:" line does not say "Fedora Project", you may need to report the bug to a different project's bug tracker.

== If you don't have package installed

For packages which you have NOT installed you can use dnf's repoquery command:

    repoquery -f /usr/bin/kdm

will find you which binary package contains the kdm executable.
To find the component that provides the binary package you found above, run:

    repoquery -q --qf="%{sourcerpm}\n" kdm

== Embedded components

Sometimes it can be unclear whether a bug is in the main application or a plugin or library.
In these cases, just make your best guess.
A triager or developer will reassign the bug if necessary.
