Section: User Commands (1)
Updated: 2006-08-03


sourceinstall-gtk- GNU Source Installer GTK interface



sourceinstall-gtk[--version | --help | FILENAME]



GNU Source Installer is a source package installer and manager for Unix-likes.This manual page is about the GTK front-end,sourceinstall-gtk.

Using this tool you can look at the list of installed packages,install new ones, remove them, upgrade them or downgrade them to another version, obtain extended information about them,manage different versions installed with different prefixes,generate bug-report-friendly installation logs and so on.

This tool installs packages fully compliant with the GNU coding standards.See

sourceinstall-gtk installs packages using a default prefix of ${HOME}/usrfor normal users, and /usr/local for the root user.

This is an extremely important bit of information so be sure not toforget it: each user has his own package list.

For system-wide installs, run sourceinstall-gtk as root, and install in somecommon installation prefix (the default /usr/local is a good choice).You can change the default installation prefix under Edit->Preferences.

Note that in some (in my opinion broken) GNU/Linux systems, /usr/localis not considered automatically as a suitable place for installations.You might have to use environment variables or changes to system-wideconfiguration files to fix this, as shown below for alternative prefixes.

Using the user preferences file, or the Edit->Preferences menu,it is possible to specify alternate installation prefixes, as desired.

However, expecially for libraries, you might have to use environment variables or changes to system-wide configuration files tobe able to use many different prefixes at the same time successfully.

For example add your_custom_prefix/lib to/etc/, or include your_custom_prefix/lib in the environment variable LD_LIBRARY_PATH

Other environment variables you might have to provide are

PATH(adding your_custom_prefix/bin),MANPATH(adding your_custom_prefix/man),PKG_CONFIG_PATH(adding your_custom_prefix/lib/pkgconfig) .

