From Fedora Project Wiki
fp-wiki>ImportUser
(Imported from MoinMoin)
 
(→‎Which program is it?: how to figure out what program a menu item runs)
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
= Determining Correct Component =
==Which program is it?==


Fedora bugzilla follows the convention of filing bugs against the source rpm for the compiled program or script which contains the bugSometimes there is not an obvious mapping between the name of the program or script, installed (binary) rpm and source rpm. Hopefully the following suggestions will help you narrow it down.
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 menuClick on the "Current Session" tab to see a list of programs running on your desktop.


== You already know the installed rpm name ==
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).


<pre>
If you want to find out exactly what command a specific menu item will run, in Gnome you can do the following:
$ rpm -qi <name>
* Right-click on the menu item and select "Add this launcher to panel"
</pre>
* 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>
 
or if you are running tcsh:
 
where <command-name>
 
The first line in the results is the one you want.
 
For example:
 
$ which ssh
/usr/bin/ssh
 
==Which RPM is it?==
 
Once you have the name of a file or directory, you can determine which RPM owns it using "rpm -qf".  For example:
 
$ rpm -qf /usr/bin/nautilus-file-management-properties
nautilus-2.25.91-2.fc11.x86_64


Look under the 'Source RPM' field that is bugzilla the ''component'' a bug should be filed against
You should include the full name and version number of this RPM in your bug report.


== All you know is the command or program name ==
==Which component is it?==


Find the full path to the command:
In Fedora, a given "source" RPM can produce multiple RPMs in the distribution.  Bugzilla groups bugs according to the "source" RPMs only.  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).


<pre>
<pre>
$ which <command-name>
$ rpm -qi glibc-common
...
Group      : System Environment/Base      Source RPM: glibc-2.11-2.src.rpm
...
</pre>
</pre>


Find the name of the rpm that provides the command
Note that if the "Vendor:" line does not say "Fedora Project", you may need to report the bug to a different bugzilla.
 
==If you don't have package installed==
 
For packages which you have NOT installed you can use <code>repoquery</code>:
 
repoquery -qf /usr/bin/kdm


<pre>
will find you which ''binary'' package contains this file.
$ rpm -qif </full/path/to/command-name>
</pre>


Or another option is to use yum
repoquery -q --qf="%{sourcerpm}\n" kdm


<pre>
will tell you which ''component'' provides this binary package.
$ yum whatprovides <command-name>
$ rpm -qi <name>
</pre>


== We need more examples ==
==Embedded components==


'''FIXME''': add more complex examples?
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.

Revision as of 01:44, 9 March 2010

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>

or if you are running tcsh:

where <command-name>

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

For example:

$ which ssh
/usr/bin/ssh

Which RPM is it?

Once you have the name of a file or directory, you can determine which RPM 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 RPM in your bug report.

Which component is it?

In Fedora, a given "source" RPM can produce multiple RPMs in the distribution. Bugzilla groups bugs according to the "source" RPMs only. 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 that if the "Vendor:" line does not say "Fedora Project", you may need to report the bug to a different bugzilla.

If you don't have package installed

For packages which you have NOT installed you can use repoquery:

repoquery -qf /usr/bin/kdm

will find you which binary package contains this file.

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

will tell you which component provides this binary package.

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.