| Both sides previous revisionPrevious revisionNext revision | Previous revision | 
| wiki:creating_extensions [2025/05/23 11:38]  – [Abbreviated steps]  GNUser | wiki:creating_extensions [2025/05/23 15:07] (current)  – [Abbreviated steps]  GNUser | 
|---|
|   - **$ mksquashfs /tmp/package foo.tcz** (note that the files inside ///tmp/package// should be already stripped and you should have already separated out documentation, locale, and development files--see steps 2 and 3 above) |   - **$ mksquashfs /tmp/package foo.tcz** (note that the files inside ///tmp/package// should be already stripped and you should have already separated out documentation, locale, and development files--see steps 2 and 3 above) | 
|   - **create a project directory**: create an empty project directory (you can call it //~/foo_project//, for example) and copy //foo.tcz// into the project directory |   - **create a project directory**: create an empty project directory (you can call it //~/foo_project//, for example) and copy //foo.tcz// into the project directory | 
|   - **add these support files to project directory**: source code tarball, text file with notes on how you compiled the applicaiton (you can call it //compile_foo//), //foo.tcz.dep// (if applicable), //foo.tcz.info//--note that other than the source code tarball, all other support files are just plaintext files |   - **add these support files to project directory**: source code tarball, text file with notes on how you compiled the applicaiton (you can call it //compile_foo//), //foo.tcz.dep// (only applicable if //foo.tcz// has runtime dependencies), //foo.tcz.info//—note that other than the source code tarball, all other support files are just plaintext files | 
|   - **$ cd ~/foo_project; submitqc**: run the [[https://github.com/tinycorelinux/submitqc|submitqc script]] in your project directory; the script will run some checks on //foo.tcz// and will create //foo.tcz.list//, //foo.tcz.md5.txt//, and //foo.tcz.zsync// inside your project directory |   - **$ cd ~/foo_project; submitqc**: run the [[https://github.com/tinycorelinux/submitqc|submitqc script]] in your project directory; the script will run some checks on //foo.tcz// and will create //foo.tcz.list//, //foo.tcz.md5.txt//, and //foo.tcz.zsync// inside your project directory | 
|   - **final check**: a complete project directory should contain //foo.tcz// (the extension itself), source code tarball, //compile_foo// (your compilation notes), //foo.tcz.dep// (if applicable), //foo.tcz.info//, //foo.tcz.list//, //foo.tcz.md5.txt//, and //foo.tcz.zsync// |   - **final check**: a complete project directory should contain //foo.tcz// (the extension itself), source code tarball, //compile_foo// (your compilation notes), //foo.tcz.dep// (if applicable), //foo.tcz.info//, //foo.tcz.list//, //foo.tcz.md5.txt//, and //foo.tcz.zsync// | 
|   - **$ tar -cvzf foo.tar.gz ~/foo_project; bcrypt foo.tar.gz**: when //bcrypt// prompts you for a password, use //tinycore// (bcrypting is used confuse spam filters, which tend to flag unencrypted tarballs as "dangerous")  |   - **$ tar -cvzf foo.tar.gz ~/foo_project; bcrypt foo.tar.gz**: bcrypt is used evade our spam filter, which detects and blocks tarballs; when //bcrypt// prompts you for a password, use //tinycore//; this step produces //foo.tar.gz.bfe//  | 
|   - **email** //foo.tar.gz.bfe// (bcrypted tarball) as an attachment to Tiny Core Linux team (tcesubmit AT gmail DOT com) |   - **email** //foo.tar.gz.bfe// as an attachment to Tiny Core Linux team (tcesubmit AT gmail DOT com) | 
 |  | 
| **Note** *.la files should not be included in -dev extensions anymore. See [[http://forum.tinycorelinux.net/index.php/topic,26201.0.html|this topic]]. | **Note** *.la files should not be included in -dev extensions anymore. See [[http://forum.tinycorelinux.net/index.php/topic,26201.0.html|this topic]]. |