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]]