icy / pacapt

An ArchLinux's pacman-like shell wrapper for many package managers. 56KB and run anywhere.
Other
958 stars 69 forks source link
archlinux bash linux package-manager sysadmin

pacapt - An ArchLinux's pacman-like wrapper for many package managers

Build Status

pacapt is a 56KB shell wrapper for many package managers. Simply install package with pacapt -S htop or pacapt install htop on any Linux, BSD, OpenWrt or Mac OS machines. It supports the following package managers:

TOC

Installation

This script shouldn't be installed on an Arch-based system. On cave-based system, bash is required.

Install the stable script from Github

You can download the stable script and make it executable. On non-Arch-based system, you may use pacman as script name instead of pacapt.

$ sudo wget -O /usr/local/bin/pacapt https://github.com/icy/pacapt/raw/ng/pacapt
$ sudo chmod 755 /usr/local/bin/pacapt
$ sudo ln -sv /usr/local/bin/pacapt /usr/local/bin/pacman || true

If you have curl and want some interesting output:

# WARNING: Don't do this on Arch-based system!
$ curl -Lo /usr/bin/pacman https://github.com/icy/pacapt/raw/ng/pacapt
$ chmod 755 /usr/bin/pacman

For non-system package manager, you need to create symbolic links

$ ln -s /usr/local/bin/pacapt /usr/local/bin/pacapt-tlmgr
$ ln -s /usr/local/bin/pacapt /usr/local/bin/pacapt-conda

You can also use shorter links:

$ ln -s /usr/local/bin/pacapt /usr/local/bin/p-tlmgr
$ ln -s /usr/local/bin/pacapt /usr/local/bin/p-conda

noting the suffix (e.g., -tlmgr, -conda) is mandatory.

Usage

Basic operations

For system package manager

For non-system package manager: Similar as above, however you need to call correct script name, e.g.,

Basic options

See also https://github.com/icy/pacapt/blob/ng/lib/help.txt.

Some basic command line options

Some popular options of the original ArchLinux's pacman program are supported and listed in the table in the next section.

A long list of options and operations can be found from ArchLinux's wiki.

Implemented operations

           Q Qc Qe Qi Qk Ql Qm Qo Qp Qs Qu R Rn Rns Rs S Sc Scc Sccc Sg Si Sii Sl Ss Su Suy Sy U
      apk  ~     *  *     *     *     *  * *  *   *  * *  *   *    *     *   *  *  *  *   *  * *
  apt_cyg  *        *     *                *           *                           *         *
     cave  *        *     *     *  *  *  * *  *   *  * *  *   *    x     *         *  *   *  * x
    conda  *                    *          *           *  *              *         *      *
      dnf  ~  *  *  *     *  *  *  *  *  * *           *  *   *    *  *  *   *  *  *  *   *  * *
     dpkg  ~  *  *  *  *  *     *  *  *  * *  *   *  ~ *  *   *    *  *  *   *     *  *   *  * *
 homebrew  *  *     *     *           *  * *           *  *   *    *     *         *  *   *  *
 macports     *           *     *        * *         ~ *  *   *          *         *  *   *  *
     opkg  *        *     *     *     *  * *           *                 *   *     *  *      * *
    pkgng  *        *     *     *  *     * *         * *  *   *          *         *  *   *  *
pkg_tools  ~        *     *     *  *     * *  *   *  ~ *  *   x          *      *  ~  *   *  x
  portage  *  *     *     *     *        * *         * *  *   *    *     *         *  *   *  *
sun_tools  *        *     *     *     *    *                                                   *
    swupd  *        *  *        *     *    *           *  *   *                    *  *   *  *
   tazpkg  *        *     *     *          *           *  *   *                    *  *   *  * *
    tlmgr           *  *  *                *           *                 *      *  *      *    *
     xbps  *     *  *     *     *     *    *           *      *                    *  *   *  *
      yum  *  *  *  *     *  *  *  *  *  * *         * *  *   *    *  *  *   *     *  *   *  * *
   zypper  *  *     *     *  *  *  *  *  * *  *   *  * *  *   *    *  *  *   *  *  *  *   *  * *

Notes:

Related projects

Similar projects

Development

General steps

Make sure you read some instructions in CONTRIBUTING.md.

A development script can be compiled from the source code.

$ git clone https://github.com/icy/pacapt.git
$ cd pacapt

# switch to development branch
$ git checkout ng

# compile the script
$ ./bin/compile.sh > pacapt.dev

# check if syntax is good
$ bash -n pacapt.dev

$ sudo install -m755 ./pacapt.dev /usr/local/bin/pacapt

Please read the sample Makefile for some details.

License

This work is released under the terms of Fair license (http://opensource.org/licenses/fair).

AUTHORS. CONTRIBUTORS

Many people have contributed to the project by sending pull requests and/or reporting on the ticket system. Here is an incomplete list of authors and contributors.