Difference between revisions of "KDE Packages"

From ArchWiki
Jump to: navigation, search
m (Category: Desktop Environments.)
m (Disadvantages)
(15 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Arch development (English)]]
+
[[Category:Arch development]]
[[Category:Desktop Environments (English)]]
+
[[Category:Desktop environments]]
{{i18n_links_start}}
+
[[zh-CN:KDE Packages]]
{{i18n_entry|English|KDE Packages}}
+
[[pl:KDE Packages]]
{{i18n_entry|简体中文|KDE的软件包 (简体中文)}}
+
{{Article summary start}}
{{i18n_links_end}}
+
{{Article summary text|An explanation of KDE package groups and meta-packages.}}
 +
{{Article summary heading|Related articles}}
 +
{{Article summary wiki|KDE}}
 +
{{Article summary end}}
  
With KDE 4.3 separate packages for each application are provided. This article describes the concept about 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.
  
==Naming==
+
==Terminology==
* '''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
+
; '''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 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.
+
; '''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:
 +
# pacman -S kdebase kdeutils ...
  
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 wont install any packages new to a certain group on its own.
+
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
  
Just type
+
===Why use groups?===
pacman -S kdebase kdeutils ...
+
====Advantages====
to install some groups or
+
* 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.
pacman -S kde
+
* 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.
to install all of them.
+
  
==Meta packages==
+
====Disadvantages====
There are meta packages for each KDE module. Each of those 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.
+
* [[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).
  
In contrast to groups meta packages have 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.
+
===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.
  
All meta packages are member of the '''kde-meta''' group and thus can be easily installed or removed.
+
==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 ...
  
You can remove or install meta packages at any time in order to use modular packages or emulate the previous monolithic set of packages.
+
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
  
To remove those groups use
+
===Why use meta-packages?===
pacman -R kde-meta
+
====Advantages====
This wont remove any KDE packages but only the meta packages!
+
* 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.
  
==Overview==
+
====Disadvantages====
{|border="1"
+
* 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:
|style="width:20%;background-color:#E5E5E5"|'''package group'''
+
  # pacman -R kde-meta-kdebase
|style="width:20%;background-color:#E5E5E5"|'''meta package'''
+
  # pacman -R kdebase-kwrite
|style="width:30%;background-color:#E5E5E5"|'''packages'''
+
 
|style="width:30%;background-color:#E5E5E5"|'''description'''
+
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.
  |-
+
 
|kdeaccessibility
+
If you installed the kde-meta package, you can remove all meta-packages at once by using:
|kde-meta-kdeaccessibility
+
  # pacman -R kde-meta
  |
+
 
* kdeaccessibility-colorschemes
+
This will only remove the meta-packages and not the actual member packages.
* kdeaccessibility-iconthemes
+
 
* kdeaccessibility-kmag
+
===Who is it for?===
* kdeaccessibility-kmousetool
+
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.
* kdeaccessibility-kmouth
+
 
* kdeaccessibility-kttsd
+
==Listing the member packages==
|Accessibility applications
+
To get a complete list of KDE applications use
|-
+
  pacman -Sg kde
|kdeadmin
+
Get a list of all meta packages:
|kde-meta-kdeadmin
+
  pacman -Sg kde-meta
|
+
Get a list of all KDE module groups:
* kdeadmin-kcron
+
  for i in $(pacman -Sqg kde-meta); do echo ${i#kde-meta-};done
* kdeadmin-ksystemlog
+
Get a list of all KDE packages and their module group:
* kdeadmin-kuser
+
  for i in $(pacman -Sqg kde-meta); do pacman -Sg ${i#kde-meta-};done
* kdeadmin-system-config-printer-kde
+
 
|Tools for system administration
+
You could also use the web interface at [https://www.archlinux.de/?page=Packages;group=5 archlinux.de] to browse package groups.
|-
+
|kdeartwork
+
|kde-meta-kdeartwork
+
|
+
* kdeartwork-colorschemes
+
* kdeartwork-desktopthemes
+
* kdeartwork-emoticons
+
* kdeartwork-iconthemes
+
* kdeartwork-kscreensaver
+
* kdeartwork-sounds
+
* kdeartwork-styles
+
* kdeartwork-wallpapers
+
* kdeartwork-weatherwallpapers
+
|Additional icons, styles, etc.
+
|-
+
|kdebase
+
|kde-meta-kdebase
+
|
+
* kdebase-dolphin
+
* kdebase-kappfinder
+
* kdebase-kdepasswd
+
* kdebase-kdialog
+
* kdebase-kfind
+
* kdebase-kinfocenter
+
* kdebase-konqueror
+
* kdebase-konsole
+
* kdebase-kwrite
+
* kdebase-plasma
+
|Essential apps needed to complement a desktop shell for basic functionality (web browser, file manager, ...)
+
|-
+
|kdebindings
+
|kde-meta-kdebindings
+
|
+
* kdebindings-csharp
+
* kdebindings-python
+
* kdebindings-ruby
+
* kdebindings-smoke
+
|Bindings to programming languages
+
|-
+
|kdeedu
+
|kde-meta-kdeedu
+
  |
+
* kdeedu-blinken
+
* kdeedu-kalgebra
+
* kdeedu-kalzium
+
* kdeedu-kanagram
+
* kdeedu-kbruch
+
* kdeedu-kgeography
+
* kdeedu-khangman
+
* kdeedu-kig
+
* kdeedu-kiten
+
* kdeedu-klettres
+
* kdeedu-kmplot
+
* kdeedu-kstars
+
* kdeedu-ktouch
+
* kdeedu-kturtle
+
* kdeedu-kwordquiz
+
* kdeedu-marble
+
* kdeedu-parley
+
* kdeedu-step
+
|Applications with educational content
+
|-
+
|kdegames
+
|kde-meta-kdegames
+
|
+
* kdegames-bomber
+
* kdegames-bovo
+
* kdegames-kapman
+
* kdegames-katomic
+
* kdegames-kbattleship
+
* kdegames-kblackbox
+
* kdegames-kblocks
+
* kdegames-kbounce
+
* kdegames-kbreakout
+
* kdegames-kdiamond
+
* kdegames-kfourinline
+
* kdegames-kgoldrunner
+
* kdegames-killbots
+
* kdegames-kiriki
+
* kdegames-kjumpingcube
+
* kdegames-klines
+
* kdegames-kmahjongg
+
* kdegames-kmines
+
* kdegames-knetwalk
+
* kdegames-kolf
+
* kdegames-kollision
+
* kdegames-konquest
+
* kdegames-kpat
+
* kdegames-kreversi
+
* kdegames-ksame
+
* kdegames-kshisen
+
* kdegames-ksirk
+
* kdegames-kspaceduel
+
* kdegames-ksquares
+
* kdegames-ksudoku
+
* kdegames-ktron
+
* kdegames-ktuberling
+
* kdegames-kubrick
+
* kdegames-lskat
+
|Entertainment
+
|-
+
|kdegraphics
+
|kde-meta-kdegraphics
+
|
+
* kdegraphics-gwenview
+
* kdegraphics-kamera
+
* kdegraphics-kcolorchooser
+
* kdegraphics-kgamma
+
* kdegraphics-kolourpaint
+
* kdegraphics-kruler
+
* kdegraphics-ksnapshot
+
* kdegraphics-okular
+
|Graphics viewing and editing
+
|-
+
|kdemultimedia
+
|kde-meta-kdemultimedia
+
|
+
* kdemultimedia-dragonplayer
+
* kdemultimedia-juk
+
* kdemultimedia-kioslave
+
* kdemultimedia-kmix
+
* kdemultimedia-kscd
+
* kdemultimedia-mplayerthumbs
+
|Audio and video applications
+
  |-
+
|kdenetwork
+
|kde-meta-kdenetwork
+
  |
+
* kdenetwork-filesharing
+
* kdenetwork-kdnssd
+
* kdenetwork-kget
+
* kdenetwork-kopete
+
* kdenetwork-kppp
+
* kdenetwork-krdc
+
* kdenetwork-krfb
+
|Network-centric apps (IM, remote desktop, etc)
+
|-
+
|kdepim
+
|kde-meta-kdepim
+
|
+
* kdepim-akregator
+
* kdepim-console
+
* kdepim-kaddressbook
+
* kdepim-kalarm
+
* kdepim-kjots
+
* kdepim-kleopatra
+
* kdepim-kmail
+
* kdepim-knode
+
* kdepim-knotes
+
* kdepim-kontact
+
* kdepim-korganizer
+
* kdepim-kpilot
+
* kdepim-kresources
+
* kdepim-ktimetracker
+
* kdepim-wizards
+
  |Groupware
+
|-
+
|kdeplasma-addons
+
|kde-meta-kdeplasma-addons
+
|
+
* kdeplasma-addons-applets-bball                                                                                   
+
* kdeplasma-addons-applets-binary-clock                                                                             
+
* kdeplasma-addons-applets-bubblemon                                                                               
+
* kdeplasma-addons-applets-calculator                                                                               
+
* kdeplasma-addons-applets-charselect                                                                               
+
* kdeplasma-addons-applets-comic                                                                                   
+
* kdeplasma-addons-applets-dict                                                                                     
+
* kdeplasma-addons-applets-eyes                                                                                     
+
* kdeplasma-addons-applets-fifteenpuzzle                                                                           
+
* kdeplasma-addons-applets-filewatcher                                                                             
+
* kdeplasma-addons-applets-frame                                                                                   
+
* kdeplasma-addons-applets-fuzzy-clock                                                                             
+
* kdeplasma-addons-applets-incomingmsg
+
* kdeplasma-addons-applets-kolourpicker
+
* kdeplasma-addons-applets-konqprofiles
+
* kdeplasma-addons-applets-konsoleprofiles
+
* kdeplasma-addons-applets-lancelot
+
* kdeplasma-addons-applets-leavenote
+
* kdeplasma-addons-applets-life
+
* kdeplasma-addons-applets-luna
+
* kdeplasma-addons-applets-magnifique
+
* kdeplasma-addons-applets-mediaplayer
+
* kdeplasma-addons-applets-microblog
+
* kdeplasma-addons-applets-news
+
* kdeplasma-addons-applets-notes
+
* kdeplasma-addons-applets-nowplaying
+
* kdeplasma-addons-applets-opendesktop
+
* kdeplasma-addons-applets-paste
+
* kdeplasma-addons-applets-pastebin
+
* kdeplasma-addons-applets-previewer
+
* kdeplasma-addons-applets-rememberthemilk
+
* kdeplasma-addons-applets-rssnow
+
* kdeplasma-addons-applets-showdashboard
+
* kdeplasma-addons-applets-showdesktop
+
* kdeplasma-addons-applets-systemloadviewer
+
* kdeplasma-addons-applets-timer
+
* kdeplasma-addons-applets-unitconverter
+
* kdeplasma-addons-applets-weather
+
* kdeplasma-addons-applets-weatherstation
+
* kdeplasma-addons-runners-browserhistory
+
* kdeplasma-addons-runners-contacts
+
* kdeplasma-addons-runners-converter
+
* kdeplasma-addons-runners-katesessions
+
* kdeplasma-addons-runners-konquerorsessions
+
* kdeplasma-addons-runners-konsolesessions
+
* kdeplasma-addons-runners-spellchecker
+
* kdeplasma-addons-wallpapers-mandelbrot
+
* kdeplasma-addons-wallpapers-marble
+
* kdeplasma-addons-wallpapers-pattern
+
* kdeplasma-addons-wallpapers-virus
+
* kdeplasma-addons-wallpapers-weather
+
|Plasma applets
+
|-
+
|kdesdk
+
|kde-meta-kdesdk
+
|
+
* kdesdk-cervisia
+
* kdesdk-kapptemplate
+
* kdesdk-kate
+
* kdesdk-kbugbuster
+
* kdesdk-kcachegrind
+
* kdesdk-kdeaccounts-plugin
+
* kdesdk-kdepalettes
+
* kdesdk-kioslave
+
* kdesdk-kmtrace
+
* kdesdk-kompare
+
* kdesdk-kpartloader
+
* kdesdk-kprofilemethod
+
* kdesdk-kstartperf
+
* kdesdk-kuiviewer
+
* kdesdk-lokalize
+
* kdesdk-poxml
+
* kdesdk-scripts
+
* kdesdk-strigi-analyzer
+
* kdesdk-umbrello
+
  |Tools for software development
+
|-
+
|kdetoys
+
|kde-meta-kdetoys
+
|
+
* kdetoys-amor
+
* kdetoys-kteatime
+
* kdetoys-ktux
+
* kdetoys-kweather
+
|Fun distractions
+
|-
+
|kdeutils
+
|kde-meta-kdeutils
+
|
+
* kdeutils-ark
+
* kdeutils-kcalc
+
* kdeutils-kcharselect
+
* kdeutils-kdelirc
+
* kdeutils-kdessh
+
* kdeutils-kdf
+
* kdeutils-kfloppy
+
* kdeutils-kgpg
+
* kdeutils-ktimer
+
* kdeutils-kwallet
+
* kdeutils-okteta
+
* kdeutils-printer-applet
+
* kdeutils-superkaramba
+
* kdeutils-sweeper
+
|Miscellaneous utilities
+
|-
+
|kdewebdev
+
|kde-meta-kdewebdev
+
|
+
* kdewebdev-kfilereplace
+
* kdewebdev-kimagemapeditor
+
* kdewebdev-klinkstatus
+
* kdewebdev-kommander
+
* kdewebdev-kxsldbg
+
|Web development tool suite
+
|}
+

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.