Difference between revisions of "KDE Packages"

From ArchWiki
Jump to: navigation, search
(first draft; not complete yet)
 
m (Disadvantages)
(30 intermediate revisions by 13 users not shown)
Line 1: Line 1:
With KDE 4.3 separate packages for each application are provided. This article describes the concept about groups and meta packages.
+
[[Category:Arch development]]
 +
[[Category:Desktop environments]]
 +
[[zh-CN:KDE Packages]]
 +
[[pl:KDE Packages]]
 +
{{Article summary start}}
 +
{{Article summary text|An explanation of KDE package groups and meta-packages.}}
 +
{{Article summary heading|Related articles}}
 +
{{Article summary wiki|KDE}}
 +
{{Article summary end}}
  
==Nameing==
+
Since KDE SC 4.3, separate (split) packages for each application are provided. This article describes the concepts of groups and meta-packages.
* ''module'': KDE's source code is organized into several categories called "modules". The project releases one source archive per module. See http://techbase.kde.org/Projects/Release_Team#Coordinator_List
+
* ''group'': packages can be put into a package group. Pacman is able to select packages by groups on install or uninstall. This meta information does not imply any hard dependencies.
+
* ''meta package'': an empty package which just connects several packages by using dependencies
+
  
==Package groups==
+
==Terminology==
There are groups for each KDE module. In addition to this there is the ''kde'' group which includes the whole KDE distribution and a group ''strigi-analyzers''.
+
; '''module''': The KDE software compilation source code is organized into several categories called ''modules''. Examples include kdebase, kdeutils etc. The KDE project releases one source archive per module. See the [http://techbase.kde.org/Projects/Release_Team#Coordinator_List Coordinator List] for more details.
 +
; '''package group''': A package group is simply a group of packages. [[Pacman]] is able to select multiple packages by their group(s) during installation or removal.
 +
; '''meta-package''': A meta-package is an empty package which just connects several packages by using dependencies.
  
Using groups makes it easier to install and maintain a set of packages. There is no hard dependency between a gorup and its packages. That means there is no need to install all packages of a group for exmaple. On the other hand pacman wont install any packages new to a ceratin group on its on.
+
==Using Package groups==
 +
There are groups for each KDE module, such as '''kdebase''', '''kdeutils''' etc. Installing a package group will install all packages that belong to that module at the time of the installation. For instance, to install all packages that are part of a module such as '''kdebase''' or '''kdeutils''' in the current release, use:
 +
# pacman -S kdebase kdeutils ...
  
==Meta packages==
+
In addition to this, there is a '''kde''' group which includes all these groups. Installing the '''kde''' package group will effectively install the current KDE software compilation release in its entirety:
There are meta packages for each KDE module; each of those replace and provide the previous packages that are used until KDE 4.2. This also ensures a smooth update to splitted pacakges.
+
# pacman -S kde
  
In contrast to groups meta packages have a hard dependency to all its KDE modules. So you cannt remove any sub packages without removing the meta package itself. If there are new modules available the use of meta packages ensures that pacman installs those automatically.
+
===Why use groups?===
 +
====Advantages====
 +
* Using groups makes it easier to install or remove a set of packages. This allows you to use a single command (like above) to install or remove all packages in a module.
 +
* There is no hard dependency between a group and its packages. This means that there is no reason to have all member packages in a group installed. You may freely remove member packages that belong to a group without touching other member packages of the same group.
  
All meta packages are member of the ''kde-meta'' group and thus can be easily installed or removed.
+
====Disadvantages====
 +
* [[Pacman]] will not install any new packages that may be added to a group at a later date. For instance, if the next release of the KDE software compilation includes new applications in one or more modules, these new applications will not be automatically installed when you upgrade your system. You will have to manually install these new packages. To overcome this, use meta-packages (see next section).
  
You can remove or install meta packages at any time in order to use modular packages or emulate the previous monolithic set of packages.
+
===Who is it for?===
 +
Install package groups if you only want some modules of the current KDE software compilation release. Groups are also useful for those users who only want to retain some packages from a group, while opting to remove the others.
 +
 
 +
==Using Meta-Packages==
 +
Just like groups, there are meta-packages for each KDE module, such as '''kde-meta-kdebase''', '''kde-meta-kdeutils''' etc. Installing these meta-packages will install or upgrade all packages that belong to the module. If new applications are added to the module in a future release, they will automatically be installed when you upgrade your system. To install a specific module such as '''kdebase''' or '''kdeutils''' using meta-packages, use:
 +
# pacman -S kde-meta-kdebase kde-meta-kdeutils ...
 +
 
 +
In addition to this, there is a '''kde-meta''' group that includes all these meta-packages. Installing the '''kde-meta''' group will install the entire KDE software compilation:
 +
# pacman -S kde-meta
 +
 
 +
===Why use meta-packages?===
 +
====Advantages====
 +
* Like package groups, meta-packages make it easy to install and maintain a set of packages. This allows you to use a single command (like above) to install all packages in a module.
 +
* Use of meta-packages ensures that [[pacman]] will install any new member packages automatically when you upgrade your system. This emulates the behavior of the monolithic set of packages that were used before KDE SC 4.3.
 +
 
 +
====Disadvantages====
 +
* Meta-packages have a hard dependency on all the member packages that are part of it. This means that you cannot freely remove member packages that are part of a meta-package without removing the meta-package first. For example, if you installed '''kde-meta-kdebase''' and would now like to remove a member package such as, '''kdebase-kwrite''', you will first need to remove the meta-package before removing the member package:
 +
# pacman -R kde-meta-kdebase
 +
# pacman -R kdebase-kwrite
 +
 
 +
Doing this will not remove other member packages in the '''kde-meta-kdebase''' meta-package, but it will also no longer automatically add new packages in that module (possibly from the next release) when you upgrade the system using pacman -Syu. You may re-install '''kde-meta-kdebase''' meta-package at any time to return to the monolithic package behavior.
 +
 
 +
If you installed the kde-meta package, you can remove all meta-packages at once by using:
 +
# pacman -R kde-meta
 +
 
 +
This will only remove the meta-packages and not the actual member packages.
 +
 
 +
===Who is it for?===
 +
Use meta-packages if you desire to install the entire KDE software compilation or one or more of its modules in its entirety. This ensures a smooth upgrade path by automatically adding new split packages from subsequent releases.
 +
 
 +
==Listing the member packages==
 +
To get a complete list of KDE applications use
 +
pacman -Sg kde
 +
Get a list of all meta packages:
 +
pacman -Sg kde-meta
 +
Get a list of all KDE module groups:
 +
for i in $(pacman -Sqg kde-meta); do echo ${i#kde-meta-};done
 +
Get a list of all KDE packages and their module group:
 +
for i in $(pacman -Sqg kde-meta); do pacman -Sg ${i#kde-meta-};done
 +
 
 +
You could also use the web interface at [https://www.archlinux.de/?page=Packages;group=5 archlinux.de] to browse package groups.

Revision as of 11:25, 7 February 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Since KDE SC 4.3, separate (split) packages for each application are provided. This article describes the concepts of groups and meta-packages.

Terminology

module
The KDE software compilation source code is organized into several categories called modules. Examples include kdebase, kdeutils etc. The KDE project releases one source archive per module. See the Coordinator List for more details.
package group
A package group is simply a group of packages. Pacman is able to select multiple packages by their group(s) during installation or removal.
meta-package
A meta-package is an empty package which just connects several packages by using dependencies.

Using Package groups

There are groups for each KDE module, such as kdebase, kdeutils etc. Installing a package group will install all packages that belong to that module at the time of the installation. For instance, to install all packages that are part of a module such as kdebase or kdeutils in the current release, use:

# pacman -S kdebase kdeutils ...

In addition to this, there is a kde group which includes all these groups. Installing the kde package group will effectively install the current KDE software compilation release in its entirety:

# pacman -S kde

Why use groups?

Advantages

  • Using groups makes it easier to install or remove a set of packages. This allows you to use a single command (like above) to install or remove all packages in a module.
  • There is no hard dependency between a group and its packages. This means that there is no reason to have all member packages in a group installed. You may freely remove member packages that belong to a group without touching other member packages of the same group.

Disadvantages

  • Pacman will not install any new packages that may be added to a group at a later date. For instance, if the next release of the KDE software compilation includes new applications in one or more modules, these new applications will not be automatically installed when you upgrade your system. You will have to manually install these new packages. To overcome this, use meta-packages (see next section).

Who is it for?

Install package groups if you only want some modules of the current KDE software compilation release. Groups are also useful for those users who only want to retain some packages from a group, while opting to remove the others.

Using Meta-Packages

Just like groups, there are meta-packages for each KDE module, such as kde-meta-kdebase, kde-meta-kdeutils etc. Installing these meta-packages will install or upgrade all packages that belong to the module. If new applications are added to the module in a future release, they will automatically be installed when you upgrade your system. To install a specific module such as kdebase or kdeutils using meta-packages, use:

# pacman -S kde-meta-kdebase kde-meta-kdeutils ...

In addition to this, there is a kde-meta group that includes all these meta-packages. Installing the kde-meta group will install the entire KDE software compilation:

# pacman -S kde-meta

Why use meta-packages?

Advantages

  • Like package groups, meta-packages make it easy to install and maintain a set of packages. This allows you to use a single command (like above) to install all packages in a module.
  • Use of meta-packages ensures that pacman will install any new member packages automatically when you upgrade your system. This emulates the behavior of the monolithic set of packages that were used before KDE SC 4.3.

Disadvantages

  • Meta-packages have a hard dependency on all the member packages that are part of it. This means that you cannot freely remove member packages that are part of a meta-package without removing the meta-package first. For example, if you installed kde-meta-kdebase and would now like to remove a member package such as, kdebase-kwrite, you will first need to remove the meta-package before removing the member package:
# pacman -R kde-meta-kdebase
# pacman -R kdebase-kwrite

Doing this will not remove other member packages in the kde-meta-kdebase meta-package, but it will also no longer automatically add new packages in that module (possibly from the next release) when you upgrade the system using pacman -Syu. You may re-install kde-meta-kdebase meta-package at any time to return to the monolithic package behavior.

If you installed the kde-meta package, you can remove all meta-packages at once by using:

# pacman -R kde-meta

This will only remove the meta-packages and not the actual member packages.

Who is it for?

Use meta-packages if you desire to install the entire KDE software compilation or one or more of its modules in its entirety. This ensures a smooth upgrade path by automatically adding new split packages from subsequent releases.

Listing the member packages

To get a complete list of KDE applications use

pacman -Sg kde

Get a list of all meta packages:

pacman -Sg kde-meta

Get a list of all KDE module groups:

for i in $(pacman -Sqg kde-meta); do echo ${i#kde-meta-};done

Get a list of all KDE packages and their module group:

for i in $(pacman -Sqg kde-meta); do pacman -Sg ${i#kde-meta-};done

You could also use the web interface at archlinux.de to browse package groups.