Tcl Packaging Glossary

Hypnotoad Writes:

When dealing with Tcl packaging, our conventional terms for things get fuzzy.

Here are the cases that Hypnotoad has encountered in his travels, and needs the community to come to a consensus about what to call them:

`

  1. tclkit - A binary executable that can take on a VFS payload but has not yet
  2. starkit - A VFS that contains libraries of tools for a general purpose shell.
  3. starpack - A #1 that has #2 attached
  4. starkit - A VFS that acts as a single application
  5. starpack - A #1 that has #4 attached
  6. starkit - A VFS that acts as a suite of tools, which tool is decided by command line arguments
  7. starpack - A #1 that has #6 attached
  8. A Binary package that requires a pure-tcl package to be co-installed
  9. A Pure-Tcl package that exists solely to service a binary package
 10. A #8 which is bundled in a VFS
 11. A #8 which is statically linked to an executable
 12. A #9 which is installed in a VFS
 13. A #9 which is appended to the end of a dynamic library
 14. A collection of pure-tcl packages that can be broken apart (ala Tcllib)
 15. A standalone package that is within Item #14
 16. #15, installed in a VFS
 17. A C accelerated alternative to a #15 which is embedded in a DLL installed to a VFS
 18. A C accelerated alternative to a #15 which is statically linked to a #1
 19. A collection of #17s that are assembled into a dynamic library
 20. A collection of #17s that are assembled into a static library
 21. A #1 which contains a starter VFS for bootstrapping but is not the object's final form
 22. The guts of the Tcl core that any standalone executable will need (which itself may bundle a VFS)

`


hypnotoad - 2018-10-22 19:16:48

One approach would be to look for a domain that already handles packaging and look for allegorical cases to the ones we are trying to cover (i.e. shipping or manufacturing). Another approach would be to use a stream of nonsense words generated at random. Words generated at random from a script I have handy:

itetra seihaym ucreillu liglaw heaucav oiflaighu efrurua agraju bagrun iujaety egoepho quunex ooslossu eroli aheakri uaceise edeodo epomio ochemeu frapik kinkub dipev adfogi thinif fiikit aasciayo

chw - 2018-10-22 20:34:17

What about borrowing terminology from brewing, anatomy, cooking, or mixing drinks?


hypnotoad - 2018-10-22 23:43:32

Steve Landers had some feedback from the road:

 #1 is a tclkit
 #2, #4, and #6 are a starkit (or *kit). How you use it doesn't matter. And the encoding technology doesn't matter.
 #3, #5, and #7 are a starpack (or *pack).

Given the deep history of these terms (2003), I agree with him that we should carry them forward.

As far as chw's suggestion, maybe we look at brewing as a start for binary extensions. And maybe library terms for the packaging side of the house?