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 * *<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:
  • *
    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

X- USEFUL LINKS

Print/export
QR Code
QR Code wiki:creating_meta-extensions (generated for current page)