Difference between revisions of "Custom package example"

From LFScript
 
(11 intermediate revisions by the same user not shown)
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 page is a template, which you can use to add your own packages to LFScript. Be sure to also read the details on the [[ScriptFactory Wiki Tags|special commands]] you can use here.
  
If your software does not use the '''Pre-installation''', '''Post-installation''' or '''DESTDIR''' sections, you can leave them out. All other sections are mandatory.
+
<scriptname>my-software</scriptname>
 
 
If for any reason, your page causes problems with ScriptFactory, it will not be included in LFScript.
 
 
 
Finally, be sure to adapt and include the next line at the top of your page:
 
 
 
To build this software using LFScript, add ''<code class="scriptName">custom-example</code>'' to the [[LFScript Switches|-x switch]].
 
  
 
== Sources ==
 
== Sources ==
* Primary source: [http://www.example.com/sourcecode-1.0.tar.xz http://www.example.com/sourcecode-1.0.tar.xz]
+
* <sourcecode>http://www.example.com/sourcecode-1.0.tar.xz</sourcecode>
* Alternative source: [http://www.example.com/alt/sourcecode-1.0.tar.xz http://www.example.com/alt/sourcecode-1.0.tar.xz]
+
* <sourcecode>http://www.example.com/alt/sourcecode-1.0.tar.xz</sourcecode>
* Required patch: [http://www.example.com/patch/sourcecode-1.0_fix.patch http://www.example.com/patch/sourcecode-1.0_fix.patch]
+
* <sourcecode>http://www.example.com/patch/sourcecode-1.0_fix.patch</sourcecode>
  
 
+
<md5>9244091002a9d52e91fca0b1f3818ab9  sourcecode-1.0.tar.xz
'''MD5 Checksums'''
+
d41d8cd98f00b204e9800998ecf8427e  sourcecode-1.0_fix.patch</md5>
<pre>9244091002a9d52e91fca0b1f3818ab9  sourcecode-1.0.tar.xz
 
d41d8cd98f00b204e9800998ecf8427e  sourcecode-1.0_fix.patch</pre>
 
 
 
If you do not set a checksum for a file, it will be set as <code>dontverify</code> in a script.
 
  
 
== Dependencies ==
 
== Dependencies ==
* [[NetworkManager|network-manager]]
+
* <dependency value="busybox"></dependency>[[BusyBox]]
* libpng
+
* <dependency>libpng</dependency>
 
 
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.
+
<preinst>useradd -m sampleUser</preinst>
 
 
<pre>useradd -m sampleUser</pre>
 
  
 
== Installation ==
 
== Installation ==
 +
<build>patch -Np1 < ../sourcecode-1.0_fix.patch</build>
  
If the software must be patched, explain here why.
+
<build>./configure --prefix=/usr &&
 
+
make</build>
<pre>patch -Np1 < ../sourcecode-1.0_fix.patch</pre>
 
 
 
Compile the software:
 
  
<pre>./configure --prefix=/usr &&
+
<build user="root">make install</build>
make</pre>
 
  
Then, as the '''root''' user:
+
== Packaging note ==
 
+
<destdir>prefix</destdir>
<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 ==
 
== 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.
+
<delaypostinst/><postinst>update-desktop-database</postinst>
 
 
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.
 

Latest revision as of 12:40, 5 March 2017

This page is a template, which you can use to add your own packages to LFScript. Be sure to also read the details on the special commands you can use here.

LFScript can find this software under the name my-software.

Sources


MD5 Checksums:

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

Dependencies

Pre-installation

useradd -m sampleUser

Installation

patch -Np1 < ../sourcecode-1.0_fix.patch
./configure --prefix=/usr &&
make

As the root user:

make install

Packaging note

The source code of this package does not support the standard use of DESTDIR. In stead it uses

prefix

Post-installation

Note: Post-installation of this software should be performed after all other software has been installed.

update-desktop-database