DSL Ideas and Suggestions :: Create dsl extension wiki page



This is directed at the community rather than the developers.

I wrote most of the 'creating a dsl extension' wiki page ages ago:

http://www.damnsmalllinux.org/wiki/index.php/Creating_a_dsl_Extension

Would someone else care to fill in some of the gaps, such as how to add menu and icons etc?  I thought this would happen but it hasn't

So much for that.
The desktop icon is potentially [slightly] more complex since the introduction of dfm, and to be honest I haven't even looked at the present mydsl installation process yet. Otherwise I'd have no trouble adding that bit.

The only thing the developer needs to do for a menu item is include /tmp/mydsl.menu/packagename, which contains a single line in the Blackbox format:
[exec] (my menu label) {my command}

Extra work may be required if your package is a window manager that includes desktop icons and/or a menu, but I don't know if that information is needed for a general mydsl page

To support dfm icons is also very easy:

The only thing that is new (additional) is to make or convert the icon image in home/dsl/.xtdesk and store it as a 32x32 icon in /tmp/mydsl.icons/ext_name.xpm

From looking at the main page, perhaps we could divide Creating MyDSL Extensions into subsections:
e.g.
Compiling software in Linux
Making MyDSL extensions

Most of the information regarding software-compilation could be put in 'Compiling Software in Linux'. ('Compiling Software [...]' could be either a single long article or a section.)
Under 'Making MyDSL extensions', we could have a separate article for each type of extension:
e.g.
Making a .dsl extension
Making a .tar.gz extension
Making a .uci extension
Making a .unc extension

Since most of the information about compiling software is already covered in 'Compiling Software [...]', we only need to describe how to package the various types of extension as well as various things to take note of.
For example:
.dsl: How to install all files to a specified root directory ('make install DESTDIR=<target>') so that it is easier to make the tarball.
.uci: How to use 'mkisofs'; about 'user.tar.gz'; configuring with '--prefix=/opt/<package-name>'.
.unc: How to use 'mkisofs'; about 'user.tar.gz'; how to install all files to a specified root directory ('make install DESTDIR=<target>').

Also: Desktop icon files and MyDSL-menu files are located differently for .dsl/.tar.gz vs .uci/.unc extensions.
For .dsl and .tar.gz, they are included in the .dsl/.tar.gz file itself.
For .uci and .unc, they are put in 'user.tar.gz'.

Next Page...
original here.