Project and Package Layout

Timotheus Pokorra edited this page Jun 13, 2014 · 2 revisions

Project

Each project is stored in its own Git repository.

There is an optional config.yml file for each project. See Config-Files#project_config_file

There can be several packages as sub directories of the project.

Package

For an example, see https://github.com/tpokorra/lbs-test/tree/master/test

setup.sh

This has a setup.sh file. It is optional, ie you can build packages without having a setup.sh.

This file is useful if you need to prepare something before the rpm or deb file is built. Eg. you might need to build a tarball first, for a nightly build directly from Git.

You should echo "LBSERROR" in case something goes wrong, and you want the build to stop.

You should echo "LBSScriptFinished" when your script is done, otherwise you might be waiting forever for the job to finish. This might be resolved in a cleaner way in the future.

config.yml

See Config-Files#package_config_file. This file is optional too. It is useful to define where the source tarball comes from, if you are not building it in your setup.sh...

rpm .spec file

This file is used for building the RPM.

deb .dsc file and debian directory

These files document how a package should be built on Debian/Ubuntu

Naming convention of dsc and spec files

Please note that the name of the dsc or the spec file will determine the name of the package, not the name of the directory containing the package. Though the name of the dsc/spec file must be at the beginning of the directory name.

An example: for building LXC for Debian 7 Wheezy and Debian Sid (Unstable), I needed different debian files. So I created lxc for building on Sid, and lxc-wheezy for building on Wheezy. Both will create a package called lxc, because the .dsc files are called lxc.dsc

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.