Custom package example
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
- Primary source: http://www.example.com/sourcecode-1.0.tar.xz
- Alternative source: http://www.example.com/alt/sourcecode-1.0.tar.xz
- Required patch: http://www.example.com/patch/sourcecode-1.0_fix.patch
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
- network-manager
- libpng
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.