Welcome to the Tiny Core Linux Wiki at tinycorelinux.net!

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

wiki:creating_meta-extensions [2011/05/05 14:45] (current)
Line 1: Line 1:
 +
 +
 +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
 +  * <code>
 +mkdir -p myext/usr/local/share/myext
 +</code>
 +  * populate it (by creating/adding useful files):
 +  * *readme file
 +  * *<code>
 +echo "This is a meta extension" > myext/usr/local/share/myext/readme
 +</code>
 +  * *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
 +  * *<code> 'myext/usr/local/tce.installed/myext' </code>
 +  * **then adjust permissions of both 'tce.installed' directory and 'tce.installed script' to 775 and ownership to root.staff:
 +  * *<code>
 +sudo chmod -R 775 myext/usr/local/tce.installed
 +sudo chown -R root.staff myext/usr/local/tce.installed
 +</code>
 +  * create the extension (by squashing 'myext' directory )
 +  * <code>
 +mksquashfs myext myext.tcz
 +</code>
 +{VERSIONS}
 +
 +====== #- Create '.dep' file ======
 +  * add to dep list whatever you want
 +  * <code>
 +echo "dep1.tcz" >> myext.tcz.dep
 +echo "dep2.tcz" >> myext.tcz.dep
 +</code>
 +
 +====== #- Create '.list', '.md5.txt' and '.info' files (needed only to submit to the official repository) ======
 +  * <code>
 +cd myext
 +find usr -not -type d > ../myext.tcz.list
 +md5sum myext.tcz > myext.tcz.md5.txt
 +</code>
 +  * 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]]
  
Print/export