Copyright © 2000 Toivo Pedaste
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
KPackage is a GUI interface to the RPM, Debian, Slackware and BSD package managers.
Table of Contents
KPackage has two panels. The left panel displays a tree of the installed and available packages, the right panel displays information on the packages.
KPackage makes use of the KDE Drag and Drop protocol. This means that you can drag and drop packages onto KPackage to open them. Dropping a file onto the Find File dialog will find the package that contains the file.
When KPackage is started normally (that is it has not been invoked via drag and drop and has not been given any parameters) it displays two panels with the package tree on the left, this tree shows installed packages and optionally new and updated packages as well.
The tabs on the panel select whether to display installed packages, updated packages, available packages or all packages
The package tree shows the package name, package size, the version and (in the case of an available package which would update an installed package) the version of the already installed package.
Selecting a package from the tree displays information about it in the right panel and allows:
Displaying the status information on the package
Seeing which files are included in an installed package, selecting a file from the list will open it using the file manager
Verifying files in a package, files that exist are marked with a tick, files that don't with a cross.
Uninstalling an installed package
Installing an available package
A single package is selected by clicking on the name. Clicking on the dot in the Mark column marks the package with a tick, a second click unmarks it, while Shift+left click can be used to select a range of packages.
Access to available is setup via the Location menu entries for each package type under the Settings menu.
For RPM packages KPackage can read a directory containing packages and add these to the package tree as either new or updated packages. It is possible to examine or install these packages from the package tree. By default the information about the packages is extracted from the standard format of the file names and so it is necessary to use the Examine button to see the full description, it is possible though to set an option so that for local directories each package file is read, this is slower but gives a full description.
For Debian packages that are handled using dpkg there are three ways of accessing available packages, these can be selected in three different types of location setting panels.
Specify the location of the Debian package tree and select the distribution and architecture, KPackage will look in the standard places for the Package files describing the available packages, these packages are then added to the package tree and can be examined or installed
Specify the location of the Debian distribution along with the Packages files for the parts of the distribution that are of interest. If the dselect program is being used then the file /var/lib/dpkg/available can be used as a Packages file that describes the distribution that dselect uses.
Packages directories can be handled in the same way as with RPM packages.
For Debian packages that are handled using APT the location of uninstalled package repositories is set in the /etc/apt/sources.list file, the Location menu can still be used for directories containing Debian packages. These packages are fetched and cached by apt itself, not by KPackage
For Slackware packages there is very little information stored on installed packages, but it is possible to use a PACKAGE.TXT file as a source of information about the installed packages. The PACKAGES.TXT file is the equivalent of a Debian Packages file and Slackware distributions are structured with a directory tree containing the .tgz packages and a PACKAGES.TXT file that describes the packages.
As with Debian distributions the packages in a Slackware distribution can be integrated into the package tree. Unfortunately the Slackware packages don't carry version information so it is not possible to tell with available packages are newer than installed ones.
For BSD packages KPackage will understand a packages distribution directory that contains an INDEX file (which describes all the packages) and also contains an All directory (with all the package files in it).
For remote directories and package files (i.e. those fetched via FTP) KPackage will do caching, the packages are cached in ~/.kpackage and the directories in ~/.kpackage/dir
For the handling of remote (FTP) directories to work, it may be necessary to not have the FTP Proxy set in the Browser Settings.
The right panel has tabs for displaying two different types of information about selected packages
The Properties tab which displays information on the selected package. In the dependency information there are hyper-links to the packages listed, installed packages are in standard font, uninstalled packages are in italic.
The File List tab shows the files in the package and for installed packages shows the state of the files.
KPackage requires root access for installing/uninstalling packages, this can be can be done by running KPackage as root, say by using KDE su.
Alternatively, if KPackage is running as a normal user it will try to run the install/uninstall programs a root by logging in to a psuedo terminal, it will use either su or ssh to do this and if needed it will pop up a terminal window where the root password can be typed. For this to work the root prompt has to end in #.
This doesn't work for RPM packages, because they are handled internally by KPackage.
To install a package you can
locate the package you wish to install in Konqueror, drag it onto a running copy of KPackage
click on a package file in Konqueror and start a new copy of KPackage
use on the Open menu items in KPackage
selecting an available package in the package tree
For a selected package, use the buttons in the right panel, the Fetch button will fetch the package from a remote source and display detailed information, the Install button pops up the installation window.
For marked packages, use the button in the left panel, the Install Marked button pops up the install window.
The install window lists the packages to be installed and allows the setting of install options. The panel on the right is an integrated terminal window in which the installation programs are run, for interactive installation programs the interaction is done in this window.
RPM packages are handled slightly differently from other package types, since the installation is done directly by KPackage, the right panel is only used for error messages.
A selected package can be uninstalled by using the Uninstall button in the right panel, this brings up a window with the uninstall options, the Uninstall button in the window causes the packages to be uninstalled, and the right panel provides an integrated terminal window for the uninstall programs.
Marked packages can be uninstalled using the Uninstall Marked button in the left panel.
This describes the KPackage menus.
The items in the File menu are:
Brings up file selector for local and FTP files
A list of the most recently open package files
Search the installed package list for a package, the name of which contains the entered string
Produces a list of packages that contain the entered file name, selecting a line will display the information on that package. It behaves slightly differently for RPM (where you have to enter the exact file name) and DEB (where you can enter a regular expression).
Reread the package data and rebuild the package tree
Quit KPackage
The items in the Packages menu are:
Back button for navigation using the links in Properties entries in the right panel.
Forward button for navigation using the links in Properties entries in the right panel.
Fully expands the packages tree
Collapses the package tree so that only the tree structure is shown
Unmarks all packages
The Special contains actions related to specific package types:
Update apt indexes from package repositories.
Upgrade the Debian installation to the latest versions of all the packages.
apt is extremely strict about dependencies, attempt to fixup dependency problems
The items in the Settings menu are:
Toggle displaying the toolbar
Save options immediately
The standard KDE dialog for setting shortcut keys
The standard KDE dialog for configuring tool bars
Which package types to handle, Debian using DPKG and Debian using APT are listed separately, it is not a good idea to enable both at the same time.
Whether to cache remote (FTPed) directories and Package files.
Whether to cache remote package files that have been fetched
Use ssh instead of su for running privileged commands
If set the list of files in the package is checked to see if they are actually installed
If set all the files from a (local) package directory are read instead of just using the files names, this is slower but shows more information.
This provides for specifying the location of package directories (either local or FTP), each line includes an entry where the URL or name of the directory can be typed in, a ... button that brings up a file selector and a Use radio button that determines whether the directory given in the line is to be used or not. The SubDirs radio button indicates whether to recurse down into sub-directories. The multiple panels are just for convenience.
The first panel gives the location of the ports tree in the file system
The other panel allows the specifying the location of packages directories i.e. those containing INDEX files
There are three different types of panels.
The first three panels have an entry for the location of the Debian distribution tree, a combo box for the distribution name and a combo box for the architecture
The next two panels allow the specification of a Debian distribution tree and the location of Packages files in that distribution.
The last three panels specify directories the same way as for RPMs.
For Slackware packages there are three types of panels
The first panel is the location of a PACKAGES.TXT file which is used to provided information on the installed packages
The next four panels can be used to specify the location of distributions with the directory tree containing the .tgz files and the location of the corresponding PACKAGES.TXT file
The last two panels are for directories that do not have a corresponding PACKAGES.TXT file
The items in the Help menu are:
Invokes the KDE Help system starting at the KPackage help pages. (this document).
Changes the mouse cursor to a combination arrow and question mark. Clicking on items within KPackage will open a help window (if one exists for the particular item) explaining the item's function.
Opens the Bug report dialog where you can report a bug or request a ‘wishlist’ feature.
This will display version and author information.
This displays the KDE version and other basic information.
KPackage
Program copyright 1999-2000 Damyan Pepper, Toivo Pedaste
Documentation copyright 2000 Toivo Pedaste <toivo@ucs.uwa.edu.au>
This documentation is licensed under the terms of the GNU Free Documentation License.
This program is licensed under the terms of the GNU General Public License.
KPackage is part of the KDE project http://www.kde.org/.
KPackage can be found in the kdeadmin package on ftp://ftp.kde.org/pub/kde/, the main FTP site of the KDE project.
For information on how to obtain and compile it see http://www.kde.org/install-source.html
There is more information on compilation at http://www.kde.org/compilationfaq.html
There is a web page at http://www.general.uwa.edu.au/u/toivo/kpackage
For installing KPackage you need:
Qt™ 2.x and KDE 2.2
For listing Debian packages no other software is needed but to install and uninstall the packages you need:
the dpkg package manager or
apt-get and apt-cache
For BSD packages you need the package management programs:
pkg_info
pkg_add
pkg_delete
For Slackware packages you need:
installpkg
removepkg
For dealing with Redhat packages you need:
RPM and RPM-DEVEL: 3.0 or 4.0
the same libraries as compiling RPM does. These are:
libdb - the Berkeley database library
libz and libz-dev - compression library
RPM requires the gettext routine which is found in libc6 or in libintl
RPM 3.0 may require the popt package
For KPackage to work correctly with RPM packages the RPM database must be initialized. If typing rpm -qa gives an error about unable to open.... then try rpm --rebuilddb.