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?
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?
- 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
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 firstname.lastname@example.org, 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:
- the Lunar development team is quite small,
- they are all working in their spare time, and have real lives and other commitments,
- 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.