minimal AppImage-like portable packaging system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tarinstall/PROCESS.md

1.6 KiB

Making a tarinstall

Detailed creation process

  1. A temporary directory is created, from now it will be referred to as tmp/
  2. Inside tmp/ the structure is created (bin/, lib/, env, etc.)
  3. The file tmp/id gets written
  4. tmp/bin/ gets populated with the executables listed in the deps file
  5. The binaries inside tmp/bin/ get read and the list of shared libraries gets written to liblist
  6. The liblist file gets read and all the necessary libraries get downloaded and/or copied to tmp/lib/, then liblist gets deleted
  7. The tmp/env gets generated
  8. The tmp/man/ and tmp/ext/ directories get populated with the right files
  9. The checksum for the files inside tmp gets calculated and written to tmp/checksum
  10. The tmp directory gets compressed as a tar archive
  11. The decompressor and loader programs get applied to the tar archive
  12. The archive gets renamed <id>.ti and granted executable permission

The project's root directory structure

The project's root directory has to contain a subdirectory called tarinstall which has to contain the following elements:

  • id file: contains the id name of the program
  • type file: contains the type of project
  • deps file: contains a list of the binary files that the program uses

Types of project

The type file may contain one or more of these option separated by a newline in order to determine which binaries/libraries to download or copy from the system and in order to generate the right env file. This requirement may be removed in favour of automatic recognition.

  • C (also the option for C++)
  • python
  • go
  • perl