Difference between revisions of "Custom package example"

From LFScript
m (Protected "Custom script layout" ([edit=sysop] (indefinite) [move=sysop] (indefinite)))
Line 1: Line 1:
 
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'''.
 
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.
 
If for any reason, your page causes problems with ScriptFactory, it will be marked as unusable until YOU fix the problem.
Line 11: Line 13:
 
<pre>9244091002a9d52e91fca0b1f3818ab9  sourcecode-1.0.tar.xz
 
<pre>9244091002a9d52e91fca0b1f3818ab9  sourcecode-1.0.tar.xz
 
d41d8cd98f00b204e9800998ecf8427e  sourcecode-1.0_fix.patch</pre>
 
d41d8cd98f00b204e9800998ecf8427e  sourcecode-1.0_fix.patch</pre>
 +
 +
== Dependencies ==
 +
* [[NetworkManager|network-manager]]
 +
* libpng
 +
 +
Make the displayed name of dependencies the '''script'''name for it, nothing more, nothing less. So not "NetworkManager", but <code>network-manager</code>. If the dependency is listed on this Wiki, you should link to it.
 +
 +
Do not list optional dependencies.
  
 
== Pre-installation ==
 
== Pre-installation ==
 
If your software requires any pre-installation (like adding special users or groups), you must specify it here.
 
If your software requires any pre-installation (like adding special users or groups), you must specify it here.
  
<pre class="runAsRoot">useradd -m sampleUser</pre>
+
<pre>useradd -m sampleUser</pre>
 +
 
 +
== Installation ==
 +
 
 +
If the software must be patched, explain here why.
 +
 
 +
<pre>patch -Np1 < ../sourcecode-1.0_fix.patch</pre>
 +
 
 +
Compile the software:
 +
 
 +
<pre>./configure --prefix=/usr &&
 +
make</pre>
 +
 
 +
Then, as the '''root''' user:
 +
 
 +
<pre class="asRoot">make install</pre>
 +
 
 +
Note that the code block above does not have a <code>DESTDIR=${FAKEROOT}</code> directive. [[ScriptFactory]] will add these automatically if a <code>pre</code> block has <code>class="asRoot"</code>.
 +
 
 +
== DESTDIR ==
 +
If a package does not use <code>DESTDIR</code>, but <code>prefix</code> for example, you can specify that in this section, like this:
 +
 
 +
This packages does not support the use of '''DESTDIR''', in stead it uses:
 +
 
 +
<pre>prefix=</pre>
 +
 
 +
== 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:
 +
 
 +
<pre class="delayPostinst">update-desktop-database</pre>
 +
 
 +
If you add <code>class="delayPostinst"</code> to any code block in this section, all post-installation commands will be delayed until all software has been installed.

Revision as of 01:24, 1 February 2012

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

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.