Subsections of Installing Software
Compiling from source
Introduction
With Compile, GoboLinux build utility, software sources can be downloaded, compiled and installed in a single step. An example will follow next.
In order to install irssi, a text-based IRC client from the command line, you would type the following instruction:
Compile irssi
Depending on the speed of your computer, internet connection and what packages you have installed, Irssi should download and install in a few minutes.
Compile manages the build process using GoboLinux recipes. Each recipe contains a list of build directives and supplemental control files for compiling a particular software library.
Finding recipes
Typically, you can just try the name of the recipe you want from the command line. There is also an online recipe viewer, listing the most recently uploaded recipes first.
Command-line options
Compile has a number of command-line options, which are listed here. The following are especially useful.
When using the --batch
or -b
automatically attempts to process all
dependencies of the requested program.
Separating download and compile phases
The next two options are useful when working with intermittent internet access, or if you’d like to run your compiling jobs at night when you’re asleep.
Calling Compile with the --no-build
flag downloads sources only.
Later, in the event that you wish to use the --no-web
flag, this will direct
Compile to search to your system’s own download cache and build the sources
found there instead. This commandline switch is obviously very useful if you do
not have a working internet connection for the time being.
Writing recipes
Main article: Writing recipes
Getting the latest Compile
- To use the development version of Compile, run
Compile Compile git
- To use the latest stable version, run
InstallPackage Compile
In general it is recommended to always use the latest stable version of
Compile. Compile
is very important to GoboLinux so if
there is any problem in it, it is normally fixed very quickly.
Binary packages
Warning
We do not maintain a binary package repository at this time! |
Please build your packages from source using Compile
!
Binary packages in GoboLinux are precompiled software packages built for the GoboLinux directory tree and made available through the GoboLinux software repository (recipe store). Since these packages are already compiled, you can save the many hours needed to build larger applications. On the other hand, with binary packages you don’t have the ability to set compile flags for optimization or specific architectures.
Installing packages
InstallPackage
is the GoboLinux script for
installing binary packages. If you want
InstallPackage
to look for the most recent Gimp
package available, you can run
InstallPackage Gimp
The script will check if the package is available in the GoboLinux repositories.
(See /System/Settings/GetAvailable.conf
for the specific URLs scanned. You may
add your own repositories if you desire.)
If you want to select a specific version, you can pass it as the second parameter:
InstallPackage Gimp 2.8.18
If you downloaded the package and want to install it, run:
InstallPackage Gimp--2.8.18--i686.tar.bz2
The script normally runs interactively, asking about each dependency of the
requested package before installing it. You can avoid these queries by adding
the --batch
or -b
flag. This is particularly useful with large packages such
as Gimp or Xorg, which have many dependencies.
InstallPackage -b Gimp
Dependencies
InstallPackage
will warn you if dependencies of a package you are trying to
install are unavailable and ask if you want to continue. This is valuable,
because some software may still work satisfactorily even if a particular plug-in
or other dependency is missing.
Installing packages from the LiveCD
See Installing Packages from the LiveCD.
Removing packages
See Removing programs.
Creating packages
Structure
In GoboLinux, all binary packages (as well as all user-compiled software) is
installed under /Programs
in a “program directory” provided for each version
of each application, for example:
/Programs/Gimp/2.8.18
When compiling software under GoboLinux the installation target directories such
as bin/
, lib/
, and etc/
that are required for a typical program are placed
inside the program directory.
With this self-contained directory structure, all that is needed to generate a
binary package is to make a tarball of the program directory, copy over the
Resources/
directory from the Compile recipe, and generate a few additional
files, which are also placed under Resources/
.
This is accomplished by the CreatePackage command.
Preparation
Before creating a package, be careful to vet the contents of the program’s
Settings/
directory to ensure that it does not include personal information.
A package submitted for inclusion in the GoboLinux packages repository must have sensible default settings, honoring the application defaults if possible.
The CreatePackage
command
In order to create a package, run the CreatePackage utility with the package name as a parameter. For example,
CreatePackage rxvt
will create a binary package in the current working directory.