Last update: May 12, 2008

About GNOME SlackBuild

GNOME SlackBuild is a unique project in that it is designed to be a twofold project. Its aim is not only to provide users with binary packages for an easy installation of GNOME, but also a full GNOME Build System, with the goal of allowing individuals to customise and build their own GNOME packages for their Slackware system.

This wiki is dedicated to the management and documentation about our build system. We provide our full build system, that is to say, it is the full and complete GSB source code we use to generate our binary distribution. It is a collection of SlackBuild scripts that build a GNOME release on Slackware Linux. The build system also comes with a download script to grab all the latest source tarballs for every package that GSB can build.

The structure of the build system is quite simple. The source tree is governed by a gsb.SlackBuild, which will run build scripts for each of the sections of the GSB Project. GSB has been broken into logical sections, such as "libraries", "platform", "desktop", "applications", and so on. In turn, each section has its own master build script which controls what packages and in what order things are compiled and installed for that section. Within each section, each individual package has its own SlackBuild script which will configure, compile, and build its own Slackware package.

The GSB Build System is aimed at all levels of users. Those who are new to Slackware or to Linux as a whole will find the GSB Build System easy to use, and rather simple to modify. Intermediate and advanced users will find it heavily customisable, and will be pleased to find that the majority of the grunt work in designing and building packages is done for them; they will be free to tweak or patch any packages to their own taste.

Building GNOME SlackBuild

We have a page which gives detailed instructions on how to build the binary GSB distribution from the actual GSB source code. It is recommended that you read through (end even print) this entire document before starting the build process. It covers topics about how to check out our source from SVN, download the source tarballs, customise your build settings, and run the build. This version of GSB is designed to build packages using:

  • Slackware 12.1
  • Slamd64 current (which will soon become Slamd64 12.1)

If you are trying to build GSB on systems other than the above you will encounter problems during the build.

We cannot offer any form of support to users trying to build GSB on earlier versions of Slackware or Slamd64. However, if you do manage to get GSB built on other versions, please let us know what modifications you had to make to the build system in order to do so - if those changes can be integrated into our build system, you may find those versions supported out of the box in our future releases.

The developers use a strictly controled base of packages to build the binary packages for the project - we only install the minimum packages required to perform a build. We work from a set of 'tagfiles' which specify exactly which packages get installed into our build environment. We have included our tagfiles set in the lib/gsb/tagfiles/ directory in our SVN tree for reference.

When it comes to building your own packages, it is doubtful your build will succeed if you do not have every package marked with an "ADD" in our tagfiles installed on your system. Those packages marked "ADD" form the basis of our build requirements - any missing packages from your system will likely cause the build to fail. If you have a full installation of Slackware or Slamd64 you should not have any problem doing a build, but the resulting packages may have more dependancies than indicated in our slack-required files (because many of the sources will find extra libraries when being configured and automatically link against them).

Unless you really know what you are doing with packages, understand what tagfiles and dependancies are all about, and really feel the need to "roll your own", it would be a far far better choice for you to download the pre-built binaries and install those.

For the brave, please find more information about the Build System, please see our Build page.

Helping Develop the GNOME SlackBuild Project

This page contains some useful information for people who want to start work developing the GNOME SlackBuild source. We are always looking for volunteer help to any aspect of GNOME SlackBuild, whether it be coders, documentation writers, bug finders, graphic designers, or even friendly advise and encouragement. On this page you will find information about our mailing lists, our ChangeLogs. information about our repositories (both source and binary), our RoadMap, and our TODO list.

Come along to chat in the #gsb IRC channel on freenode.net or send an email to the development list.

For more information for interested developers, please see our Development page.

Reporting Bugs, or Requesting Features

We have implemented a new Wiki for tracking any bugs or issues; this forum also allows users to request any new features they would like to see implemented in GNOME SlackBuild. Before reporting a new bug, please do a quick search to see if your bug has already been reported. Also, if you are reporting any bugs about the GSB Build system, please make sure that your are using the latest SVN source tree. We work hard to fix bugs quickly, and it may be that the fix has already been applied to the source tree.

Do one of the following (in this order):

  • For bug reports and feature requests, please check our issue tracker for previous reports of the same problem and possible solutions. If your bug or feature is not solved or listed, add it:
    http://dev.gnomeslackbuild.org/

Firstly, check the archive to see if anyone else has had a similar problem which has already been solved. You will not get any points for requesting help with a problem that has already been addressed.

The mailing list is the easiest and preferred method of contact for support type issues - it allows us to keep an archive of questions and answers. Note: You must be subscribed to the mailing list in order to post messages.

  • Join the #gsb IRC channel on irc.freenode.net and ask questions - without whinging, bitching, repeatidly asking the same question, repeatedly asking 'Is anyone here?' or being a general idiot. We are a friendly bunch (well, mostly anyway) and willing to help if you act civilly. :^) On IRC, we may appear to be always online, but we are frequently away from the console and you may not receive an answer for a while. But stick around since we'll try to give a reply, eventually :)

You may also use this wiki. For reporting any new issues, or feature requests, please see our Issues page. You may create new issues or features using the drop-down menu on the right.

Also available in: HTML TXT