Custom package example

From LFScript
Revision as of 23:26, 31 January 2012 by Marcel (talk | contribs)

This is a sample layout which you must use if you are contributing a custom script. Note that this layout is roughly the same as used in BLFS, however because the page will be imported in LFScript through ScriptFactory it is important that you follow the style set here exactly.

If your software does not use the Pre-installation, Post-installation or DESTDIR sections, you can leave them out. All other sections are mandatory.

If for any reason, your page causes problems with ScriptFactory, it will be marked as unusable until YOU fix the problem.

Sources

MD5 Checksums

9244091002a9d52e91fca0b1f3818ab9  sourcecode-1.0.tar.xz
d41d8cd98f00b204e9800998ecf8427e  sourcecode-1.0_fix.patch

If you do not set a checksum for a file, it will be set as dontverify in a script.

Dependencies

Make the displayed name of dependencies the scriptname for it, nothing more, nothing less. So not "NetworkManager", but network-manager. If the dependency is listed on this Wiki, you should link to it.

Do not list optional dependencies.

Pre-installation

If your software requires any pre-installation (like adding special users or groups), you must specify it here.

useradd -m sampleUser

Installation

If the software must be patched, explain here why.

patch -Np1 < ../sourcecode-1.0_fix.patch

Compile the software:

./configure --prefix=/usr &&
make

Then, as the root user:

make install

Note that the code block above does not have a DESTDIR=${FAKEROOT} directive. ScriptFactory will add these automatically if a pre block has class="asRoot".

DESTDIR

If a package does not use DESTDIR, but prefix for example, you can specify that in this section, like this:

This packages does not support the use of DESTDIR, in stead it uses:

prefix=

Post-installation

This section must contain commands which will modify the software after it has been installed, or modify files installed by a different package. It should also contain those commands that configure the package for use on that specific machine.

For example:

update-desktop-database

If you add class="delayPostinst" to any code block in this section, all post-installation commands will be delayed until all software has been installed.