A Meta-extension is a kind of extension that is useful when a set of related utilities or applications that usually work together (like a development chain), are needed to be installed altogether in one time. This will simplify the installation process.
It is based on the idea that the meta-extension itself is sufficient to be a squashed empty file, and only the needed extensions (.tcz) are listed as dependencies in its '.dep' file.
As a reminder, a submitted extension requires other than those '.tcz' and '.dep' files, the files '.list', '.md5.txt' and '.info' as well.
====== #- Create the '.tcz' file ======
{VERSIONS(nav=>y,title=>y,default=>latest)}
* --(latest)---
Use an existing meta-extension such as compiletc.tcz. Or create an empty squashfs archive.
* --(before 3.3)---
* create an empty directory structure
*
mkdir -p myext/usr/local/share/myext
* populate it (by creating/adding useful files):
* *readme file
* *
echo "This is a meta extension" > myext/usr/local/share/myext/readme
* *startup script that is run just after the extension is loaded. (the script name must be the same as the extension name)
* **Put your commands in
* * 'myext/usr/local/tce.installed/myext'
* **then adjust permissions of both 'tce.installed' directory and 'tce.installed script' to 775 and ownership to root.staff:
* *
sudo chmod -R 775 myext/usr/local/tce.installed
sudo chown -R root.staff myext/usr/local/tce.installed
* create the extension (by squashing 'myext' directory )
*
mksquashfs myext myext.tcz
{VERSIONS}
====== #- Create '.dep' file ======
* add to dep list whatever you want
*
echo "dep1.tcz" >> myext.tcz.dep
echo "dep2.tcz" >> myext.tcz.dep
====== #- Create '.list', '.md5.txt' and '.info' files (needed only to submit to the official repository) ======
*
cd myext
find usr -not -type d > ../myext.tcz.list
md5sum myext.tcz > myext.tcz.md5.txt
* and you need to prepare an info file (myext.tcz.info)
take one sample from
* [[http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/tcz_3x.html ]]
====== X- USEFUL LINKS ======
see for related wiki page and official guide for details:
* [[http://wiki.tinycorelinux.com/Creating+Extensions]]
* [[http://forum.tinycorelinux.net/index.php?topic=330.0]]