Contributing to Slackware Linux Basics

Introduction

Contributions to the Slackware Linux Basics book are welcome! This page describes how development of Slackware Linux Basics is done. If you would like to contribute minor changes such as a few spelling corrections, it's you can just send a simple mail with the errors. If you are making a larger set of changes, please submit a patch, because it makes including your changes much easier. This page describes how you can make a patch against the Slackware Linux Basics tree.

If you are planning to work on a larger contribution (such as the addition of a new section or chapter), please let us know. This allows us to avoid duplicate work.

Getting the book sources

The sources of the book are stored in a Subversion repository. Subversion is a source management system. It keeps track of all changes that were made to a source tree. Subversion is available in Slackware as the subversion package from the d diskset. Once you have installed Subversion, you can get the current sources of the book:

$ svn co http://svn.slackbasics.org/slackbasics/trunk/slackware-basics
      

The source tree is now available in the slackware-basics directory. This directory is called the checkout of the Subversion tree. It does not just contain the sources, but also meta-information that Subversion uses. In any point of time, you can execute the svn update command in this directory to synchronize your checkout with the Slackware Basics Subversion repository. Subversion will try to merge the updates from the repository in your local checkout, so even if you made local changes, you can run an update.

Creating a patch

You can make any changes you would like to make in your local checkout. Once you are happy with the changes, run svn update to make sure that your sources are in sync with the Slackware Basics repository. After that, you can run svn diff to see all the changes that you made in the unified diff format, this is an actual patch. Redirect the output of svn diff to a file to create a patch file. E.g.:

svn diff > ~/chap-filesystem-grammar-fixes.diff
      

Then send us the chap-filesystem-grammar-fixes.diff file. If the changes look fine, they will be committed to the repository. People who have often submitted high-quality patches will be offered write access to the Subversion tree, meaning that they can directly commit changes to the tree without submitting a patch.

Editing the sources

All sources are writting in XML with the DocBook 5 Schema. XML is a markup specification, and the DocBook schema define tags that can be used for writing technical documents. There is a bit of a learning curve before you will grok DocBook fully. But for writing structurally consistent documentation that can be converted to good HTML and printable output there is virtually no alternative. Typing DocBook tags is tedious, but EMACS with nxml-mode provides nice features like tag completion.

Have a look at the following websites for more information about DocBook: