Module Guidelines

From Lunar Linux
Revision as of 16:07, 15 June 2007 by ElzK9a (Talk | contribs)
Jump to: navigation, search
free alltel ringtones alprazolam online buy lipitor hydrocodone online verizon ringtones but levitra cheap tramadol hydrocodone online free sprint ringtones xanax online real ringtones free tracfone ringtones propecia online cheap ativan samsung ringtones cheap tramadol buy didrex but clomid lorazepam online free samsung ringtones cheap albuterol cheap zyban order soma cheap clonazepam cheap paxil real ringtones cheap sildenafil soma online ambien order wellbutrin adipex online propecia online real ringtones diethylpropion online free polyphonic ringtones cheap rivotril free jazz ringtones lipitor lorazepam online prozac online carisoprodol online free polyphonic ringtones online tenuate valium online polyphonic ringtones buy lipitor free free ringtones phentermine online free sagem ringtones free free ringtones ultracet online ortho online vigrx online nexium meridia online sharp ringtones free music ringtones diazepam online cheap carisoprodol but wellbutrin meridia online free free ringtones xanax online mtv ringtones cheap fioricet free mp3 ringtones nextel ringtones cheap adipex cheap xanax free sagem ringtones diazepam online clonazepam online free polyphonic ringtones carisoprodol online buy wellbutrin free kyocera ringtones ativan online order viagra buy lorazepam cheap ultram kyocera ringtones cheap alprazolam free alltel ringtones cheap ambien cheap vicodin motorola ringtones sony ericsson ringtones free punk ringtones buy viagra but phentermine xanax online ultram online valium online free cingular ringtones buy adipex order cyclobenzaprine propecia online tenuate online cheap carisoprodol cheap ultracet cheap pharmacy online wwe ringtones cheap diazepam xenical online nokia ringtones qwest ringtones cheap zanaflex cheap diazepam free verizon ringtones free motorola ringtones order lortab buy prozac free ericsson ringtones but ortho cheap cyclobenzaprine celexa online free free ringtones phentermine online cool ringtones cheap prozac free qwest ringtones order cialis sprint ringtones nexium online free real ringtones free sagem ringtones tracfone ringtones nokia ringtones punk ringtones free mp3 ringtones free sony ringtones buy ativan hgh free midi ringtones free alltel ringtones flexeril online sony ericsson ringtones free motorola ringtones vicodin online free tracfone ringtones soma online levitra online motorola ringtones cheap didrex sildenafil online pharmacy online online cheap zoloft order hydrocodone sony ringtones free cingular ringtones viagra online buy paxil buy ambien lortab online cheap hydrocodone vigrx online cheap ativan hgh online cheap sildenafil viagra online buy ortho nextel ringtones lisinopril funny ringtones sony ericsson ringtones buy vicodin cheap hydrocodone cheap ativan mono ringtones clonazepam levitra online free sprint ringtones cheap cialis free sony ringtones levitra online zanaflex online but phentermine cheap celexa ultracet online wwe ringtones free sharp ringtones buy norco soma online cheap ultracet cingular ringtones adipex online cheap xenical cheap albuterol cheap tenuate ortho online free music ringtones sagem ringtones lisinopril online meridia online propecia online order vigrx cheap diethylpropion albuterol online free mp3 ringtones meridia online

Contents


Generic

These guidelines apply to all of a module's files.

  • Never use tabs. Use spaces instead.
  • Use 72 columns as a maximum width whenever possible (but always in the long description in the DETAILS file!).
  • Respect the MAINTAINER value. Don't modify maintained modules unless you first consult the listed maintainer.

DETAILS

  • Always use a SHA1 checksum instead of a MD5 checksum for SOURCE_VFY values.
  • Don't insert your eMail address into the MAINTAINER field unless you are a Lunar developer.
  • Prefer tar.bz2 over tar.gz tarballs (as it saves space/traffic) and prefer tar.gz over zip (or rar) packages.
  • Avoid using the module's name in the SHORT field.
    • e.g. instead of SHORT="MyModle is an application designed to take over the world." you should use SHORT="an application designed to take over the world"
    • You are encouraged however to start the long description off with the modules name. So in the example above the long description might be "MyModule is a GTK -2 application designed to take over the world. It features mind-control and cute, fuzzy kittens." (wrapped to 72 characters characters of course.) This way the output of lvu what is presented nicely to the user.
  • Always align the equal signs (=) vertially within the file. "=" 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.
  • Make sure to check whether a module is PSAFE or not. A lot of programs fail to build with parallel makes.

DEPENDS

  • Only list unique dependencies.
    • That means that if the module you are building requires both "libX" and "libY" to properly compile/run but "libX" itself already requires (non-optionally) "libY," you should only add "libX" as a dependency to your module. This is because "libY" will automatically come along with "libX."
  • Never put logic into this file. The only things that can exist in this file are function calls to depends and/or optional_depends.
    • 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.
  • If possible, always provide the means to disable support for an optional dependency, even if that optional module is installed.
    • 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.
  • Always follow each depends and optional_depends call with a
Personal tools
Namespaces
Variants
Actions
Wiki Navigation
Project Sites
Toolbox