docs: added more specification
This commit is contained in:
parent
0a002ab417
commit
0bbdb9219f
4 changed files with 91 additions and 0 deletions
20
docs/README.md
Normal file
20
docs/README.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Packager
|
||||||
|
|
||||||
|
Packager is a tool for package management.
|
||||||
|
It was built to make it easier to download and distribute packages.
|
||||||
|
|
||||||
|
## pkgr
|
||||||
|
pkgr is the main tool for the packager.
|
||||||
|
|
||||||
|
Because this tool is so feature rich, it has its own [README](./pkgr/README.md).
|
||||||
|
|
||||||
|
## bootpkg
|
||||||
|
bootpkg is a tool primariliy used to bootstrap the packager.
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bootpkg strap ./pkgr.pkg
|
||||||
|
```
|
||||||
|
|
||||||
|
This will extract the pkgfile and read the `[pkgr.bootstrap]` section to bootstrap the packager or any other package.
|
24
docs/pkgfile.md
Normal file
24
docs/pkgfile.md
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# PKGFILE
|
||||||
|
This file is essentially a tar with the manifest in the header.
|
||||||
|
|
||||||
|
## Format
|
||||||
|
The format is as follows:
|
||||||
|
```
|
||||||
|
[PKGFILE version (1 byte)][manifest length x 256 (1 byte)][manifest length (1 byte)]
|
||||||
|
[manifest (manifest length bytes)]
|
||||||
|
[archive]
|
||||||
|
```
|
||||||
|
|
||||||
|
The file is Big Endian.
|
||||||
|
|
||||||
|
## Unpacking
|
||||||
|
To unpack a PKGFILE, you can use the following command:
|
||||||
|
```bash
|
||||||
|
pkgr unpack <pkgfile> <output>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Packing
|
||||||
|
You can write your own packer, or use the following command:
|
||||||
|
```bash
|
||||||
|
pkgr pack <manifest path> <archive path> <output file>
|
||||||
|
```
|
28
docs/pkgr/README.md
Normal file
28
docs/pkgr/README.md
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# pkgr
|
||||||
|
PKGR is the main tool for the packager.
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
### `pkgr install [--bin/--build] <identifier>`
|
||||||
|
This command will download a package from the repository or the uri provided and install it.
|
||||||
|
This command can also be used to update a package.
|
||||||
|
|
||||||
|
### `pkgr remove <package_name>`
|
||||||
|
This command will remove a package from the system.
|
||||||
|
|
||||||
|
### `pkgr revert <package_name>`
|
||||||
|
This command will revert a package to the previous version.
|
||||||
|
|
||||||
|
### `pkgr download <identifier> <path>`
|
||||||
|
This command will download a package from the repository or the uri provided into the specified path.
|
||||||
|
|
||||||
|
### `pkgr unpack <pkgfile> <output>`
|
||||||
|
This command will unpack a pkgfile into the specified output directory.
|
||||||
|
|
||||||
|
### `pkgr pack <manifest path> <archive path> <output file>`
|
||||||
|
This command will pack a manifest and archive into a pkgfile.
|
||||||
|
|
||||||
|
### `pkgr list [-i]`
|
||||||
|
This command will list all packages known or installed packages if `-i` is specified.
|
||||||
|
|
||||||
|
### `pkgr update [package_name]`
|
||||||
|
This command will update all packages or a specific package.
|
19
docs/pkgr/installedmanifest.md
Normal file
19
docs/pkgr/installedmanifest.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Installed manifest
|
||||||
|
|
||||||
|
## Where?
|
||||||
|
The package manager will store the install manifest in:
|
||||||
|
`/var/lib/pkgr/installed/<package_name>/<version>/installed.toml`
|
||||||
|
|
||||||
|
To find the latest we'll use the `latest` symlink:
|
||||||
|
`/var/lib/pkgr/installed/<package_name>/latest/installed.toml`
|
||||||
|
|
||||||
|
```toml
|
||||||
|
install_start = "2021-01-01T00:00:00Z" # install_start is the time the pkgr started installing the package
|
||||||
|
install_end = "2021-01-01T00:00:00Z" # install_end is the time the pkgr finished installing the package
|
||||||
|
install_by = "pkgr" # install_by is the name of the package manager that installed the package
|
||||||
|
|
||||||
|
[old_versions] # This logs old versions of the package (that were installed before)
|
||||||
|
9 = "../9/pkgr.pkg"
|
||||||
|
|
||||||
|
# pkgr.* is reserved for the manifest of the package
|
||||||
|
```
|
Loading…
Reference in a new issue