From Fedora Project Wiki
Line 7: Line 7:
=== Application independence ===
=== Application independence ===


Applications should be installable independently when this is technically-feasible. A package should not generally depend on a package containing an application except if it functions as an plug-in for that application. If a source package provides multiple applications, those applications should be packaged in separate subpackages. If a source package provides both a library and also an associated application, that application should be packaged in a subpackage in order to allow other applications to depend on only the library and not the associated application. Installing an application that depends on a library or service should not automatically pull in other applications associated with that library or service. Packages that contain a visible .desktop file (a .desktop file that does not contain the line <code>NoDisplay=true</code>) should generally not have a Requires, Recommends, or Supplements on any other package containing a visible desktop file, directly or indirectly. Use Enhances and Suggests instead.
Applications should be installable independently when this is technically-feasible. A package should generally not depend on a package containing an application except if it functions as an plug-in for that application. If a source package provides multiple applications, those applications should be packaged in separate subpackages. If a source package provides both a library and also an associated application, that application should be packaged in a subpackage in order to allow other applications to depend on only the library and not the associated application. Installing an application that depends on a library or service should not automatically pull in other applications associated with that library or service. Packages that contain a visible .desktop file (a .desktop file that does not contain the line <code>NoDisplay=true</code>) should generally not have a Requires, Recommends, or Supplements on any other package containing a visible desktop file, directly or indirectly. Use Enhances and Suggests instead.

Revision as of 14:18, 8 May 2017

Desktop files

If a package contains a GUI application, then it needs to also include a properly installed .desktop file. For the purposes of these guidelines, a GUI application is defined as any application which draws a window and runs from within that window. Installed .desktop files MUST follow the desktop-entry-spec , paying particular attention to validating correct usage of Name, GenericName, Categories , StartupNotify entries.

Application independence

Applications should be installable independently when this is technically-feasible. A package should generally not depend on a package containing an application except if it functions as an plug-in for that application. If a source package provides multiple applications, those applications should be packaged in separate subpackages. If a source package provides both a library and also an associated application, that application should be packaged in a subpackage in order to allow other applications to depend on only the library and not the associated application. Installing an application that depends on a library or service should not automatically pull in other applications associated with that library or service. Packages that contain a visible .desktop file (a .desktop file that does not contain the line NoDisplay=true) should generally not have a Requires, Recommends, or Supplements on any other package containing a visible desktop file, directly or indirectly. Use Enhances and Suggests instead.