Building Plash from source

Using Debian source packages

Debian source packages can be downloaded using APT by adding one of the sources.list lines from DownloadPackages to your /etc/apt/sources.list file along with the corresponding deb-src line. For example:

deb http://plash.beasts.org/packages ubuntu-feisty/
deb-src http://plash.beasts.org/packages ubuntu-feisty/

Since Plash builds a modified version of glibc, it requires a copy of the glibc source. The glibc source tarball is not included in the Plash source package, but in a separate binary package such as glibc-source-2.5. This and other build dependencies will be installed by doing:

apt-get update
apt-get build-dep plash

Get the source package with:

apt-get source plash

and build with:

cd plash-X.XX
dpkg-buildpackage -rfakeroot -b -D

Creating Debian packages from SVN

The code in the SVNRepository contains multiple versions of the debian packaging scripts, for both Debian and Ubuntu; for example, debian-etch and debian-feisty. In order to use one of these sets of packaging scripts, create a symlink from "debian" pointing to the relevant "debian-*" directory.

To build the package, you might use the following commands:

svn co svn://svn.gna.org/svn/plash/trunk plash
cd plash
ln -s debian-feisty debian
wget ftp://ftp.gnu.org/gnu/glibc/glibc-2.6.tar.bz2
dpkg-buildpackage -rfakeroot -b -D

Making source packages

The script "make-deb-src-pkg.sh" can create source packages for multiple variants in one go.

Setting up a development environment

$ svn co svn://svn.gna.org/svn/plash/trunk plash
$ cd plash
$ git clone http://plash.beasts.org/git/glibc.git/ glibc-source
$ autoconf
$ ./configure GLIBC_BUILD_TYPE=integrated GLIBC_VERSION=9999
$ ./make.sh
$ ./build-glibc-integrated.sh link_source
$ ./build-glibc-integrated.sh configure_glibc
$ ./build-glibc-integrated.sh make_glibc

On a Debian-based system, you can install the build dependencies with:

$ sudo apt-get install pbuilder
$ ln -s debian-template debian
$ sudo /usr/lib/pbuilder/pbuilder-satisfydepends

You might want to remove glibc-source-2.7 from the build dependencies in debian/control because this dependency is not coming from a Debian package in this case.

BuildingFromSource (last edited 2011-12-02 00:13:55 by MarkSeaborn)