Module Submission

From Lunar Linux
(Difference between revisions)
Jump to: navigation, search
m (why the submissions may not be processed immediately)
m (Added a header for the acceptance/rejection criteria)
 
(8 intermediate revisions by one user not shown)
Line 9: Line 9:
 
Well obviously you can report the problem via
 
Well obviously you can report the problem via
 
the [http://bugs.lunar-linux.org/view_all_bug_page.php Bug Tracker],
 
the [http://bugs.lunar-linux.org/view_all_bug_page.php Bug Tracker],
the [http://forums.lunar-linux.org/ Forums],
 
 
the [http://lunar-linux.org/mailman/listinfo/lunar Lunar Mailing-List], or discuss it on
 
the [http://lunar-linux.org/mailman/listinfo/lunar Lunar Mailing-List], or discuss it on
 
the [irc://irc.freenode.net/lunar #Lunar] IRC channel on [http://freenode.net/ Freenode.net]
 
the [irc://irc.freenode.net/lunar #Lunar] IRC channel on [http://freenode.net/ Freenode.net]
Line 25: Line 24:
 
So why not submit it to the Lunar developers so they can decide whether to commit it to the [[Moonbase]]?
 
So why not submit it to the Lunar developers so they can decide whether to commit it to the [[Moonbase]]?
  
====So what do you need to update and submit a module?====
+
====What are the acceptance/rejection criteria for submissions?====
  
Let's assume that you have found the ''theModule'' no longer downloads and installs properly and you want to fix it.
+
* In general, module submissions will probably be accepted if they:
 +
: + introduce a new or missing module into the moonbase;
 +
: + provide an updated version of a module;
 +
: + provide updated download and website URLs;
 +
: + provide missing dependencies required to build the module;
 +
: + add BUILD options that enable a failing module to build.
  
* '''subscribe to the [http://lunar-linux.org/mailman/listinfo/lunar Lunar Mailing-List].''' Not sure if this is still required, but why not do it now anyway? Other users might have feedback about the module.
+
* However, module submissions are likely to be rejected if they:
 +
: - do not follow the formatting guidelines given on the wiki;
 +
: - fail to download sources correctly, or fail to build;
 +
: - introduce system specific changes that not all users will want;
 +
: - remove explicit dependencies in favour of implicit ones;
 +
: - form part part of a larger suite of modules that need to be updated and tested together, such as an X, KDE or GNOME component;
 +
: - introduce an svn or git development version of a module that already has a recent, stable version;
 +
: - change a core module, or one which is known to cause update problems for other tools.
 +
 
 +
====How do I create a new module?====
 +
 
 +
The easiest way is to run '''lvu new''' ''theModule''. It will ask for URLs for the source tarball and the website, and for short and long description entries, and then create a basic [[DETAILS]] file for you. Then follow the guidelines below.
 +
 
 +
====How do I update a module?====
 +
 
 +
Let's assume that you have found the ''theModule'' no longer downloads and installs properly and you want to fix it.
  
 
* run '''lvu edit''' '''''theModule''''' to copy the existing ''theModule'' files to [[zlocal]].
 
* run '''lvu edit''' '''''theModule''''' to copy the existing ''theModule'' files to [[zlocal]].
 
* run '''lvu cd''' '''''theModule''''' or manually change into the directory given by ''lvu edit''
 
* run '''lvu cd''' '''''theModule''''' or manually change into the directory given by ''lvu edit''
* edit the [http://wiki.lunar-linux.org/index.php/Module_Basics#The_DETAILS_script DETAILS] file and modify the version number to the latest one available
+
* edit the [http://wiki.lunar-linux.org/index.php/Module_Basics#The_DETAILS_script DETAILS] file
* edit the ''UPDATED'' date to today's date
+
* if you are updating because there is a new release:
* run '''lget''' '''''theModule''''' and see if the new version downloads OK
+
** modify the version number to the latest one available
* run '''sha1sum /var/spool/lunar/theModule-(whatever the new file name is)'''
+
** edit the ''UPDATED'' date to today's date
* insert this checksum in the ''SOURCE_VFY'' field in the [http://wiki.lunar-linux.org/index.php/Module_Basics#The_DETAILS_script DETAILS] file
+
** run '''lget''' '''''theModule''''' and see if the new version downloads OK
 
+
** run '''sha1sum /var/spool/lunar/theModule-(whatever the new file name is)'''
 +
** insert this checksum in the ''SOURCE_VFY'' field in the [http://wiki.lunar-linux.org/index.php/Module_Basics#The_DETAILS_script DETAILS] file
 +
* if you are correcting a broken link or sha1sum without changing the version:
 +
** leave the ''UPDATED'' field as it was so that people will not be forced to download and re-install
 
* run '''lin''' '''''theModule''''' and test, test and test again
 
* run '''lin''' '''''theModule''''' and test, test and test again
 +
** run '''lvu install''' '''''theModule''''' to make sure that it has not installed files where it shouldn't
 +
** run '''lvu links''' '''''theModule''''' and check whether you need to create or update [[DEPENDS]]
 +
 +
Many modules only require a [[DETAILS]] file. Others may also need [[DEPENDS]], [[BUILD]], etc. or require '''x86_64''' versions of the files. See [[Module_Basics]] for more information.
 +
 +
====How do I submit the module?====
 +
 +
Once you have successfully installed the module using '''lin -rc''' ''theModule'':
 +
 +
* '''subscribe to the [http://lunar-linux.org/mailman/listinfo/lunar Lunar Mailing-List].''' Not sure if this is still required, but why not do it now anyway? Other users might have feedback about the module.
  
 
* if you haven't already done so, you will need run '''lunar set ADMIN''' '''''your@e-mail.adress''''', or run '''lunar''' and follow the menus, before the next step in order for the submission script to work (it requires a valid e-mail address).
 
* if you haven't already done so, you will need run '''lunar set ADMIN''' '''''your@e-mail.adress''''', or run '''lunar''' and follow the menus, before the next step in order for the submission script to work (it requires a valid e-mail address).
  
* if it all works, run '''lvu submit''' '''''theModule''''' and provide a meaningful message (see Note below).
+
* run '''lvu submit''' '''''theModule''''' and provide a meaningful message (see Note below).
 
* you should receive e-mail feedback whether your submission was accepted or the reasons for rejection but remember that:
 
* you should receive e-mail feedback whether your submission was accepted or the reasons for rejection but remember that:
 
# the Lunar development team is quite small,
 
# the Lunar development team is quite small,
Line 53: Line 85:
 
====The view from the developers' side!====
 
====The view from the developers' side!====
  
For an idea of how the developers process the submissions, see [[Module_Submission_for_developers]]
+
For an idea of how the developers process the submissions, see [[Module_Submission_for_developers]] and [[GitForLunarDevs]]

Latest revision as of 20:03, 22 April 2011

Contents

Submitting modules to the official Moonbase

Why would I want to?

The official Moonbase is maintained and updated by the Lunar Linux developers. But what if there isn't a module in the Moonbase for the package that you want, or it is not the latest version, or it is out-of-date in some other way?

Well obviously you can report the problem via the Bug Tracker, the Lunar Mailing-List, or discuss it on the #Lunar IRC channel on Freenode.net and hope that someone can help you.

Or you can scratch your itch the open source way and create or update the module yourself using the information in the articles: A basic module outline and Writing Lunar-Linux Modules. Remember to work in the zlocal section so that your updates are not lost the next time you download a new Moonbase.

And then what? Maybe other people could benefit from your module. Maybe other people could improve your module. So why not submit it to the Lunar developers so they can decide whether to commit it to the Moonbase?

What are the acceptance/rejection criteria for submissions?

  • In general, module submissions will probably be accepted if they:
+ introduce a new or missing module into the moonbase;
+ provide an updated version of a module;
+ provide updated download and website URLs;
+ provide missing dependencies required to build the module;
+ add BUILD options that enable a failing module to build.
  • However, module submissions are likely to be rejected if they:
- do not follow the formatting guidelines given on the wiki;
- fail to download sources correctly, or fail to build;
- introduce system specific changes that not all users will want;
- remove explicit dependencies in favour of implicit ones;
- form part part of a larger suite of modules that need to be updated and tested together, such as an X, KDE or GNOME component;
- introduce an svn or git development version of a module that already has a recent, stable version;
- change a core module, or one which is known to cause update problems for other tools.

How do I create a new module?

The easiest way is to run lvu new theModule. It will ask for URLs for the source tarball and the website, and for short and long description entries, and then create a basic DETAILS file for you. Then follow the guidelines below.

How do I update a module?

Let's assume that you have found the theModule no longer downloads and installs properly and you want to fix it.

  • run lvu edit theModule to copy the existing theModule files to zlocal.
  • run lvu cd theModule or manually change into the directory given by lvu edit
  • edit the DETAILS file
  • if you are updating because there is a new release:
    • modify the version number to the latest one available
    • edit the UPDATED date to today's date
    • run lget theModule and see if the new version downloads OK
    • run sha1sum /var/spool/lunar/theModule-(whatever the new file name is)
    • insert this checksum in the SOURCE_VFY field in the DETAILS file
  • if you are correcting a broken link or sha1sum without changing the version:
    • leave the UPDATED field as it was so that people will not be forced to download and re-install
  • run lin theModule and test, test and test again
    • run lvu install theModule to make sure that it has not installed files where it shouldn't
    • run lvu links theModule and check whether you need to create or update DEPENDS

Many modules only require a DETAILS file. Others may also need DEPENDS, BUILD, etc. or require x86_64 versions of the files. See Module_Basics for more information.

How do I submit the module?

Once you have successfully installed the module using lin -rc theModule:

  • subscribe to the Lunar Mailing-List. Not sure if this is still required, but why not do it now anyway? Other users might have feedback about the module.
  • if you haven't already done so, you will need run lunar set ADMIN your@e-mail.adress, or run lunar and follow the menus, before the next step in order for the submission script to work (it requires a valid e-mail address).
  • run lvu submit theModule and provide a meaningful message (see Note below).
  • you should receive e-mail feedback whether your submission was accepted or the reasons for rejection but remember that:
  1. the Lunar development team is quite small,
  2. they are all working in their spare time, and have real lives and other commitments,
  3. some of the submissions require specific hardware/software environments to be able to install and test them properly

Note: The first line of the message will be visible on the on-line Submission queue. Give the reasons why the module has been updated, and what you have changed. This message can then be used directly when submitting the changes to the central moonbase.

The view from the developers' side!

For an idea of how the developers process the submissions, see Module_Submission_for_developers and GitForLunarDevs

Personal tools
Namespaces
Variants
Actions
Wiki Navigation
Project Sites
Toolbox