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

	<entry>
		<id>http://doc.lunar-linux.org/Module_Guidelines</id>
		<title>Module Guidelines</title>
		<link rel="alternate" type="text/html" href="http://doc.lunar-linux.org/Module_Guidelines"/>
				<updated>2007-04-11T09:39:22Z</updated>
		
		<summary type="html">&lt;p&gt;TvgEm9: &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 &amp;lt;code&amp;gt;SHORT=&amp;quot;MyModle is an application designed to take over the world.&amp;quot;&amp;lt;/code&amp;gt; you should use &amp;lt;code&amp;gt;SHORT=&amp;quot;an application designed to take over the world&amp;quot;&amp;lt;/code&amp;gt;&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 &amp;lt;code&amp;gt;SOURCE_DIRECTORY=&amp;lt;/code&amp;gt; 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;
* Make sure to check whether a module is '''PSAFE''' or not. A lot of programs fail to build with parallel makes.&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&lt;/div&gt;</summary>
		<author><name>TvgEm9</name></author>	</entry>

	</feed>