If you do not run sourceinstall as root, you can obtain very niceper-user program installations.In this case, I suggest using environment variables only (no changesto system-wide files like /etc/, possibly to set in the userstartup scripts (~/.profile, ~/.bash_profile or whatever your shellstartup scripts are called).



sourceinstall-gtk[--version | --help | FILENAME]

Run sourceinstall-gtk without any arguments to start the programin the usual way.

You can specify a FILENAME argument if you wish,which starts a package add action immediately, reading thesource package FILENAME, and assigning the default package name.

Alternatively, you can run sourceinstall-gtk with the--version or --help arguments, which display the relevant informationon standard output, then exit successfully, without starting the GUI.



Most of the following actions can be activated by selecting the relevantpackage in the package list on the left side of the screen, and then using theToolbar or "Package" menu near the top of the window.A right-click, popup menu is also available directly in the package listfor fastest action.

Some actions do not assume a preliminary selection from the package list(notably, the `add' action which adds and installs new packages).

Other actions can be triggered in some particular conditions (for example,pressing the `stop' button to interrupt the currently executing action).

Selecting packages is a matter of clicking on them with the mousefrom the scrollable list.Another way to quickly reach a package is to start typing its name in thepackage list.This starts a quick-search which can then be confirmed by pressing Enter.You can also use the arrow keys and pgup, pgdown to jump from package topackage.

choose a new source package to add to the list of known packages.A file chooser dialog is shown in response to this action.The dialog opens initially in the directory specified in theADD_DIRECTORY option, available in the configuration file orunder Edit->Preferences.

Also, make good use of the Add/Remove buttons (or drag-and-drop) in theGTK File Chooser Dialog to add/remove default places to look in.

The input file can be a source tarball, possibly compressed in variousformats, or a source directory, for example checked out from CVS.

By default, adding a source package automatically causes the binaries to be built and installed.

The dialog also allows to specify a custom package name. If not specified,the package name is determined from the package contents, as the top sourcedirectory found therein.

remove the currently selected package completely.This can mean uninstallation of binaries, and removal ofconfigured source code.

install the selected package from stored configured source code, optionallyreconfiguring it.

uninstall the selected package, using the package Makefile uninstalltarget if available, and removing remaining files automatically usinginternal checks. The configured source code, if present, is not deleted.

upgrade (or downgrade, for that matter) the selected package.It is highly suggested to use a matching package with the upgrade action.That is, do not upgrade bash-3.1 with grep-2.5.1 .

This action is faster, and safer, than using `remove' on the old packagefollowed by an `add' of the new package. It is safer because if testinstallation of the new package fails, you still have the working old one.The upgrade takes place only if the new package installation provessuccessful. Only at this point, files in the old package which are not presentin the new one are removed.

Export Package Information
all known information about the package will be exported as an XML file,as a plain text verbose description, or as a newline-separated list ofinstalled files. All these choices can be made from the Export dialog.The XML has a corresponding package_set.dtd which is available in thelibsrcinst package, or at the web address:

Export as binary package (experimental)
build a generic binary tarball from the installed package.The tarball is suited for installation on this same machine.It contains the whole tree corresponding to the installed files,with permissions and user/groups unchanged.Currently, only privileged users can build binary packages.You should not use this experimental functionality.

Edit package information
to edit package information, click on the package name, description orlong description fields in the right side of the window. Start typing orotherwise editing the package name, description or long description, andthe Apply / Cancel buttons will appear to Confirm or Undo your changes.

Often it is useful to generate a build log to report a problem duringthe installation of a source package.Of course you can select all the output in the pseudo-console,choose Copy and Paste in another window, possibly an editor.However, if you want to attach a plain text build log,the fastest way to do it is to right click in the pseudo-consolewindow, and choose "Save Log". Choose a destination filename, and you'redone.

The red Stop button on the top-right in the toolbar is greyed outmost of the time. When some time-consuming action is being performed(like installation), clicking the Stop button sends an interrupt signalto the running processes, and you should be able to eventually cancel the running action.



During program initialization the directory$HOME/.sourceinstallis scanned for user packages and user configuration files. Here are all the files and their use:

This directory contains all the files and directories of an initialized build.It is automatically cleaned between operations. Some broken packages containfiles with bogus permissions. This can screw up your program initialization.Remove the whole build tree by hand should this happen.

This directory is used for the staged installations, in order to get all information needed prior to real installation. It is automatically cleanedbetween operations.
This directory contains all information about available packages for this user.Each file entry has a name that matches the package name, and its contentsare both machine and user readable.
In this directory, all configured source packages are stored for later use.Adding sources to this directory during installation is optional, and under the control of KEEP_SOURCE.
This is the configuration file. One is generated during initialization ifnone is found. The defaults are shown here:

ADD_DIRECTORY: [not set]
(for GUIs): default directory to browse when adding packages
(for GUIs): show configuration window during build
installation causes binaries to be installed [recommended]. If this optionis disabled (0), the install action does not perform the actual installation.This could be remotely useful if one only wants to store source code forlater use.
if set (1) installation causes source to be stored.If this option is disabled (0), the install action does not include storingsource code for later use.
PREFIX: [$HOME/usr] or [/usr/local]
the default installation prefix for user-mode installations.rootis a special case, and his default installation prefix is /usr/local
default compression format to use when storing source code, preparing binary packages, and so on. Valid values are in the set (gz, bz2, Z).
STRIP: [0]
this option controls whether to strip binaries during installation [not recommended]. This can reduce installation size, but can also cause problems.

Upon initialization, the libsrcinst library obtains a lock on this file,in order to avoid having the same user running more than one instance ofsourceinstall (to avoid data corruption).

This means that on some systems, where the administrator sets the maximumlocks for users to 0, the library is unable to initialize.

The file contents _should_ match the current process id holding the lock.



Claudio Fontana<>





Send bug reports to .



~/.sourceinstall/sourceinstallrc- sourceinstall configuration file

~/.sourceinstall/.sourceinstall_lock- sourceinstall user lock file







This document was created byman2html,using the manual pages.