Introduction¶
pkgix is a very lightweight package manager, intended to setup software in environments where root access is not available or installing the software system-wide is not desirable.
Package description files can be located inside repositories accessible via
multiple URLs. The following protocols are supported: file:// (default),
http://, https://, ftp://.
Written in BASH using standard POSIX utilities.
Setup¶
At minimum, you only need to obtain the script file pkgix.
By default pkgix looks for a repository in ~/pkgix-repo/pkgs. Repositories
can be specified using the -r flag, but it is recommended to export the
repository URL/path with PKGIX_REPOS="<repos...>" (separated by ;).
See the Repositories section below for list of known repositories.
Recommended:
- Add
<path-to-pkgix-repo>/binto yourPATH. source "<path-to-pkgix-repo>/share/pkgix/helper-inc.sh"; currently supported: bash, zsh. Provides thepkgix-activateandpkgix-deactivatefunctions; annotates shell prompt to indicate active prefix environment.
Example Usage¶
Common use-cases involve building software where many dependencies are involved when working in an environment without root access. The below is only to illustrate the most basic usage.
# Install gcc 4.4 and make 3.80 into 'legacy-build-tools' from repository.
$ pkgix install legacy-build-tools dev/gcc-4.4 dev/make-3.80
# Starts a new shell in the chosen prefix environment.
$ pkgix chenv legacy-build-tools
# Add a remote repository. Additional URLs are processed in
# order, until the requested package description file is found.
$ pkgix -r https://raw.github.com/pkgix/pkgix-repo/master/pkgs install some-prefix dev/gcc-4.4
Known Repositories¶
List of known repository URLs:
- abs2pkgix: Converter from ArchLinux PKGBUILDs to pkgix package description files. Does not yet support all packages.
- pkgix-repo:
https://raw.github.com/pkgix/pkgix-repo/master/pkgs—experimental repository playground. Likely outdated! Maintaining this should not be the priority, as we have many excellent package repositories elsewhere, and it would be more useful to build converters.