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.
37 lines
1.6 KiB
37 lines
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
|
|
|