docs: added more specification
This commit is contained in:
parent
9dfec956de
commit
2898d272fb
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