instalee/instalee.1

85 lines
2.7 KiB
Groff
Raw Normal View History

2022-02-08 14:46:50 +00:00
.\" Manpage for instalee - https://git.jfischer.org/xeruf/instalee
.\" Contact 27jf@pm.me for improvements.
2020-06-12 19:33:58 +00:00
2020-06-21 14:20:10 +00:00
.TH man 1 "06 May 2020" "0.1" "instalee man page"
2020-06-12 19:33:58 +00:00
.SH NAME
2020-06-21 14:20:10 +00:00
instalee - Unix-style universal package management wrapper
2020-06-12 19:33:58 +00:00
.SH SYNOPSIS
2022-07-25 13:58:44 +00:00
.B instalee <packagename>...
- install packages
2020-06-21 14:20:10 +00:00
.br
2022-07-25 13:58:44 +00:00
.B instalee <-a|--add> [packagename] [handler] [<content>]
- add new packages
2020-06-12 19:33:58 +00:00
.SH DESCRIPTION
2022-07-04 13:27:11 +00:00
instalee provides a generic interface for installing packages.
Instead of knowing it all, it relies on the user configuring it to his needs while itself being as dumb as possible.
2020-06-21 14:20:10 +00:00
2022-07-04 13:27:11 +00:00
Its configuration resides in a folder defaulting to XDG_CONFIG_HOME/instalee.
It contains a \fIhandlers\fP and \fIpackages\fP directory and the \fIhandlers.available\fP file.
2020-06-21 14:20:10 +00:00
2022-07-04 13:27:11 +00:00
The \fIhandlers\fP directory contains a directory for each package manager.
Usually you will only need to create a directory for the package manager and then an \fIinstall\fP file that processes packages.
The file should be executable.
It will receive the \fIpackage\fP file result as argument, or merely the package name in case that is empty.
2020-06-21 14:20:10 +00:00
2022-07-04 13:27:11 +00:00
When using multiple different system, the \fIhandlers.available\fP file unfolds its purpose.
It is simply a newline-separated list of the package handlers available on the system, in order of preference.
When installing a package, instalee uses the first match of a \fIhandlers.available\fP entry with a file in the package directory.
2020-06-21 14:20:10 +00:00
2022-07-04 13:27:11 +00:00
The \fIpackages\fP directory will contain the bulk of the information.
It contains a directory for each package, which is then filled with files named according to the handler they represent.
There are three options for this file, and the result determines the arguments to the \fIhandler\fP:
2020-06-21 14:20:10 +00:00
.RS
1. The file is empty. The package name is used as argument.
.RE
.RS
2. The file is a textfile. The contents are used as argument.
.RE
.RS
3. The file is executable. The file is executed and the output is used as argument.
.RE
2022-07-04 13:27:11 +00:00
If a \fIhandler\fP is available without entry in \fIhandlers\fP (commonly named after what it requires as/on the system), package files for that handler will be executed without invoking a handler. Such a package file must be executable.
2020-06-12 19:33:58 +00:00
.SH OPTIONS
2020-06-21 14:20:10 +00:00
.TP
<packagename>
2022-07-25 13:58:44 +00:00
The package. Corresponds to a directory in \fIpackages\fP.
2020-06-21 14:20:10 +00:00
.TP
2022-07-04 11:51:24 +00:00
-a|--add
2022-07-25 13:58:44 +00:00
Add a package entry to the repo. Will prompt for missing arguments.
2020-06-21 14:20:10 +00:00
.TP
<identifier>
Name of the packager for which this entry is meant, plus potential pre- and suffixes.
.TP
<content>
2022-07-25 13:58:44 +00:00
Content of the file for the package to be added.
If omitted, the file is opened with $EDITOR.
Note that the parent directory already exists by then, but the file does not.
2020-06-12 19:33:58 +00:00
2022-07-04 11:51:24 +00:00
.SH EXIT CODES
.TP
0
Success
.TP
1
Unexpected exit
.TP
2
Could not install all packages
2020-06-12 19:33:58 +00:00
.SH BUGS
Completely WIP!
.SH AUTHOR
2022-02-08 14:46:50 +00:00
xeruf (27jf@pm.me)