parent
7f342df5d3
commit
f865965e7c
@ -0,0 +1,39 @@ |
||||
# 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 binaries inside `tmp/bin/` get modified so that their `RPATH` value points |
||||
to `tmp/lib` |
||||
8. The `tmp/env` gets generated |
||||
9. The `tmp/man/` and `tmp/ext/` directories get populated with the right files |
||||
10. The checksum for the files inside `tmp` gets calculated and written to |
||||
`tmp/checksum` |
||||
11. The `tmp` directory gets compressed as a tar archive |
||||
12. The decompressor and loader programs get applied to the tar archive |
||||
13. 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 |
@ -0,0 +1,11 @@ |
||||
# Stuff to make |
||||
- simple checksum calculator |
||||
- enter directory |
||||
- checksum of all file |
||||
- write file inside directory |
||||
- simple RPATH changer |
||||
- open file |
||||
- determine type of file, exit if not binary |
||||
- read RPATH section if present |
||||
- modify it with custom path |
||||
- save file |
Loading…
Reference in new issue