Plugin system is underway!

It was one of my ideas to make relinux 0.4 modular, and with the help of  the “imp” python module, a plugin system is now being developed!

This means that if you only want a certain module of relinux, you don’t have to install the whole program, you can just install that one module. It also means that any developers who want to write an extra part of relinux don’t have to maintain a fork; they just have to maintain their plugin.

As always, you can check the progress here: https://github.com/MiJyn/relinux

Some ideas we had

In the last few months, we were thinking about stopping relinux and starting a new project (we then cancelled the idea afterwards), but we had a few different ideas for the other project, so I’d like to share some of them with you.

  1. Web interface for collaboration. This would mean that the computer building the ISO was actually a server and sent SSH and VNC access to the website, where all the collaborators could work on the system. This, of course, has its downfalls, but I think it’s a good concept.
  2. As we were experimenting with more resource-hungry and heavyweight languages (Java and Ruby), we were thinking of using a different way of making the ISO. Instead of doing all of the configuration on the system who makes the ISO, we were thinking of having another machine do all of the work, generate a “custom weaver” (i.e. the tool that makes the ISO), and run that on the machine that generates the ISO. Again, this has its downfalls, and it will probably not land in relinux.
  3. Make all communications from the ISO generator to the interface (GUI or TUI) utilize sockets. This idea was killed pretty soon as it is totally overkill. We replaced this by using common variables that keep on getting changed by the threads.
  4. Threading. As I mentioned 2 posts ago, threading will be included in 0.4 (I hope even in the first alpha, but might be delayed).

If you have any ideas, let us know!

New configuration file format

Since relinux 0.4 is to be coded in C++, there is no easy way to parse a configuration file, and since the old format can make relinux trip up, there is no reason why we shouldn’t make a better format.

The new format is much easier to read:
Old Format:
# NAME=Work Directory
# DESCRIPTION=The work directory of relinux, which will also be where the generated ISO file will be located
# TYPE=filename
WORKDIR="/home/relinux"

New Format:
(Description for Work Directory: The work directory of relinux, which will also be where the generated ISO file will be located)
(Format for Work Directory: Filename)
Work Directory = /home/relinux

Some other advantages of the new format is that comments can be anywhere:
...
Work Directory = /home/relinux (I like to place my things under /home)
...
Enable(This is a comment) WU(I can place a comment anywhere!)BI = Yes (Yet another comment)

Also, you can put any number of spaces with the = sign:

Work Directory     =            /home/relinux

Good news for CLI users of relinux 0.4!

We will have an Ncurses interface on the CLI (Command Line Interface) of relinux! So no more geeky terminal output, but a nice and slick interface!

I’m working on a library (EZ Ncurses) to make the usage of Ncurses easier, so development is really sped up (not mentioning that we have another programmer in our team, making a team of 4 people working on this, with 2 contributers)!

Relinux Feature – Virtual Environment!

Some of you might not have a spare machine, a VM (like VirtualBox), or a separate partition to run relinux. Now there will  be a feature to create a system from any box! This will let you control the system like as if it was your own, without any RAM dealing problems like VM’s have.

Here is the Blueprint page: https://blueprints.launchpad.net/relinux/+spec/relinux-add-chroot