Giter Site home page Giter Site logo

pacapt's Introduction

Build Status

Table of contents

Name

pacapt - An Arch's pacman-like package manager for some Unices.

Description

An Arch's pacman-like package manager for some Unices. Actually this Bash script provides a wrapper for system's package manager. For example, on CentOS machines, you can install htop with command

$ pacapt -S htop

Instead of remembering various options/tools on different OSs, you only need a common way to manipulate packages. Not all options of the native package manager are ported; the tool only provides a very basic interface to search, install, remove packages, and/or update the system.

Arch's pacman is chosen, as pacman is quite smart when it divides all packages-related operations into three major groups: Synchronize, Query and Remove/Clean up. It has a clean man page, and it is the only tool needed to manipulate official packages on system. (Debian, for example, requires you to use apt-get, dpkg, and/or aptitude.)

The tool supports the following package managers:

  • pacman by Arch Linux, ArchBang, Manjaro, etc.
  • dpkg/apt-get by Debian, Ubuntu, etc.
  • homebrew by Mac OS X
  • macports by Mac OS X
  • yum/rpm by Redhat, CentOS, Fedora, etc.
  • portage by Gentoo
  • zypper by OpenSUSE
  • pkgng by FreeBSD
  • cave by Exherbo Linux
  • pkg_tools by OpenBSD
  • sun_tools by Solaris(SunOS)
  • apk by Alpine Linux
  • tazpkg by SliTaz Linux
  • swupd by Clear Linux
  • tlmgr by TeX Live

Installation

  1. This script shouldn't be installed on an Arch-based system;
  2. On FreeBSD and Alpine Linux, please install bash package first.

Install stable script from Github

You can download the stable script and make it executable

$ 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

On some system, /usr/local/bin is not in the search paths when the command is executed by sudo. You may want to use /usr/bin/pacman or /usr/bin/pacapt instead.

This stable script is generated from the latest stable branch, which is v2.0 at the moment. If you want to compile a script from its components, please make sure you use a correct branch. See CONTRIBUTING.md for details.

Installation from Pival81 repository

@Pival81 creates specification to build packages on various Linux distributions (CentOS, Debian, Fedora, OpenSUSE, RHEL, Ubuntu). The specification can be found under the contrib/ directory.

@Pival81 also builds packages which are ready to use on your machine. See the following link for details.

http://software.opensuse.org/download.html?project=home:Pival81&package=pacapt

Usage

Some basic command line options

  • -h (--help): Print help message;
  • -P: Print list of supported operations;
  • -V: Print script version

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

A short description can be found at

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

Implemented operations

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

Notes:

  • *: Implemented;
  • ~: Implemented. Some options may not supported/implemented;
  • x: Operation is not supported by Operating system;
  • The table is generated from source. Please don't update it manually.

Related projects

  • batch-pacapt: An Arch's pacman-like package manager for Windows
  • node-pacapt: A node.js wrapper of pacapt + batch-pacapt

Development

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.

  • 10sr (10sr)
  • Alexander Dupuy (dupuy)
  • Anh K. Huynh (icy)
  • Antony Lee (anntzer)
  • Alex Lyon (Arcterus)
  • Carl X. Su (bcbcarl)
  • Cuong Manh Le (Gnouc)
  • Daniel YC Lin (dlintw)
  • Danny George (dangets)
  • Darshit Shah (darnir)
  • Dmitry Kudriavtsev (dkudriavtsev)
  • Eric Crosson (EricCrosson)
  • Evan Relf (evanrelf)
  • GijsTimmers (GijsTimmers)
  • Hà-Dương Nguyễn (cmpitg)
  • Huy Ngô (NgoHuy)
  • James Pearson (xiongchiamiov)
  • Janne Heß (dasJ)
  • Jiawei Zhou (4679)
  • Karol Blazewicz
  • Kevin Brubeck (unhammer)
  • Konrad Borowski (xfix)
  • Kylie McClain (somasis)
  • Valerio Pizzi (Pival81)
  • Siôn Le Roux (sinisterstuf)
  • Thiago Perrotta (thiagowfx)
  • Vojtech Letal (letalvoj)

pacapt's People

Contributors

icy avatar dasj avatar xiongchiamiov avatar dupuy avatar arcterus avatar pival81 avatar dlintw avatar bcbcarl avatar gijstimmers avatar ngohuy avatar anna328p avatar lasers avatar letalvoj avatar sionleroux avatar grenadingue avatar cmpitg avatar anntzer avatar 4679 avatar dangets avatar ericcrosson avatar thiagowfx avatar

Watchers

James Cloos avatar Felix Yan avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.