Difference between revisions of "KDE Packages"

From ArchWiki
Jump to: navigation, search
(Package list)
m (Disadvantages)
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
[[Category:Arch development (English)]]
+
[[Category:Arch development]]
[[Category:Desktop environments (English)]]
+
[[Category:Desktop environments]]
 +
[[zh-CN:KDE Packages]]
 +
[[pl:KDE Packages]]
 
{{Article summary start}}
 
{{Article summary start}}
 
{{Article summary text|An explanation of KDE package groups and meta-packages.}}
 
{{Article summary text|An explanation of KDE package groups and meta-packages.}}
{{Article summary heading|Available in languages}}
 
{{i18n_entry|English|KDE Packages}}
 
{{i18n_entry|简体中文|KDE的软件包 (简体中文)}}
 
 
{{Article summary heading|Related articles}}
 
{{Article summary heading|Related articles}}
 
{{Article summary wiki|KDE}}
 
{{Article summary wiki|KDE}}
 
{{Article summary end}}
 
{{Article summary end}}
  
Since KDE 4.3, separate packages for each application are provided. This article describes the concepts of groups and meta-packages.
+
Since KDE SC 4.3, separate (split) packages for each application are provided. This article describes the concepts of groups and meta-packages.
  
 
==Terminology==
 
==Terminology==
* '''module''': KDE's source code is organized into several categories called ''modules''. The project releases one source archive per module. See the [http://techbase.kde.org/Projects/Release_Team#Coordinator_List Coordinator List] for details.
+
; '''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.
* '''group''': Packages can be listed within a package group. [[pacman]] is able to select packages by groups during installation or removal. This meta-information does not imply any hard dependencies.
+
; '''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''': An empty package which just connects several packages by using dependencies.
+
; '''meta-package''': A meta-package is an empty package which just connects several packages by using dependencies.
  
==Package groups==
+
==Using Package groups==
There are groups for each KDE module. In addition to this there is the '''kde''' group which includes the whole KDE distribution.
+
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:
 
+
Using groups makes it easier to install and maintain a set of packages. There is no hard dependency between a group and its packages. That means there is no need to install all packages of a group, for example. On the other hand, pacman will not install any packages new to a certain group on its own.
+
 
+
To install specific groups:
+
 
  # pacman -S kdebase kdeutils ...
 
  # pacman -S kdebase kdeutils ...
  
To install the entire software distribution:
+
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
 
  # pacman -S kde
  
==Meta-packages==
+
===Why use groups?===
There are meta-packages for each KDE module. Each of these replace and provide one of the previous packages that were used before KDE 4.3. This also ensures a smooth update to the new split packages.
+
====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.
  
In contrast to groups, a meta-package has a hard dependency to all its KDE modules. So, you cannot remove any sub packages without removing the meta-package itself. If there are new modules available, the use of meta-packages ensures that pacman will install those automatically.
+
====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).
  
All meta-packages are member of the '''kde-meta''' group and thus can be easily installed or removed.
+
===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.
  
You can remove or install meta-packages at any time in order to use modular packages or emulate the previous monolithic set of packages.
+
==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 ...
  
To remove those groups use:
+
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
 
  # pacman -R kde-meta
  
This will not remove any KDE packages but only the meta packages!
+
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.
  
==Package list==
+
==Listing the member packages==
 
To get a complete list of KDE applications use
 
To get a complete list of KDE applications use
 
  pacman -Sg kde
 
  pacman -Sg kde
Line 49: Line 68:
 
Get a list of all KDE module groups:
 
Get a list of all KDE module groups:
 
  for i in $(pacman -Sqg kde-meta); do echo ${i#kde-meta-};done
 
  for i in $(pacman -Sqg kde-meta); do echo ${i#kde-meta-};done
Get a list of all KDE pacakges and their module group:
+
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
 
  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.
 
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.