123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259 |
- .TH QIRE "1" "April 2020" "qire 0.0.3" "User Commands"
- .SH NAME
- qire \- Qi Remote Extension
- .SH SYNOPSIS
- .B qire
- \fI\,COMMAND\/\fR
- [\fI\,OPTIONS...\/\fR]
- [\fI\,ARGUMENTS...\/\fR]
- .br
- .B qire
- \f install,downgrade,info\fR
- [\f -r,--repo repo\fR]
- [\f -l,--local\fR]
- [\f -f,--force\fR]
- \f pkg1\fR
- [\f pkgs... \fR]
- .br
- .B qire
- \f upgrade,search\fR
- [\f -r,--repo repo\fR]
- [\f -l,--local\fR]
- [\f -f,--force\fR]
- [\f pkgs... \fR]
- .br
- .B qire
- \f install,upgrade,downgrade\fR
- [\f -r,--repo repo\fR]
- [\f -f,--force\fR]
- \f -c,--category category\fR
- .br
- .B qire
- \f search\fR
- [\f -l,--local\fR]
- \f -c, --category category\fR
- .br
- .B qire
- \f fetch\fR
- [\f -r,--repo repo\fR]
- [\f -o,--output-directory dir\fR]
- \f pkg1\fR
- [\f pkgs... \fR]
- .br
- .B qire
- \f fetch\fR
- [\f -r,--repo repo\fR]
- \f -c,--category category\fR
- .br
- .B qire
- \f sync,build-index\fR
- \f repo1\fR
- [\f repos...\fR]
- .br
- .B qire
- \f remove\fR
- \f pkg\fR
- .br
- .B qire
- \f remove\fR
- \f -c,--category category\fR
- .br
- .B qire
- \f clean,version,help\fR
- .SH DESCRIPTION
- Qire is the remote package manager for Dragora. It uses the local package
- manager, see qi(1), to install, update, and remove packages. Qire is able to work with
- many package repositories that are set in the qire config file, see \fBQIRERC\fR
- for more information on how to configure qire. Qire is also able to manipulate
- many versions of the same program intelligibly and easily, see \fBMANIPULATING
- MULTIPLE VERSIONS\fR for more information. If you are a repository maintainer,
- qire offers a build command to easily create a new index file for your repo, see
- \fBBUILDING INDEX FILES\fR and \fBMAINTAINING A REPOSITORY\fR for more
- information.
- .br
- .SS "Remote/Local Commands:"
- .TP
- \fBinstall\fR
- Install packages from the repo(s) or local filesystem
- .TP
- \fBupgrade\fR
- Upgrade installed packages from the repo(s) or local filesystem
- .TP
- \fBdowngrade\fR
- Downgrade installed packages from the repo(s) or local filesystem
- .TP
- \fBsearch\fR
- Search the repo(s) or local filesystem for a particular package
- .TP
- \fBinfo\fR
- Display information on a package in the repo(s) or local filesystem
- .SS "Remote-Only Commands:"
- .TP
- \fBsync\fR
- Sync the local repo(s) tree
- .TP
- \fBfetch\fR
- Fetch package from repo
- .TP
- \fBbuild\-index\fR
- Build index files for repos in config. See \fBBUILDING INDEX FILES\fR for
- more information
- .SS "Local-Only Commands:"
- .TP
- \fBremove\fR
- Remove installed packages
- .TP
- \fBclean\fR
- Clean out the Qire cache directory
- .SS "Options:"
- .TP
- \fB\-c\fR, \fB\-\-category\fR
- Supply a category name rather than a package name to an applicable command
- .TP
- \fB\-f\fR, \fB\-\-force\fR
- Force an applicable command to be reran
- .TP
- \fB\-l\fR, \fB\-\-local\fR
- Run an applicable command locally
- .TP
- \fB\-o\fR, \fB\-\-output\-directory\fR
- Choose a different output directory for fetched packages
- .TP
- \fB\-r\fR, \fB\-\-repo\fR
- Select which repo(s) you'd like to use
- .SS "Other Commands:"
- .TP
- \fBversion\fR
- Display the version
- .TP
- \fBhelp\fR
- Display this help information
- .SH FILES AND DIRECTORIES
- /etc/qire/qirerc \(em Qire config file
- .PP
- /etc/qire/${id}.index \(em various index files of the repos found in Qire config
- .PP
- /var/cache/qire/ \(em default location for package binaries and SHA256 files are located.
- .PP
- .br
- .SH QIRERC
- The qirerc file is the only configuration file required for qire. The qirerc is
- very easy to understand and edit. Currently, these are the configuration options:
- .TP
- \fBdefault\fR
- Usage: \fBdefault\fR [repo1,repo2,...] [all]
- .br
- Set the default repositories for qire to do business in. The default setting for
- this is "all" which means all the repositories placed in qirerc are used. If you
- wish to only select a subset of your repository list, you can place the id of
- the repositories in a list separated by a space character, i.e. "default
- my-repo1 my-repo2". You can always override this setting by using the
- \fT-r,--repo\fR option.
- .TP
- \fBrepo\fR
- Usage: \fBrepo\fR id url
- .br
- Set the id and URL of a repository. The id of the repository can be whatever
- you'd like, so long that there are no spaces in the id, i.e. "repo
- dragora-noarch http://rsync.dragora.org/current/packages/noarch/". It is
- recommended that you select a reasonable name as you will see this name
- throughout qire's UI.
- .PP
- If you get \fBError 3\fR, this means you are lacking a qirerc. This will
- generally not happen unless there was an issue with installation. To fix this,
- all you must do is create a qirerc file with the information you'd like.
- .br
- .SH MANIPULATING MULTIPLE VERSIONS
- As mentioned, qire is able to work with many versions of the same program thanks
- to graft(1). It's quite easy to do these tasks.
- .TP
- \fBInstalling\fR
- To install another version of a package, simple run the qire install command as
- normal, i.e. "qire install moe." If qire finds many versions of the queried
- package, it will display them in a list and you can select whichever one you'd
- like by inputting the corresponding number. If you already have the selected
- version installed, qire will inform you. If you select a another, non-installed
- version, qire will fetch and install it as any package. If you perform a local
- search (qire search -l ${program-name}), you will notice that 2 versions will
- show up. This means you've successfully installed 2 versions of the same
- package!
- .TP
- \fBUp/Downgrading\fR
- Upgrading/downgrading many versions of the same package with qire is also very
- easy. To do so, run the upgrade or downgrade command as you would with any other
- package, i.e. "qire upgrade moe." If qire finds many versions of the
- queried package, it will display them in a list and you can select whichever
- one you'd like by inputting the corresponding number. If you already have the
- selected version installed, qire will inform you. If you select a version that
- is newer or older, qire will then search your system for potential
- candidates. If there are many candidates qire will list them and allow you to
- select which version to apply the upgrade or downgrade to. Once you select which
- version to upgrade or downgrade, qire will perform its action.
- \fBRemoving\fR
- If you have more than one version of a package installed, running the qire
- remove command will simple display a list of packages to remove.
- .br
- .SH BUILDING INDEX FILES
- There are 2 ways to create an index file for your repository: with qire and
- manually. If you wish to use qire, make sure that all the packages you wish to
- include are currently uploaded to the repository. Then make sure that you have
- the repo found in your qirerc file. If it isn't, see the \fBQIRERC\fR section
- for more information. To generate the index file, simply run the qire
- build-index command with the id of the repository as the argument, i.e. "qire
- build-index dragora-noarch," where "dragora-noarch" is the id of the repository
- that I wish to generate an index file for.
- .br
- To manually create an index file, all you must do is place the \fIfull name\fR
- of the package, a space, and the location of that package on the repo per
- line. An example line would look like this: "moe_1.11-rc1_amd64-1@tools.tlz /\\n"
- - notice that I included the newline character "\\n" as it is required for
- parsing. \fBEven the last line in the index file must have a newline character
- at the end!\fR Another example, with a non-root path would be:
- "moe_1.11-rc1_amd64-1@tools.tlz /editors/\\n", if the package for "moe" was found
- in "editors/".
- .SH MAINTAINING A REPOSITORY
- Maintaining a repository is fairly easy as there are only a handful of
- requirements. First, the server you host your repository on must be accessible
- via HTTP[S]. At this time, qire does not support FTP or any other
- protocol. Second, the HTML of the package list must allow qire to parse
- it. What this means is that you cannot use a fancy JavaScript list or something
- non-standard. It is recommended that your either use the standard when you
- browse to a directory via HTTP, Apache, or Hiawatha. Third, the URL that you supply must
- contain a file entitled "packages.index" which is the index file of your
- repository. See \fBBUILDING INDEX FILES\fR for more information on creating
- index files. You, of course, can have many repositories on one server but each
- URL must contain a valid packages.index file. Fourth, all packages must follow
- the qi(1) package naming convention. That convention is:
- "${program-name}_${version}_${arch}-${release-number}[@${category}].tlz". You
- will notice that category is optional but it is recommended that you provide a
- category to allow for easy upgrading or installation of dependencies. If you
- fail to follow this convention, qire may fail to work on your repository. Fifth,
- along with the binary file (.tlz), you must also include the sha256 checksum
- (.tlz.sha256) and the metadata (.tlz.txt) files. The sha256 is to make sure that
- there is no corruption with the fetched package before installation. The
- metadata file is so that users can use qire's info command, i.e. "qire info
- moe". After meeting these requirements, you will have a working qire repository!
- .SH SIDE NOTE
- Qire is still fairly knew and things are always subject to change. If you have
- recommendations, concerns, wishes, or what to help, contact the author as listed
- under the \fBREPORTING BUGS\fR section.
- .SH AUTHOR
- Qire was written by Kevin "The Nuclear" Bloom.
- .SH "REPORTING BUGS"
- Report bugs to https://notabug.org/dragora/qire/issues or <nuclearkev@dragora.org>
- .SH COPYRIGHT
- Copyright \(co 2020-2021 Kevin "The Nuclear" Bloom.
- Qire comes with ABSOLUTELY NO WARRANTY.
- You may redistribute copies of Qire
- under the terms of the GNU General Public License version 3 or later.
- For more information about these matters, see the file named LICENSE.
- .SH "SEE ALSO"
- .BR qi (1),
- .BR sha256sum (1),
- .BR wget (1)
|