<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.lunar-linux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.lunar-linux.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=V3rt1g0</id>
		<title>Lunar Linux - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.lunar-linux.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=V3rt1g0"/>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Special:Contributions/V3rt1g0"/>
		<updated>2026-04-09T13:48:58Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.1</generator>

	<entry>
		<id>http://wiki.lunar-linux.org/Install_XOrg7</id>
		<title>Install XOrg7</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Install_XOrg7"/>
				<updated>2006-09-30T17:25:57Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* Upgrading from XOrg 6.x */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=The path to XOrg7=&lt;br /&gt;
&lt;br /&gt;
==Upgrading from XOrg 6.x==&lt;br /&gt;
&lt;br /&gt;
Currently, the XOrg7 module needs you to do a few things manually if you upgrade from an earlier XOrg 6.x installation. You have to adhere to the following steps. If you do not listen to our advice then you're on your own.&lt;br /&gt;
&lt;br /&gt;
*Remove the old XOrg (XOrg 6.x conflicts with XOrg 7.x)&lt;br /&gt;
: &amp;lt;code&amp;gt;lrm XOrg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: This action will most likely cause some font related modules to recompile, this is to be expected.&lt;br /&gt;
&lt;br /&gt;
*Backup the old /etc/X11 (with your old xorg.conf)&lt;br /&gt;
: &amp;lt;code&amp;gt;mv /etc/X11 /etc/X11.old&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remove the old XOrg installation remains&lt;br /&gt;
: &amp;lt;code&amp;gt;rm -fr /usr/X11R6&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remove some old symlinks if they still exist&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/include/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/lib/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/include/GL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing XOrg 7.x ==&lt;br /&gt;
===Installing xorg-7.0===&lt;br /&gt;
As of 2006-06-19 XOrg7 was added to zbeta of moonbase... This means you can just lin XOrg7 to install xorg-7.0 &lt;br /&gt;
&lt;br /&gt;
===Installing xorg-7.1===&lt;br /&gt;
&lt;br /&gt;
If you want to install xorg-7.1 you will need the fetch some modules from the development tree of moonbase:&amp;lt;br /&amp;gt;&lt;br /&gt;
Fetch the [http://merlin.ugent.be/lunar/xorg7.1.tar.gz XOrg 7.1 tarball] from http://merlin.ugent.be/lunar/ for a snapshot of the experimental moonbase branch and copy the extracted files to your $MOONBASE/zlocal. The tarballs are updated at least once a day .. so you get all the latest changes.&lt;br /&gt;
&lt;br /&gt;
Now you're all set for XOrg 7.1. You may now use the 'XOrg7' module to install XOrg 7.1:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;lin XOrg7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XOrg-7.1 is needed if you want to mess with Xgl.&lt;br /&gt;
&lt;br /&gt;
==Installation notes==&lt;br /&gt;
&lt;br /&gt;
XOrg7 is installing to /usr by default and ''NOT'' to /usr/X11R7 or any other prefix inside /usr. The [http://www.pathname.com/fhs Filesystem Hierarchy Standard] does not allow that. All major linux distributions are following the FHS and have adjusted their builds accordingly:&lt;br /&gt;
&lt;br /&gt;
*[http://lists.debian.org/debian-devel-announce/2006/04/msg00010.html Debian]&lt;br /&gt;
*[http://wiki.archlinux.org/index.php/Xorg7 Arch Linux]&lt;br /&gt;
*[http://gentoo-wiki.com/HOWTO_Modular_Xorg Gentoo]&lt;br /&gt;
&lt;br /&gt;
You may however set an arbitary prefix for XOrg incase you do not want it to install to /usr. You may do so by running the following command:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;lunar set X11R7_PREFIX=/your/prefix/here&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The most commonly used prefix would be /usr/X11R7, however, some other prefix inside /opt is entirely possible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The XOrg7 profile is going to create some symlinks on your system:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;/usr/X11 -&amp;gt; $MODULE_PREFIX; /usr by default&amp;lt;br /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;/usr/X11R6 -&amp;gt; $MODULE_PREFIX; /usr by default&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The X11R6 symlink is there for compatibility reasons. Many of the older and even some of the newer packages inside the moonbase have a hardcoded path pointing to /usr/X11R6 inside their source trees. Keeping the symlink prevents them from breaking apart.&lt;br /&gt;
&lt;br /&gt;
==Missing modules from the XOrg 7.x modular tree==&lt;br /&gt;
&lt;br /&gt;
Despite our best efforts to give you the whole XOrg 7.x modular tree as modules to install there are still many of them left untouched either because they are not important to run a full featured X environment or nobody had the time to add them yet. As always contribution are welcome and appreciated:&lt;br /&gt;
&lt;br /&gt;
*x11-apps&lt;br /&gt;
**appres - list X application resource database&lt;br /&gt;
**lbxproxy - Low BandWidth X proxy&lt;br /&gt;
**luit - Convert terminal i/o from legacy encodings to UTF-8&lt;br /&gt;
**mkcfm - create summaries of CID font metric files&lt;br /&gt;
**oclock - round X clock&lt;br /&gt;
**proxymngr - proxy manager service&lt;br /&gt;
**scripts - run X command on another system via rsh&lt;br /&gt;
**sessreg - Register X sessions in system utmp/utmpx databases&lt;br /&gt;
**showfont - show information about X font from font server&lt;br /&gt;
**twm - simple window manager&lt;br /&gt;
**viewres - graphical class/resource browser for Xt&lt;br /&gt;
**xbiff - watch mailboxes for new message delivery&lt;br /&gt;
**xclipboard - X clipboard manager&lt;br /&gt;
**xdbedizzy - DBE sample&lt;br /&gt;
**xditview - display ditroff output&lt;br /&gt;
**xdm - list X application resource database&lt;br /&gt;
**xf86dga - known unto god&lt;br /&gt;
**xfd - display all the characters in an X font&lt;br /&gt;
**xfindproxy - locate proxy services&lt;br /&gt;
**xfontsel - point and click selection of X11 font names&lt;br /&gt;
**xfsinfo - X font server information utility&lt;br /&gt;
**xfwp - X Firewall Proxy&lt;br /&gt;
**xgc - X graphics demo&lt;br /&gt;
**xload - system load average display for X&lt;br /&gt;
**xlogo - Draw [old] X logo&lt;br /&gt;
**xlsclients - list client applications running on a display&lt;br /&gt;
**xmag - magnify parts of the screen&lt;br /&gt;
**xphelloworld - Xprint sample applications&lt;br /&gt;
**xprehashprinterlist - Rehash list of Xprint printers&lt;br /&gt;
**xrx - &amp;quot;Broadway&amp;quot;&lt;br /&gt;
**xsetmode - set the mode for an X Input device&lt;br /&gt;
**xsetpointer - set an X Input device as the main pointer&lt;br /&gt;
**xsm - X Session Manager&lt;br /&gt;
**xstdcmap - X standard colormap utility&lt;br /&gt;
**xvidtune - video mode tuner for Xorg&lt;br /&gt;
*x11-data ==&amp;gt; COMPLETE&lt;br /&gt;
*x11-doc&lt;br /&gt;
**xorg-docs&lt;br /&gt;
**xorg-sgml-doctools&lt;br /&gt;
*x11-driver&lt;br /&gt;
**xf86-video-sunbw2&lt;br /&gt;
**xf86-video-suncg3&lt;br /&gt;
**xf86-video-suncg6&lt;br /&gt;
**xf86-video-suncg14&lt;br /&gt;
**xf86-video-sunffb&lt;br /&gt;
**xf86-video-sunleo&lt;br /&gt;
**xf86-video-suntcx&lt;br /&gt;
**xf86-video-tdfx&lt;br /&gt;
**xf86-video-tga&lt;br /&gt;
**xf86-video-trident&lt;br /&gt;
**xf86-video-tseng&lt;br /&gt;
*x11-extras ==&amp;gt; COMPLETE&lt;br /&gt;
*x11-font&lt;br /&gt;
**font-cronyx-cyrillic&lt;br /&gt;
**font-daewoo-misc&lt;br /&gt;
**font-dec-misc&lt;br /&gt;
**font-ibm-type1&lt;br /&gt;
**font-isas-misc&lt;br /&gt;
**font-jis-misc&lt;br /&gt;
**font-micro-misc&lt;br /&gt;
**font-misc-cyrillic&lt;br /&gt;
**font-misc-ethiopic&lt;br /&gt;
**font-misc-meltho&lt;br /&gt;
**font-mutt-misc&lt;br /&gt;
**font-schumacher-misc&lt;br /&gt;
**font-screen-cyrillic&lt;br /&gt;
**font-winitzki-cyrillic&lt;br /&gt;
*x11-lib&lt;br /&gt;
**libAppleWM - platform specific libraries: [MacOS]&lt;br /&gt;
**libWindowsWM - platform specific libraries: [Win32]&lt;br /&gt;
*x11-proto&lt;br /&gt;
**windowswmproto - platform specific protocol headers [Win32]&lt;br /&gt;
*x11-util&lt;br /&gt;
**lndir&lt;br /&gt;
*xserver ==&amp;gt; COMPLETE&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Install_XOrg7</id>
		<title>Install XOrg7</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Install_XOrg7"/>
				<updated>2006-09-30T17:22:27Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* Upgrading from XOrg 6.x */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=The path to XOrg7=&lt;br /&gt;
&lt;br /&gt;
==Upgrading from XOrg 6.x==&lt;br /&gt;
&lt;br /&gt;
Currently, the XOrg7 module needs you to do a few things manually if you upgrade from an earlier XOrg 6.x installation. You have to adhere to the following steps. If you do not listen to our advice then you're on your own.&lt;br /&gt;
&lt;br /&gt;
*Remove the old XOrg (XOrg 6.x conflicts with XOrg 7.x)&lt;br /&gt;
: &amp;lt;code&amp;gt;lrm XOrg&amp;lt;/code&amp;gt;&lt;br /&gt;
:: This action will most likely cause some font related modules to recompile, this is to be expected.&lt;br /&gt;
&lt;br /&gt;
*Backup the old /etc/X11 (with your old xorg.conf)&lt;br /&gt;
: &amp;lt;code&amp;gt;mv /etc/X11 /etc/X11.old&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remove the old XOrg installation remains&lt;br /&gt;
: &amp;lt;code&amp;gt;rm -fr /usr/X11R6&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remove some old symlinks&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/include/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/lib/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/include/GL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing XOrg 7.x ==&lt;br /&gt;
===Installing xorg-7.0===&lt;br /&gt;
As of 2006-06-19 XOrg7 was added to zbeta of moonbase... This means you can just lin XOrg7 to install xorg-7.0 &lt;br /&gt;
&lt;br /&gt;
===Installing xorg-7.1===&lt;br /&gt;
&lt;br /&gt;
If you want to install xorg-7.1 you will need the fetch some modules from the development tree of moonbase:&amp;lt;br /&amp;gt;&lt;br /&gt;
Fetch the [http://merlin.ugent.be/lunar/xorg7.1.tar.gz XOrg 7.1 tarball] from http://merlin.ugent.be/lunar/ for a snapshot of the experimental moonbase branch and copy the extracted files to your $MOONBASE/zlocal. The tarballs are updated at least once a day .. so you get all the latest changes.&lt;br /&gt;
&lt;br /&gt;
Now you're all set for XOrg 7.1. You may now use the 'XOrg7' module to install XOrg 7.1:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;lin XOrg7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
XOrg-7.1 is needed if you want to mess with Xgl.&lt;br /&gt;
&lt;br /&gt;
==Installation notes==&lt;br /&gt;
&lt;br /&gt;
XOrg7 is installing to /usr by default and ''NOT'' to /usr/X11R7 or any other prefix inside /usr. The [http://www.pathname.com/fhs Filesystem Hierarchy Standard] does not allow that. All major linux distributions are following the FHS and have adjusted their builds accordingly:&lt;br /&gt;
&lt;br /&gt;
*[http://lists.debian.org/debian-devel-announce/2006/04/msg00010.html Debian]&lt;br /&gt;
*[http://wiki.archlinux.org/index.php/Xorg7 Arch Linux]&lt;br /&gt;
*[http://gentoo-wiki.com/HOWTO_Modular_Xorg Gentoo]&lt;br /&gt;
&lt;br /&gt;
You may however set an arbitary prefix for XOrg incase you do not want it to install to /usr. You may do so by running the following command:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;lunar set X11R7_PREFIX=/your/prefix/here&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The most commonly used prefix would be /usr/X11R7, however, some other prefix inside /opt is entirely possible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The XOrg7 profile is going to create some symlinks on your system:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;/usr/X11 -&amp;gt; $MODULE_PREFIX; /usr by default&amp;lt;br /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;/usr/X11R6 -&amp;gt; $MODULE_PREFIX; /usr by default&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The X11R6 symlink is there for compatibility reasons. Many of the older and even some of the newer packages inside the moonbase have a hardcoded path pointing to /usr/X11R6 inside their source trees. Keeping the symlink prevents them from breaking apart.&lt;br /&gt;
&lt;br /&gt;
==Missing modules from the XOrg 7.x modular tree==&lt;br /&gt;
&lt;br /&gt;
Despite our best efforts to give you the whole XOrg 7.x modular tree as modules to install there are still many of them left untouched either because they are not important to run a full featured X environment or nobody had the time to add them yet. As always contribution are welcome and appreciated:&lt;br /&gt;
&lt;br /&gt;
*x11-apps&lt;br /&gt;
**appres - list X application resource database&lt;br /&gt;
**lbxproxy - Low BandWidth X proxy&lt;br /&gt;
**luit - Convert terminal i/o from legacy encodings to UTF-8&lt;br /&gt;
**mkcfm - create summaries of CID font metric files&lt;br /&gt;
**oclock - round X clock&lt;br /&gt;
**proxymngr - proxy manager service&lt;br /&gt;
**scripts - run X command on another system via rsh&lt;br /&gt;
**sessreg - Register X sessions in system utmp/utmpx databases&lt;br /&gt;
**showfont - show information about X font from font server&lt;br /&gt;
**twm - simple window manager&lt;br /&gt;
**viewres - graphical class/resource browser for Xt&lt;br /&gt;
**xbiff - watch mailboxes for new message delivery&lt;br /&gt;
**xclipboard - X clipboard manager&lt;br /&gt;
**xdbedizzy - DBE sample&lt;br /&gt;
**xditview - display ditroff output&lt;br /&gt;
**xdm - list X application resource database&lt;br /&gt;
**xf86dga - known unto god&lt;br /&gt;
**xfd - display all the characters in an X font&lt;br /&gt;
**xfindproxy - locate proxy services&lt;br /&gt;
**xfontsel - point and click selection of X11 font names&lt;br /&gt;
**xfsinfo - X font server information utility&lt;br /&gt;
**xfwp - X Firewall Proxy&lt;br /&gt;
**xgc - X graphics demo&lt;br /&gt;
**xload - system load average display for X&lt;br /&gt;
**xlogo - Draw [old] X logo&lt;br /&gt;
**xlsclients - list client applications running on a display&lt;br /&gt;
**xmag - magnify parts of the screen&lt;br /&gt;
**xphelloworld - Xprint sample applications&lt;br /&gt;
**xprehashprinterlist - Rehash list of Xprint printers&lt;br /&gt;
**xrx - &amp;quot;Broadway&amp;quot;&lt;br /&gt;
**xsetmode - set the mode for an X Input device&lt;br /&gt;
**xsetpointer - set an X Input device as the main pointer&lt;br /&gt;
**xsm - X Session Manager&lt;br /&gt;
**xstdcmap - X standard colormap utility&lt;br /&gt;
**xvidtune - video mode tuner for Xorg&lt;br /&gt;
*x11-data ==&amp;gt; COMPLETE&lt;br /&gt;
*x11-doc&lt;br /&gt;
**xorg-docs&lt;br /&gt;
**xorg-sgml-doctools&lt;br /&gt;
*x11-driver&lt;br /&gt;
**xf86-video-sunbw2&lt;br /&gt;
**xf86-video-suncg3&lt;br /&gt;
**xf86-video-suncg6&lt;br /&gt;
**xf86-video-suncg14&lt;br /&gt;
**xf86-video-sunffb&lt;br /&gt;
**xf86-video-sunleo&lt;br /&gt;
**xf86-video-suntcx&lt;br /&gt;
**xf86-video-tdfx&lt;br /&gt;
**xf86-video-tga&lt;br /&gt;
**xf86-video-trident&lt;br /&gt;
**xf86-video-tseng&lt;br /&gt;
*x11-extras ==&amp;gt; COMPLETE&lt;br /&gt;
*x11-font&lt;br /&gt;
**font-cronyx-cyrillic&lt;br /&gt;
**font-daewoo-misc&lt;br /&gt;
**font-dec-misc&lt;br /&gt;
**font-ibm-type1&lt;br /&gt;
**font-isas-misc&lt;br /&gt;
**font-jis-misc&lt;br /&gt;
**font-micro-misc&lt;br /&gt;
**font-misc-cyrillic&lt;br /&gt;
**font-misc-ethiopic&lt;br /&gt;
**font-misc-meltho&lt;br /&gt;
**font-mutt-misc&lt;br /&gt;
**font-schumacher-misc&lt;br /&gt;
**font-screen-cyrillic&lt;br /&gt;
**font-winitzki-cyrillic&lt;br /&gt;
*x11-lib&lt;br /&gt;
**libAppleWM - platform specific libraries: [MacOS]&lt;br /&gt;
**libWindowsWM - platform specific libraries: [Win32]&lt;br /&gt;
*x11-proto&lt;br /&gt;
**windowswmproto - platform specific protocol headers [Win32]&lt;br /&gt;
*x11-util&lt;br /&gt;
**lndir&lt;br /&gt;
*xserver ==&amp;gt; COMPLETE&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Basics</id>
		<title>Module Basics</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Basics"/>
				<updated>2006-08-28T20:58:51Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: tweaks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
In ''Lunar'' parlance, software packages are called [[modules]]. The collection of all modules is the [[moonbase]], which is simply a directory (usually &amp;lt;code&amp;gt;/var/lib/lunar/moonbase/&amp;lt;/code&amp;gt;) containing ''sections'' (i.e. directories) which in turn contain the [[module]] directories.&lt;br /&gt;
&lt;br /&gt;
A module is simply a directory containing the scripts necessary to build a software package, and optionally configuration files which may be needed in &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;. Some modules require only a [[DETAILS]] file, however this is only the case for a few of the modules in the entire moonbase. In each case, after [[DETAILS]], [[DEPENDS]], and [[CONFIGURE]], where a module can use lunar's default internal function(s), there is no need for a module-specific script.&lt;br /&gt;
&lt;br /&gt;
* [[DETAILS]] sets version, source URL(s) and other critical data&lt;br /&gt;
* [[CONFLICTS]] specifies modules which must (will) be removed by module&lt;br /&gt;
* [[CONFIGURE]] interactive script where build options can be set&lt;br /&gt;
* [[DEPENDS]] specifies required and optional packages&lt;br /&gt;
* [[PRE_REMOVE]] used by [[lrm]]; actions which must preceed removal&lt;br /&gt;
* [[PRE_BUILD]] most often used for patching, unpacking addional source tarballs&lt;br /&gt;
* [[BUILD]] runs necessary variations on: configure; make; make install&lt;br /&gt;
* [[POST_BUILD]] install configuration scripts and data.&lt;br /&gt;
* [[POST_INSTALL]] messages, notes more cleanups, configuration fixes&lt;br /&gt;
* [[POST_REMOVE]] used by [[lrm]]; actions which must follow removal&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== Package Build and Install Scripts ==&lt;br /&gt;
&lt;br /&gt;
The following scripts are used by [[lin]] or indirectly by [[lunar]] when building modules.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The DETAILS script ===&lt;br /&gt;
&lt;br /&gt;
Every module is required to have at least a [[DETAILS]] file. A minimal [[DETAILS]] may appear as follows: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/editors/emacs/DETAILS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
           MODULE=emacs&lt;br /&gt;
          VERSION=21.3&lt;br /&gt;
           SOURCE=$MODULE-$VERSION.tar.gz&lt;br /&gt;
       SOURCE_URL=$GNU_URL/$MODULE&lt;br /&gt;
       SOURCE_URL=&amp;lt;nowiki&amp;gt;ftp://ftp.gnu.org/pub/gnu/$MODULE&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
       SOURCE_VFY=sha1:94d7ae9cb3aef05159cfff148265fc9ce0973980&lt;br /&gt;
         WEB_SITE=&amp;lt;nowiki&amp;gt;http://www.gnu.org/software/emacs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
          ENTERED=20010922&lt;br /&gt;
          UPDATED=20020529&lt;br /&gt;
            SHORT=&amp;quot;the extensible, self-documenting real-time display editor&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Emacs is the extensible, customizable, self-documenting real-time&lt;br /&gt;
 display editor. &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
Other SOURCE_URLS in lunar : &lt;br /&gt;
* $GNOME_URL : GNOME mirrors&lt;br /&gt;
* $GNU_URL : GNU mirrors&lt;br /&gt;
* $KDE_URL : KDE mirrors&lt;br /&gt;
* $SFORGE_URL : SourceForge mirrors&lt;br /&gt;
* $LRESORT_URL : lunar-linux mirrors&lt;br /&gt;
* $XFREE86_URL : XFree86 mirrors&lt;br /&gt;
&lt;br /&gt;
Other optional fields :&lt;br /&gt;
* If the application does not compile on more than one thread, add: PSAFE=&amp;quot;no&amp;quot; or PSAFE=no&lt;br /&gt;
* If the tarball is not extracting into the default $MODULE-$VERSION (e.g. emacs-21.7), add: SOURCE_DIRECTORY=$BUILD_DIRECTORY/&amp;quot;$MODULE&amp;quot;_&amp;quot;$VERSION&amp;quot;_src&lt;br /&gt;
* If you want your name in the module and be listed as maintainer and like to be notified when somebody modifies the module, add : MAINTAINER=youremailadress&lt;br /&gt;
* If you have more than one SOURCE_URL, list them as: SOURCE_URL=, SOURCE_URL[1]=, SOURCE_URL[2]=, ...&lt;br /&gt;
* If you have more than one SOURCE, list them as: SOURCE ,SOURCE2, SOURCE3, ... (don't forget to tell the BUILD script what to do with it...) and add a SOURCE1_URL as well...&lt;br /&gt;
* If you want to force lunar to use the gcc4 compiler for this module, add: LUNAR_COMPILER=GCC_4_0 or GCC_3_4 for gcc3&lt;br /&gt;
&lt;br /&gt;
Update the UPDATED field only when you have added something that will change the compile behaviour, updated the version or you added configure options... don't change it just for outlining the DETAILS or BUILD or... file, so in general don't force ppl to recompile if all you did what tweaking around a bit...&lt;br /&gt;
&lt;br /&gt;
sha1 checksums are preferred, md5sums can be listed as SOURCE_VFY=md5: &lt;br /&gt;
&lt;br /&gt;
If you find a MAINTAINER field please respect this and notify the person listed there that you will or have updated his module.&lt;br /&gt;
&lt;br /&gt;
With comments, default values:&lt;br /&gt;
&lt;br /&gt;
           MODULE=emacs                                       # Module name, yes it's redundant&lt;br /&gt;
          VERSION=21.3                                        # Version, changes *often*&lt;br /&gt;
           SOURCE=$MODULE-$VERSION.tar.gz                     # Source filename&lt;br /&gt;
 SOURCE_DIRECTORY=$BUILD_DIRECTORY/$MODULE-$VERSION           # Where source unpacks&lt;br /&gt;
                                                              # ($BUILD_DIRECTORY=/usr/src)&lt;br /&gt;
    SOURCE_URL[0]=$GNU_URL/$MODULE                            # Download URL&lt;br /&gt;
    SOURCE_URL[1]=&amp;lt;nowiki&amp;gt;ftp://ftp.gnu.org/pub/gnu/$MODULE&amp;lt;/nowiki&amp;gt;   # Alternate URL(s)&lt;br /&gt;
       SOURCE_VFY=sha1:94d7ae9cb3aef05159cfff148265fc9ce0973980 # Sets sha1 hash or pgp/gpg sig url&lt;br /&gt;
         WEB_SITE=&amp;lt;nowiki&amp;gt;http://www.gnu.org/software/emacs&amp;lt;/nowiki&amp;gt;           # where to learn more&lt;br /&gt;
          ENTERED=20010922                                    # First appearance in moonbase&lt;br /&gt;
          UPDATED=20020529                                    # Date of latest change.&lt;br /&gt;
                                                              # Force update by setting this&lt;br /&gt;
 &lt;br /&gt;
 # The remaining lines are used for input to the 'lvu what' command&lt;br /&gt;
 # and are best copied from the source-maintainer's own description.&lt;br /&gt;
 &lt;br /&gt;
            SHORT=&amp;quot;the extensible, self-documenting real-time display editor&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 cat &amp;lt;&amp;lt; EOF&lt;br /&gt;
 Emacs is the extensible, customizable, self-documenting real-time&lt;br /&gt;
 display editor. &lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
=== The DEPENDS script ===&lt;br /&gt;
&lt;br /&gt;
The [[DEPENDS]] script is essential to configuration management, and is the key to the overall operation of lunar. Dependencies should be exactly specified, preferably not assuming the presence of any other modules, while knowing the sub-dependencies of the modules which are added and not adding those explictly where not needed.&lt;br /&gt;
&lt;br /&gt;
'''Warning''' - Getting this right is difficult. Because the state of installed packages may vary widely, it's important to have a good understanding of what might be or not be installed on a target system.&lt;br /&gt;
&lt;br /&gt;
'''Note''' - By convention Lunar does not include the X Window System, xfree86 or XOrg, in any dependency. There are two reasons for this choice. First we expect that users must understand that to use a graphical application locally, the X Window System must be installed. Second, due to the sligtly unusual definition of client and server used by X11, it is often in fact possible to build graphical applications and tools for remote display, without the server components locally installed. At some future date we may elect to provide a client-only installation of xfree86.&lt;br /&gt;
&lt;br /&gt;
[[DEPENDS]] may include both required and optional dependencies. The '''depends()''' function statement simply determines one required package. The optional_depends function is a little more complex. It consists of the required package, necessary --options to give to &amp;lt;code&amp;gt;./configure&amp;lt;/code&amp;gt; for yes and no respectively, and an explanatory comment telling the user the purpose of the option being presented. A typical [[DEPENDS]] file might appear as follows: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/devel/subversion/DEPENDS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 depends zlib    &amp;amp;&amp;amp;&lt;br /&gt;
 depends openssl &amp;amp;&amp;amp;&lt;br /&gt;
 optional_depends &amp;quot;db4&amp;quot; &amp;quot;--with-berkeley-db&amp;quot;  &amp;quot;&amp;quot;   &amp;quot;for creating local repositories&amp;quot;&lt;br /&gt;
 #                  ^            ^            ^                  ^&lt;br /&gt;
 #                  |            |            |                  |&lt;br /&gt;
 #     optional package       if &amp;quot;Y&amp;quot;       if &amp;quot;N&amp;quot;       explanatory comment&lt;br /&gt;
 #                        { ./configure strings }&lt;br /&gt;
&lt;br /&gt;
the &amp;amp;&amp;amp; is not obligatory but makes the file much more readable&lt;br /&gt;
&lt;br /&gt;
'''Aliases'''&lt;br /&gt;
&lt;br /&gt;
Aliases are a mean to select a generic module. When you need a functionnality that can be provided by two or more softwares, you can select one of them to provide a correct dependency.&lt;br /&gt;
&lt;br /&gt;
Example /var/lib/lunar/moonbase/aliases:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 %APACHE:apache apache2 apache-mod_ssl&lt;br /&gt;
 %FAM:fam gamin&lt;br /&gt;
 %GECKO_RENDERER: firefox thunderbird mozilla&lt;br /&gt;
 %GHOSTSCRIPT:espgs ghostscript&lt;br /&gt;
 %MTA:postfix exim sendmail esmtp&lt;br /&gt;
 %SLANG:slang slang2&lt;br /&gt;
 %X:XOrg XOrg-test xfree86 xfree86-beta&lt;br /&gt;
 %XMLRENDERER: libxml2 expat&lt;br /&gt;
 %XSCREENSAVER:xscreensaver xscreensaver-gtk1 xscreensaver-kde&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example you can choose %X instead of XOrg in a module that would depends on any X server:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 depends %X&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The CONFLICTS script ===&lt;br /&gt;
&lt;br /&gt;
This script is simply used to specify modules which will be removed when a given module is installed. An example would be: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/editors/elvis/CONFLICTS&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 conflicts vim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The CONFIGURE script ===&lt;br /&gt;
&lt;br /&gt;
The [[CONFIGURE]] script is used to collect interactive input from the user on optional parameters for the software build. use the '''query''' function and provide a default answer to each question. The results of the answers are then used to store configuration variables needed in configuration state files. An a simple example might be: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/crypto/gnupg/CONFIGURE&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 if ! grep -q CONFIGURED $MODULE_CONFIG ; then&lt;br /&gt;
   if query &amp;quot;Enable experimental external HKP keyserver interface? &amp;quot; n ; then&lt;br /&gt;
     OPTS=&amp;quot;$OPTS --enable-external-hkp&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
   echo 'CONFIGURED=&amp;quot;y&amp;quot;' &amp;gt;&amp;gt; $MODULE_CONFIG&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
Another way is using '''mquery''' like the lilo module does:&lt;br /&gt;
&lt;br /&gt;
 mquery RUN_LILO &amp;quot;Run LILO automatically upon LILO upgrades?&amp;quot; y&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The PRE_BUILD script ===&lt;br /&gt;
&lt;br /&gt;
[[PRE_BUILD]] is used where special processing is needed before undertaking the actual build steps. Typical requirements include unpacking multiple sources, creating necessary system or source-tree direcotries and applying source patches. And example would be: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/doc-tools/html2db/PRE_BUILD&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 mk_source_dir $SOURCE_DIRECTORY  &amp;amp;&amp;amp;&lt;br /&gt;
 unpack $SOURCE                   &amp;amp;&amp;amp;&lt;br /&gt;
 cd $MODULE&lt;br /&gt;
 unpack $SOURCE2&lt;br /&gt;
 cd tidy&lt;br /&gt;
 patch_it $SOURCE_CACHE/$SOURCE3 0&lt;br /&gt;
 cd /usr/src/$MODULE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The BUILD script ===&lt;br /&gt;
&lt;br /&gt;
[[BUILD]] is used where the '''default_build()''' function does not work for a given software package. For reference the commands run by default are:&lt;br /&gt;
&lt;br /&gt;
Function '''default_build()''' calls '''default_config''' which executes:&lt;br /&gt;
&lt;br /&gt;
   ./configure  --build=$BUILD            \&lt;br /&gt;
                --prefix=/usr             \&lt;br /&gt;
                --sysconfdir=/etc         \&lt;br /&gt;
                --localstatedir=/var      \&lt;br /&gt;
                --infodir=/usr/share/info \&lt;br /&gt;
                --mandir=/usr/share/man   \&lt;br /&gt;
                $OPTS&lt;br /&gt;
&lt;br /&gt;
Next, '''default_build()''' calls '''default_make''' which executes:&lt;br /&gt;
&lt;br /&gt;
   make &amp;amp;&amp;amp;&lt;br /&gt;
   prepare_install &amp;amp;&amp;amp;&lt;br /&gt;
   make install&lt;br /&gt;
&lt;br /&gt;
Where this build configuration does not work, the [[BUILD]] script is used to provide the needed steps. About 75% of modules need a [[BUILD]] script. Two examples include: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/archive/gzip/BUILD&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 (&lt;br /&gt;
  ./configure --build=$BUILD            \&lt;br /&gt;
              --prefix=/usr             \&lt;br /&gt;
              --bindir=/bin             \&lt;br /&gt;
              --infodir=/usr/share/info \&lt;br /&gt;
              --mandir=/usr/share/man   &amp;amp;&amp;amp;&lt;br /&gt;
  make &amp;amp;&amp;amp;&lt;br /&gt;
  prepare_install &amp;amp;&amp;amp;&lt;br /&gt;
  make bindir=/bin install&lt;br /&gt;
 ) &amp;gt; $C_FIFO 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
and: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/editors/ex/BUILD&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 (&lt;br /&gt;
   cd $SOURCE_DIRECTORY                    &amp;amp;&amp;amp;&lt;br /&gt;
   sedit 's/usr.local/usr/' Makefile       &amp;amp;&amp;amp;&lt;br /&gt;
   sedit 's/= man/= share\/man/' Makefile  &amp;amp;&amp;amp;&lt;br /&gt;
   sedit 's/ucb/bin/' Makefile             &amp;amp;&amp;amp;&lt;br /&gt;
   sedit 's/= termlib/= ncurses/' Makefile &amp;amp;&amp;amp;&lt;br /&gt;
   make                                    &amp;amp;&amp;amp;&lt;br /&gt;
   prepare_install                         &amp;amp;&amp;amp;&lt;br /&gt;
   make install&lt;br /&gt;
 ) &amp;gt; $C_FIFO 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
The first example is a build which needs non-standard 'configure' and 'make install' commands. The second is a build which does not use gnu auto-tools' 'configure' script.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Note''' - [[BUILD]] scripts must execute inside a (), called a subshell invocation, construct and output is always directed to a named pipe (aka FIFO). Therefor all [[BUILD]] files take the follwing form:&lt;br /&gt;
&lt;br /&gt;
 (&lt;br /&gt;
   # commands are put here&lt;br /&gt;
 ) &amp;gt; $C_FIFO 2&amp;gt;&amp;amp;1     # $C_FIFO holds the name of a fifo in /tmp used for 'voyeur'&lt;br /&gt;
&lt;br /&gt;
=== The POST_BUILD script ===&lt;br /&gt;
&lt;br /&gt;
[[POST_BUILD]] runs in place of the '''default_post_build''' routine which is used to install minor documentation and transfer/enable initialization scripts and similar system data, mostly into &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[POST_BUILD]] script usage is '''deprecated'''. You should install your config files in [[BUILD]] (remember not to overwrite previous config files!) or install defaults from [[POST_INSTALL]] (again, do not overwrite present files!). The ability to use a [[POST_BUILD]] script is purely for certain internal functions.&lt;br /&gt;
&lt;br /&gt;
=== The POST_INSTALL script ===&lt;br /&gt;
&lt;br /&gt;
[[POST_INSTALL]] has no equivalent functions, and is run to handle post-installation work in a general manner. An example is: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/compilers/gcc/POST_INSTALL&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 cd /usr/lib/gcc-lib/$BUILD/$VERSION                      &amp;amp;&amp;amp;&lt;br /&gt;
 ln    -sf /usr/bin/cpp cpp                               &amp;amp;&amp;amp;&lt;br /&gt;
 cd /lib/                                                 &amp;amp;&amp;amp;&lt;br /&gt;
 ln    -sf /usr/bin/cpp cpp                               &amp;amp;&amp;amp; &lt;br /&gt;
 if [ ! -e /usr/bin/cc ] ; then&lt;br /&gt;
   ln -s gcc /usr/bin/cc&lt;br /&gt;
 fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Package Removal Scripts ==&lt;br /&gt;
&lt;br /&gt;
Module removal is handled by [[lrm]]. Because installation is monitored and backup tarballs are created using installwatch, most of package removal is handled automatically using the logs created by installwatch. However we provide for additional actions to be taken through the [[PRE_REMOVE]] and [[POST_REMOVE]] scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The PRE_REMOVE script ===&lt;br /&gt;
&lt;br /&gt;
[[PRE_REMOVE]] is needed to execute any tasks needed prior to the main task of removing all files installed by the module. An example would be: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/mail/docbook-3.1/PRE_REMOVE&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 CENTRALIZED=/etc/sgml/catalog&lt;br /&gt;
 DOCBOOK_INSTALL_DIR=/usr/share/sgml/docbook/$VERSION&lt;br /&gt;
 install-catalog -r $CENTRALIZED $DOCBOOK_INSTALL_DIR/catalog&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== The POST_REMOVE Script ===&lt;br /&gt;
&lt;br /&gt;
[[POST_REMOVE]] may be used to remove data not tracked by installwatch and to correctly adjust remaining configuration files and data. Examples would include: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/devel/binutils/POST_REMOVE&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 install-info  --delete as         --info-dir /usr/info&lt;br /&gt;
 install-info  --delete bfd        --info-dir /usr/info&lt;br /&gt;
 install-info  --delete binutils   --info-dir /usr/info&lt;br /&gt;
 install-info  --delete configure  --info-dir /usr/info&lt;br /&gt;
 install-info  --delete gasp       --info-dir /usr/info&lt;br /&gt;
 install-info  --delete gprof      --info-dir /usr/info&lt;br /&gt;
 install-info  --delete ld         --info-dir /usr/info&lt;br /&gt;
&lt;br /&gt;
or: (&amp;lt;code&amp;gt;/var/lib/lunar/moonbase/compilers/php/POST_REMOVE&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
 if    module_installed  apache;  then&lt;br /&gt;
   cp        /etc/httpd/httpd.conf       /tmp/httpd.conf&lt;br /&gt;
   grep  -v  &amp;quot;LoadModule php4_module&amp;quot;    /tmp/httpd.conf  |&lt;br /&gt;
   grep  -v  &amp;quot;AddModule mod_php4.c&amp;quot;   &amp;gt;  /etc/httpd/httpd.conf&lt;br /&gt;
   rm    -f  /tmp/httpd.conf&lt;br /&gt;
 elif  module_installed  apache_mod_ssl;  then&lt;br /&gt;
   cp        /etc/httpsd/httpd.conf      /tmp/httpd.conf&lt;br /&gt;
   grep  -v  &amp;quot;LoadModule php4_module&amp;quot;    /tmp/httpd.conf  |&lt;br /&gt;
   grep  -v  &amp;quot;AddModule mod_php4.c&amp;quot;   &amp;gt;  /etc/httpsd/httpd.conf&lt;br /&gt;
   rm    -f  /tmp/httpd.conf&lt;br /&gt;
 fi&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Writing</id>
		<title>Module Writing</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Writing"/>
				<updated>2006-08-28T20:54:08Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* Before you start */ cleaning up a bit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Writing lunar [[modules]] can be extremely complex or very simple, and is analogous to performing the steps needed to install a [[package]] manually. However, there are so many variables you need to think of when writing modules, that it's hard to get them all right if you're new at writing modules.&lt;br /&gt;
&lt;br /&gt;
==Before you start==&lt;br /&gt;
Take some time to think about ''why'' you want to make a new module. Also, there might be things to consider that would prevent you from writing a module at all. Here's some quick guidelines...&lt;br /&gt;
&lt;br /&gt;
* Check if the package is already in the Lunar [[moonbase]]. Nothing is worse then doing the same work twice.&lt;br /&gt;
* Check the license. Perhaps the license is not compatible with Lunar and your newly written module might never make it into moonbase due to these licensing issues. (If this is the case, you could always submit your module to the [[non-free modules]] website.)&lt;br /&gt;
* Check the dependencies required for the module, and see if those also meet these requirements. Sometimes a module might take so much time to write that it's not worth it.&lt;br /&gt;
* Check if you're not better off installing it manually or using a binary. Plenty of packages are so easy to install into your home directory and even though a module would be nice, it's often just easier to install it manually.&lt;br /&gt;
&lt;br /&gt;
==Starting the module==&lt;br /&gt;
&lt;br /&gt;
Find a good spot in [[moonbase]]. You should always work in the [[zlocal]] section. Your system [[moonbase]] is located in &amp;quot;/var/lib/lunar/moonbase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal&lt;br /&gt;
 mkdir mymodule&lt;br /&gt;
 cd mymodule&lt;br /&gt;
&lt;br /&gt;
Every module is defined as the group of files and directories including a [[DETAILS]] file in a directory. So we need a [[DETAILS]] file:&lt;br /&gt;
&lt;br /&gt;
           MODULE=mymodule&lt;br /&gt;
          VERSION=1.0&lt;br /&gt;
           SOURCE=$MODULE-$VERSION.tar.bz2&lt;br /&gt;
       SOURCE_URL=http://my.site.org/files/&lt;br /&gt;
       SOURCE_VFY=sha1:e96df66f703c5ab1a295e216b5035ee14d6202b2&lt;br /&gt;
         WEB_SITE=http://my.site.org/&lt;br /&gt;
          ENTERED=20050808&lt;br /&gt;
          UPDATED=20050808&lt;br /&gt;
            SHORT=&amp;quot;Makes module writing easy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cat&amp;lt;&amp;lt;EOF&lt;br /&gt;
 MyModule is a simple tool to explain module writing in&lt;br /&gt;
 detail. It doesn't actually exist but is used as an example&lt;br /&gt;
 for educational purposes.&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
This is a basic [[DETAILS]] file with all required components. As you can see it's just plain shell code.&lt;br /&gt;
&lt;br /&gt;
''All lunar module files are bash code. This means that you should pay special attention to shell meta characters and proper syntax''&lt;br /&gt;
&lt;br /&gt;
This [[DETAILS]] file already can be all you need for writing a module, depending on the way &amp;quot;mymodule&amp;quot; needs to be compiled.&lt;br /&gt;
&lt;br /&gt;
== Module Format ==&lt;br /&gt;
&lt;br /&gt;
See [[Module Basics]] and [[Module Guidelines]] for detailled information about available module scripts and module examples.&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T20:09:48Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DETAILS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
* Avoid using the module's name in the SHORT field.&lt;br /&gt;
** e.g. instead of SHORT=&amp;quot;MyModle is an application designed to take over the world.&amp;quot; you should use SHORT=&amp;quot;an application designed to take over the world&amp;quot;&lt;br /&gt;
** You are encouraged however to start the long description off with the modules name.  So in the example above the long description might be &amp;quot;MyModule is a GTK+-2 application designed to take over the world.  It features mind-control and cute, fuzzy kittens.&amp;quot; (wrapped to 72 characters characters of course.)  This way the output of [[lvu what]] is presented nicely to the user.&lt;br /&gt;
* Always align the equal signs (=) vertially within the file.  &amp;quot;=&amp;quot; should be at character position 17, as this allows for the (optional) variable SOURCE_DIRECTORY= to be added later if needed and have it still be lined up with the rest of the content already in the file.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or [[optional_depends]].&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
* If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your optional_depends line.  This allows you to not compile in support for certain features, even if your computer has the necessary application/library installed to support that feature.  Remember, choice is good.&lt;br /&gt;
* Always flow up each depends and optional_depends call with a &amp;amp;&amp;amp; if there is another call to depends or optional_depends after it.&lt;br /&gt;
** This ensures that if the handling of the dependency fails for whatever reason, this module also fails to install.&lt;br /&gt;
** Remember that the last line of the file does ''not'' have &amp;amp;&amp;amp; appended to it.  Putting &amp;amp;&amp;amp; at this location will cause a syntax error, effectivly breaking that module and anything depending on that module.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T20:02:12Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DETAILS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
* Avoid using the module's name in the SHORT field.&lt;br /&gt;
** e.g. instead of SHORT=&amp;quot;MyModle is an application designed to take over the world.&amp;quot; you should use SHORT=&amp;quot;an application designed to take over the world&amp;quot;&lt;br /&gt;
** You are encouraged however to start the long description off with the modules name.  So in the example above the long description might be &amp;quot;MyModule is a GTK+-2 application designed to take over the world.  It features mind-control and cute, fuzzy kittens.&amp;quot; (wrapped to 72 characters characters of course.)  This way the output of [[lvu what]] is presented nicely to the user.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or [[optional_depends]].&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
* If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your optional_depends line.  This allows you to not compile in support for certain features, even if your computer has the necessary application/library installed to support that feature.  Remember, choice is good.&lt;br /&gt;
* Always flow up each depends and optional_depends call with a &amp;amp;&amp;amp; if there is another call to depends or optional_depends after it.&lt;br /&gt;
** This ensures that if the handling of the dependency fails for whatever reason, this module also fails to install.&lt;br /&gt;
** Remember that the last line of the file does ''not'' have &amp;amp;&amp;amp; appended to it.  Putting &amp;amp;&amp;amp; at this location will cause a syntax error, effectivly breaking that module and anything depending on that module.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:59:39Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DETAILS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
* Avoid using the module's name in the SHORT field.&lt;br /&gt;
** e.g. instead of SHORT=&amp;quot;MyModle is an application designed to take over the world.&amp;quot; you should use SHORT=&amp;quot;an application designed to take over the world&amp;quot;&lt;br /&gt;
** You are encouraged however to start the long description off with the modules name.  So in the example above the long description might be &amp;quot;MyModule is a GTK+-2 application designed to take over the world.  It features mind-control and cute, fuzzy kittens.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or [[optional_depends]].&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
* If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your optional_depends line.  This allows you to not compile in support for certain features, even if your computer has the necessary application/library installed to support that feature.  Remember, choice is good.&lt;br /&gt;
* Always flow up each depends and optional_depends call with a &amp;amp;&amp;amp; if there is another call to depends or optional_depends after it.&lt;br /&gt;
** This ensures that if the handling of the dependency fails for whatever reason, this module also fails to install.&lt;br /&gt;
** Remember that the last line of the file does ''not'' have &amp;amp;&amp;amp; appended to it.  Putting &amp;amp;&amp;amp; at this location will cause a syntax error, effectivly breaking that module and anything depending on that module.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:56:10Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DETAILS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
* Avoid using the module's name in the SHORT field.&lt;br /&gt;
** e.g. instead of SHORT=&amp;quot;MyModle is an application designed to take over the world.&amp;quot; you should use SHORT=&amp;quot;an application designed to take over the world&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or [[optional_depends]].&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
* If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your optional_depends line.  This allows you to not compile in support for certain features, even if your computer has the necessary application/library installed to support that feature.  Remember, choice is good.&lt;br /&gt;
* Always flow up each depends and optional_depends call with a &amp;amp;&amp;amp; if there is another call to depends or optional_depends after it.&lt;br /&gt;
** This ensures that if the handling of the dependency fails for whatever reason, this module also fails to install.&lt;br /&gt;
** Remember that the last line of the file does ''not'' have &amp;amp;&amp;amp; appended to it.  Putting &amp;amp;&amp;amp; at this location will cause a syntax error, effectivly breaking that module and anything depending on that module.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:48:33Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or [[optional_depends]].&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
* If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your optional_depends line.  This allows you to not compile in support for certain features, even if your computer has the necessary application/library installed to support that feature.  Remember, choice is good.&lt;br /&gt;
* Always flow up each depends and optional_depends call with a &amp;amp;&amp;amp; if there is another call to depends or optional_depends after it.&lt;br /&gt;
** This ensures that if the handling of the dependency fails for whatever reason, this module also fails to install.&lt;br /&gt;
** Remember that the last line of the file does ''not'' have &amp;amp;&amp;amp; appended to it.  Putting &amp;amp;&amp;amp; at this location will cause a syntax error, effectivly breaking that module and anything depending on that module.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:39:16Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or [[optional_depends]].&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
* If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your optional_depends line.  This allows you to not compile in support for certain features, even if your computer has the necessary application/library installed to support that feature.  Remember, choice is good.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:34:52Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or [[optional_depends]].&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
* If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your optional_depends line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:32:39Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* If possible always provide a way to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your [[optional_depends]] line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or optional_depends.&lt;br /&gt;
** Putting logic into DEPENDS, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:32:11Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
** That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
* If possible always provide a way to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
** That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your [[optional_depends]] line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
* Never put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or optional_depends.&lt;br /&gt;
** Putting logic into this file, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:30:48Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */ No logic in depends message&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
*Only list unique dependencies.&lt;br /&gt;
**That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
*If possible always provide a way to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
**That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your [[optional_depends]] line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
* NEVER put logic into this file.  The only things that can exist in this file are function calls to [[depends]] and/or optional_depends.&lt;br /&gt;
** Putting logic into this file, while it might seem clever, is a sure way to mess up Lunar's internal dependency handling mechanisms and commands such as [[lvu#leert|lvu leert]].&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:19:28Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
*Only list unique dependencies.&lt;br /&gt;
**That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires (non-optionally) &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
*If possible always provide a way to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
**That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your [[optional_depends]] line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T19:09:50Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DETAILS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.&lt;br /&gt;
**The SHA1 algorithm has been [http://news.com.com/Crypto+researchers+abuzz+over+flaws/2100-1002_3-5313655.html shown] to be less prone to key clashes than the MD5 algorithm.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
*Only list unique dependencies.&lt;br /&gt;
**That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
*If possible always provide a way to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
**That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your [[optional_depends]] line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T18:57:16Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* CONFLICTS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Use '''sha1:''' instead of ''md5:'' for SOURCE_VFY values.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
*Only list unique dependencies.&lt;br /&gt;
**That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
*If possible always provide a way to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
**That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your [[optional_depends]] line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
* When removing/renaming a module that had a CONFLICTS file, remember to remove/rename the conflict on all of the other modules this module conflicted with.  Don't leave orphaned conflicts.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T18:54:26Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Use '''sha1:''' instead of ''md5:'' for SOURCE_VFY values.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
*Only list unique dependencies.&lt;br /&gt;
**That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
*If possible always provide a way to disable support for an optional dependency, even if that optional module is installed.&lt;br /&gt;
**That means if the application's ./configure script allows for a --disable-my-optional-depends you should include that switch when building your [[optional_depends]] line.  This allows you to not-build in support for certain features, even if your computer has the necessary applications/libraries installed to support that feature.  Choice is good.&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T18:49:08Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* DEPENDS */ make this a bit clearer as to what it means&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Use '''sha1:''' instead of ''md5:'' for SOURCE_VFY values.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
* Only list unique dependencies.&lt;br /&gt;
**That means that if the module you are building requires both &amp;quot;libX&amp;quot; and &amp;quot;libY&amp;quot; to properly compile/run but &amp;quot;libX&amp;quot; itself already requires &amp;quot;libY,&amp;quot; you should only add &amp;quot;libX&amp;quot; as a dependency to your module.  This is because &amp;quot;libY&amp;quot; will automatically come along with &amp;quot;libX.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T16:35:57Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* Generic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
These guidelines apply to all of a module's files.&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Use '''sha1:''' instead of ''md5:'' for SOURCE_VFY values.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
&lt;br /&gt;
* If dependency ''B'' implies dependency ''A'', only add '''depends B''' (or '''optional_depends B ...''', depending on the dependency type).&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Guidelines"/>
				<updated>2006-08-28T16:32:33Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* Generic */ tweaks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== Generic ==&lt;br /&gt;
&lt;br /&gt;
* Never use tabs. '''Use spaces''' instead.&lt;br /&gt;
* Use '''72 columns''' as a maximum width whenever possible (but always in the long description in the [[DETAILS]] file!).&lt;br /&gt;
* '''Respect the MAINTAINER''' value. Don't modify maintained modules unless you first consult the listed maintainer.&lt;br /&gt;
&lt;br /&gt;
== DETAILS ==&lt;br /&gt;
&lt;br /&gt;
* Use '''sha1:''' instead of ''md5:'' for SOURCE_VFY values.&lt;br /&gt;
* Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.&lt;br /&gt;
* Prefer '''tar.bz2''' over '''tar.gz''' tarballs (as it saves space/traffic) and prefer '''tar.gz''' over '''zip''' (or '''rar''') packages.&lt;br /&gt;
&lt;br /&gt;
== DEPENDS ==&lt;br /&gt;
&lt;br /&gt;
* If dependency ''B'' implies dependency ''A'', only add '''depends B''' (or '''optional_depends B ...''', depending on the dependency type).&lt;br /&gt;
&lt;br /&gt;
== CONFLICTS ==&lt;br /&gt;
&lt;br /&gt;
* Remember to add a CONFLICTS to both modules that conflict with each other.&lt;br /&gt;
&lt;br /&gt;
== CONFIGURE ==&lt;br /&gt;
&lt;br /&gt;
== PRE_BUILD ==&lt;br /&gt;
&lt;br /&gt;
== BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install files after calling '''devoke_installwatch'''.&lt;br /&gt;
&lt;br /&gt;
== POST_BUILD ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== POST_INSTALL ==&lt;br /&gt;
&lt;br /&gt;
* Don't install any files into the system.&lt;br /&gt;
&lt;br /&gt;
== PRE_REMOVE ==&lt;br /&gt;
&lt;br /&gt;
== POST_REMOVE ==&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Module_Writing</id>
		<title>Module Writing</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Module_Writing"/>
				<updated>2006-08-28T16:31:02Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* Starting the module */ tweak the example&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Writing lunar [[modules]] can be extremely complex or very simple, and is analogous to performing the steps needed to install a [[package]] manually. However, there are so many variables you need to think of when writing modules, that it's hard to get them all right if you're new at writing modules.&lt;br /&gt;
&lt;br /&gt;
==Before you start==&lt;br /&gt;
&lt;br /&gt;
Take some time to think about ''why'' you want to make a new module. Also, there might be things to consider that would prevent you from writing a module at all. Here's some guidelines&lt;br /&gt;
&lt;br /&gt;
* Check if the package is not already in [[moonbase]]. Nothing is worse then doing the same work double.&lt;br /&gt;
* Check the license. Perhaps the license is not compatible with lunar and your newly written module might never make it into moonbase due to licensing issues (''You can always submit your modules on the [[non-free modules]] website).&lt;br /&gt;
* Check the dependencies required for the module, and see if those also meet these requirements. Sometimes a module might take so much time to write that it's not worth it&lt;br /&gt;
* Check if you're not better off installing it manually or using a binary. Plenty of packages are so easy to install into your homedirectory and even though a module would be nice, it's often just easier to install it manually.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Starting the module==&lt;br /&gt;
&lt;br /&gt;
Find a good spot in [[moonbase]]. You should always work in the [[zlocal]] section. Your system [[moonbase]] is located in &amp;quot;/var/lib/lunar/moonbase&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 cd /var/lib/lunar/moonbase/zlocal&lt;br /&gt;
 mkdir mymodule&lt;br /&gt;
 cd mymodule&lt;br /&gt;
&lt;br /&gt;
Every module is defined as the group of files and directories including a [[DETAILS]] file in a directory. So we need a [[DETAILS]] file:&lt;br /&gt;
&lt;br /&gt;
           MODULE=mymodule&lt;br /&gt;
          VERSION=1.0&lt;br /&gt;
           SOURCE=$MODULE-$VERSION.tar.bz2&lt;br /&gt;
       SOURCE_URL=http://my.site.org/files/&lt;br /&gt;
       SOURCE_VFY=sha1:e96df66f703c5ab1a295e216b5035ee14d6202b2&lt;br /&gt;
         WEB_SITE=http://my.site.org/&lt;br /&gt;
          ENTERED=20050808&lt;br /&gt;
          UPDATED=20050808&lt;br /&gt;
            SHORT=&amp;quot;Makes module writing easy&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 cat&amp;lt;&amp;lt;EOF&lt;br /&gt;
 MyModule is a simple tool to explain module writing in&lt;br /&gt;
 detail. It doesn't actually exist but is used as an example&lt;br /&gt;
 for educational purposes.&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
This is a basic [[DETAILS]] file with all required components. As you can see it's just plain shell code.&lt;br /&gt;
&lt;br /&gt;
''All lunar module files are bash code. This means that you should pay special attention to shell meta characters and proper syntax''&lt;br /&gt;
&lt;br /&gt;
This [[DETAILS]] file already can be all you need for writing a module, depending on the way &amp;quot;mymodule&amp;quot; needs to be compiled.&lt;br /&gt;
&lt;br /&gt;
== Module Format ==&lt;br /&gt;
&lt;br /&gt;
See [[Module Basics]] and [[Module Guidelines]] for detailled information about available module scripts and module examples.&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Install_XOrg7</id>
		<title>Install XOrg7</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Install_XOrg7"/>
				<updated>2006-05-30T15:38:58Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: /* Installing XOrg 7.x */ ppl -&amp;gt; people&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=The path to XOrg7=&lt;br /&gt;
&lt;br /&gt;
==Upgrading from XOrg 6.x==&lt;br /&gt;
&lt;br /&gt;
Currently, the XOrg7 module needs you to do a few things manually if you upgrade from an earlier XOrg 6.x installation. You have to adhere to the following steps. If you do not listen to our advice then you're on your own.&lt;br /&gt;
&lt;br /&gt;
*Remove the old XOrg&lt;br /&gt;
: &amp;lt;code&amp;gt;lrm XOrg&amp;lt;/code&amp;gt;&lt;br /&gt;
Note: XOrg conflicts with XOrg7. Thus it would've been removed anyway. But we need to do more ...&lt;br /&gt;
&lt;br /&gt;
*Backup the old /etc/X11 (with your old xorg.conf)&lt;br /&gt;
: &amp;lt;code&amp;gt;mv /etc/X11 /etc/X11.old&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remove the old XOrg installation remains&lt;br /&gt;
: &amp;lt;code&amp;gt;rm -fr /usr/X11R6&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Remove some old symlinks&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/include/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/lib/X11&amp;lt;/code&amp;gt;&lt;br /&gt;
**&amp;lt;code&amp;gt;rm /usr/include/GL&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installing XOrg 7.x ==&lt;br /&gt;
*Add the XOrg7 profile to the alias file:&amp;lt;br /&amp;gt;&lt;br /&gt;
edit /var/lib/lunar/moonbase/aliases and add XOrg7 to the %X line...&lt;br /&gt;
&lt;br /&gt;
*First of all you need to check out crater... (we are developping X11R7 in an &amp;quot;experimental&amp;quot; branch of the moonbase as to avoid people messing up their production boxes)&lt;br /&gt;
** &amp;lt;code&amp;gt;svn co https://username@foo-projects.org/svn/lunar/moonbase/branches/crater crater&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;Then copy the XOrg7 directory to your zlocal&lt;br /&gt;
** or fetch the [http://merlin.ugent.be/lunar/xorg7.0.tar.gz xorg7.0-tarball] or the [http://merlin.ugent.be/lunar/xorg7.1.tar.gz the xorg7.1-tarball] from http://merlin.ugent.be/lunar/ and copy the extracted files to your $MOONBASE/zlocal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*For now, you may use the XOrg7 profile for it:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;lin XOrg7&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation notes==&lt;br /&gt;
&lt;br /&gt;
XOrg7 is installing to /usr by default and ''NOT'' to /usr/X11R7 or any other prefix inside /usr. The [http://www.pathname.com/fhs Filesystem Hierarchy Standard] does not allow that. All major linux distributions are following the FHS and have adjusted their builds accordingly:&lt;br /&gt;
&lt;br /&gt;
*[http://lists.debian.org/debian-devel-announce/2006/04/msg00010.html Debian]&lt;br /&gt;
*[http://wiki.archlinux.org/index.php/Xorg7 Arch Linux]&lt;br /&gt;
*[http://gentoo-wiki.com/HOWTO_Modular_Xorg Gentoo]&lt;br /&gt;
&lt;br /&gt;
You may however set an arbitary prefix for XOrg incase you do not want it to install to /usr. You may do so by running the following command:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;lunar set X11R7_PREFIX=/your/prefix/here&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The most commonly used prefix would be /usr/X11R7, however, some other prefix inside /opt is entirely possible. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The XOrg7 profile is going to create some symlinks on your system:&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;/usr/X11 -&amp;gt; $MODULE_PREFIX; /usr by default&amp;lt;br /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;/usr/X11R6 -&amp;gt; $MODULE_PREFIX; /usr by default&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The X11R6 symlink is there for compatibility reasons. Many of the older and even some of the newer packages inside the moonbase have a hardcoded path pointing to /usr/X11R6 inside their source trees. Keeping the symlink prevents them from breaking apart.&lt;br /&gt;
&lt;br /&gt;
==Annoyances==&lt;br /&gt;
The latest NVIDIA driver doesn't support the current [http://lists.freedesktop.org/archives/xorg/2006-May/015396.html ABI changes] in X11R7.1. This means you will be lacking text in some programs. Gtk+-2 programs do not show this problem (though firefox does). Solution? Some have suggested that turning of the XRendeR acceleration should work (so add: Option      &amp;quot;RenderAccel&amp;quot; &amp;quot;false&amp;quot;). If that doesn't work i guess you'll have to use the opensource driver (xf86-video-nv) [http://www.nvnews.net/vbulletin/showthread.php?t=70570 threads] [http://www.nvnews.net/vbulletin/showthread.php?t=70476 on nvidia forum].&lt;br /&gt;
&lt;br /&gt;
==Missing modules from the XOrg 7.x modular tree==&lt;br /&gt;
&lt;br /&gt;
Despite our best efforts to give you the whole XOrg 7.x modular tree as modules to install there are still many of them left untouched either because they are not important to run a full featured X environment or nobody had the time to add them yet. As always contribution are welcome and appreciated:&lt;br /&gt;
&lt;br /&gt;
*x11-apps&lt;br /&gt;
**appres - list X application resource database&lt;br /&gt;
**lbxproxy - Low BandWidth X proxy&lt;br /&gt;
**luit - Convert terminal i/o from legacy encodings to UTF-8&lt;br /&gt;
**mkcfm - create summaries of CID font metric files&lt;br /&gt;
**oclock - round X clock&lt;br /&gt;
**proxymngr - proxy manager service&lt;br /&gt;
**scripts - run X command on another system via rsh&lt;br /&gt;
**sessreg - Register X sessions in system utmp/utmpx databases&lt;br /&gt;
**showfont - show information about X font from font server&lt;br /&gt;
**twm - simple window manager&lt;br /&gt;
**viewres - graphical class/resource browser for Xt&lt;br /&gt;
**xbiff - watch mailboxes for new message delivery&lt;br /&gt;
**xclipboard - X clipboard manager&lt;br /&gt;
**xdbedizzy - DBE sample&lt;br /&gt;
**xditview - display ditroff output&lt;br /&gt;
**xdm - list X application resource database&lt;br /&gt;
**xf86dga - known unto god&lt;br /&gt;
**xfd - display all the characters in an X font&lt;br /&gt;
**xfindproxy - locate proxy services&lt;br /&gt;
**xfontsel - point and click selection of X11 font names&lt;br /&gt;
**xfsinfo - X font server information utility&lt;br /&gt;
**xfwp - X Firewall Proxy&lt;br /&gt;
**xgc - X graphics demo&lt;br /&gt;
**xkbprint - print an XKB keyboard description&lt;br /&gt;
**xkill - kill a client by its X resource&lt;br /&gt;
**xload - system load average display for X&lt;br /&gt;
**xlogo - Draw [old] X logo&lt;br /&gt;
**xlsclients - list client applications running on a display&lt;br /&gt;
**xmag - magnify parts of the screen&lt;br /&gt;
**xphelloworld - Xprint sample applications&lt;br /&gt;
**xprehashprinterlist - Rehash list of Xprint printers&lt;br /&gt;
**xrx - &amp;quot;Broadway&amp;quot;&lt;br /&gt;
**xsetmode - set the mode for an X Input device&lt;br /&gt;
**xsetpointer - set an X Input device as the main pointer&lt;br /&gt;
**xsm - X Session Manager&lt;br /&gt;
**xstdcmap - X standard colormap utility&lt;br /&gt;
**xvidtune - video mode tuner for Xorg&lt;br /&gt;
*x11-data&lt;br /&gt;
COMPLETE&lt;br /&gt;
*x11-doc&lt;br /&gt;
**xorg-docs&lt;br /&gt;
**xorg-sgml-doctools&lt;br /&gt;
*x11-driver&lt;br /&gt;
**xf86-video-sunbw2&lt;br /&gt;
**xf86-video-suncg3&lt;br /&gt;
**xf86-video-suncg6&lt;br /&gt;
**xf86-video-suncg14&lt;br /&gt;
**xf86-video-sunffb&lt;br /&gt;
**xf86-video-sunleo&lt;br /&gt;
**xf86-video-suntcx&lt;br /&gt;
**xf86-video-tdfx&lt;br /&gt;
**xf86-video-tga&lt;br /&gt;
**xf86-video-trident&lt;br /&gt;
**xf86-video-tseng&lt;br /&gt;
*x11-extras&lt;br /&gt;
COMPLETE&lt;br /&gt;
*x11-font&lt;br /&gt;
**font-cronyx-cyrillic&lt;br /&gt;
**font-daewoo-misc&lt;br /&gt;
**font-dec-misc&lt;br /&gt;
**font-ibm-type1&lt;br /&gt;
**font-isas-misc&lt;br /&gt;
**font-jis-misc&lt;br /&gt;
**font-micro-misc&lt;br /&gt;
**font-misc-cyrillic&lt;br /&gt;
**font-misc-ethiopic&lt;br /&gt;
**font-misc-meltho&lt;br /&gt;
**font-mutt-misc&lt;br /&gt;
**font-schumacher-misc&lt;br /&gt;
**font-screen-cyrillic&lt;br /&gt;
**font-winitzki-cyrillic&lt;br /&gt;
*x11-lib&lt;br /&gt;
**libAppleWM - platform specific libraries: [MacOS]&lt;br /&gt;
**libWindowsWM - platform specific libraries: [Win32]&lt;br /&gt;
*x11-proto&lt;br /&gt;
**windowswmproto - platform specific protocol headers [Win32]&lt;br /&gt;
*x11-util&lt;br /&gt;
**lndir&lt;br /&gt;
*xserver&lt;br /&gt;
COMPLETE&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Help:Editing"/>
				<updated>2005-03-06T15:50:39Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
To edit a page, click on the &amp;quot;'''Edit this page'''&amp;quot; (or just &amp;quot;'''edit'''&amp;quot;) link at one of its edges. This will bring you to a page with a text box containing the ''[[wikitext]]'': the editable source code from which the server produces the webpage.&lt;br /&gt;
&lt;br /&gt;
After adding to or changing the wikitext it is useful to press &amp;quot;Show preview&amp;quot;, which produces the corresponding webpage in your browser but does not make it publicly available yet (not until you press &amp;quot;Save&amp;quot;). Errors in formatting, links, tables, etc., are often much easier to discover from the rendered page than from the raw wikitext. &lt;br /&gt;
&lt;br /&gt;
If you are not satisfied you can make more changes and preview the page as many times as necessary. Then write a short [[Help:Edit summary|edit summary]] in the small text field below the edit-box and when finished press &amp;quot;Save&amp;quot;. Depending on your system, pressing the &amp;quot;Enter&amp;quot; key while the edit box is not active (i.e., there is no typing cursor in it) may have the same effect as pressing &amp;quot;Save&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
You may find it more convenient to copy and paste the text first into your favorite [[en:text editor|text editor]], edit and spell check it there, and then paste it back into your [[en:web browser|web browser]] to preview. This way, you can also keep a local backup copy of the pages you have edited. It also allows you to make changes offline, but before you submit your changes, ''please make sure nobody else has edited the page'' since you saved your local copy (by checking the [[Help:page history|page history]]), otherwise you may accidently revert someone else's edits. If someone ''has'' edited it since you copied the page, you'll have to merge their edits into your new version (you can find their specific edits by using the &amp;quot;[[Help:diff|diff]]&amp;quot; feature of the page history). These issues are handled automatically by the Mediawiki software if you edit the page in your web browser.&lt;br /&gt;
&lt;br /&gt;
== Minor edits ==&lt;br /&gt;
When editing a page, a logged-in user has the option of flagging the edit as a &amp;quot;minor edit&amp;quot;. This feature is important, because users can choose to ''hide'' minor edits in their view of the Recent Changes page, to keep the volume of edits down to a manageable level.&lt;br /&gt;
&lt;br /&gt;
When to use this is somewhat a matter of personal preference. The rule of thumb is that an edit of a page that consists of spelling corrections, formatting, and minor rearranging of text should be flagged as a &amp;quot;minor edit&amp;quot;.  A major edit is basically something that makes the entry worth revisiting for somebody who wants to watch the article rather closely. So any &amp;quot;real&amp;quot; change, even if it is a single word, should be flagged as a &amp;quot;major edit&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The reason for not allowing a user who is not logged in to mark an edit as minor is that vandalism could then be marked as a minor edit, in which case it would stay unnoticed longer. This limitation is another reason to log in.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Credits: text taken from WikiMedia's [http://meta.wikimedia.org/wiki/Help:Editing help page].  Visit there for even more editing help.&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Help:Editing</id>
		<title>Help:Editing</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Help:Editing"/>
				<updated>2005-03-06T15:40:26Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
To edit a page, click on the &amp;quot;'''Edit this page'''&amp;quot; (or just &amp;quot;'''edit'''&amp;quot;) link at one of its edges. This will bring you to a page with a text box containing the ''[[wikitext]]'': the editable source code from which the server produces the webpage.&lt;br /&gt;
&lt;br /&gt;
After adding to or changing the wikitext it is useful to press &amp;quot;Show preview&amp;quot;, which produces the corresponding webpage in your browser but does not make it publicly available yet (not until you press &amp;quot;Save&amp;quot;). Errors in formatting, links, tables, etc., are often much easier to discover from the rendered page than from the raw wikitext. &lt;br /&gt;
&lt;br /&gt;
If you are not satisfied you can make more changes and preview the page as many times as necessary. Then write a short [[Help:Edit summary|edit summary]] in the small text field below the edit-box and when finished press &amp;quot;Save&amp;quot;. Depending on your system, pressing the &amp;quot;Enter&amp;quot; key while the edit box is not active (i.e., there is no typing cursor in it) may have the same effect as pressing &amp;quot;Save&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
You may find it more convenient to copy and paste the text first into your favorite [[en:text editor|text editor]], edit and spell check it there, and then paste it back into your [[en:web browser|web browser]] to preview. This way, you can also keep a local backup copy of the pages you have edited. It also allows you to make changes offline, but before you submit your changes, ''please make sure nobody else has edited the page'' since you saved your local copy (by checking the [[Help:page history|page history]]), otherwise you may accidently revert someone else's edits. If someone ''has'' edited it since you copied the page, you'll have to merge their edits into your new version (you can find their specific edits by using the &amp;quot;[[Help:diff|diff]]&amp;quot; feature of the page history). These issues are handled automatically by the Mediawiki software if you edit the page in your web browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Credits: text taken from WikiMedia's [http://meta.wikimedia.org/wiki/Help:Editing help page].  Visit there for even more editing help.&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/User:V3rt1g0</id>
		<title>User:V3rt1g0</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/User:V3rt1g0"/>
				<updated>2005-03-06T15:09:17Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Wikipedia:en:User:v3rt1g0]]&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/User:V3rt1g0/standard.css</id>
		<title>User:V3rt1g0/standard.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/User:V3rt1g0/standard.css"/>
				<updated>2005-03-05T16:30:33Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.file {&lt;br /&gt;
  color: red;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	<entry>
		<id>http://wiki.lunar-linux.org/Moonbase</id>
		<title>Moonbase</title>
		<link rel="alternate" type="text/html" href="http://wiki.lunar-linux.org/Moonbase"/>
				<updated>2005-03-05T16:12:18Z</updated>
		
		<summary type="html">&lt;p&gt;V3rt1g0: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The moonbase is the complete collection of all the software packages (modules) that Lunar-Linux offers its users. It is organized in a hierarchical structure of directories and files; usually found on the user's system at &amp;lt;code&amp;gt;/var/lib/lunar/moonbase&amp;lt;/code&amp;gt;. Generically speaking, the moonbase is just a directory with stuff (sub-directories and files) inside it.&lt;br /&gt;
&lt;br /&gt;
The moonbase's first level of structure/organization is a section. A section is a name that serves to classify and organize a group of modules into logical partitions. Each section is simply a sub-directory that resides right below the root of the moonbase. So, if the section's name is &amp;quot;games,&amp;quot; it will be found at &amp;lt;code&amp;gt;/var/lib/lunar/moonbase/games&amp;lt;/code&amp;gt; and hopefully will contain all of the game related modules.&lt;br /&gt;
&lt;br /&gt;
Below each section is a collection of sub-directories. Each of these sub-directories represent a single module that &amp;quot;belongs&amp;quot; to that section of the moonbase. A module, to be a bit simplistic, is a set of one more more files under a directory that are &amp;quot;instructions&amp;quot; to perform a task. Namely, instructions to compile and then install what was compiled onto the user's file-system. So if we had a module named FooGame that was located in the &amp;quot;games&amp;quot; section of the moonbase, we would find a directory called FooGame at &amp;lt;code&amp;gt;/var/lib/lunar/moonbase/games/FooGame&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To summarize, installable software packages are called modules. The collection of all of the modules is called the moonbase, which is simply a directory containing logical sections (sub-directories) which, in turn, contain the modules directories.&lt;br /&gt;
&lt;br /&gt;
 Moonbase&lt;br /&gt;
 |&lt;br /&gt;
 |--Sections&lt;br /&gt;
    |&lt;br /&gt;
    |--Modules&lt;br /&gt;
       |&lt;br /&gt;
       |--Files (as described elsewhere)&lt;/div&gt;</summary>
		<author><name>V3rt1g0</name></author>	</entry>

	</feed>