📦 Package manager utility for Slackware: https://dslackw.gitlab.io/slpkg/
Find a file
2014-08-13 14:09:37 +03:00
bin updated license 2014-08-13 07:28:04 +03:00
man updated for version 1.7.1 2014-08-13 02:39:41 +03:00
slackbuild updated for version 1.7.1 2014-08-13 02:39:41 +03:00
slpkg updated license 2014-08-13 07:28:04 +03:00
.gitignore updated .gitignore 2014-07-17 10:00:18 +03:00
CHANGELOG updated for version 1.7.2 2014-08-13 03:57:05 +03:00
LICENSE updated for version 1.3.4 2014-05-23 08:46:51 +03:00
PKG-INFO updated for version 1.7.2 2014-08-13 03:57:05 +03:00
README.rst updated video tutorial 2014-08-13 14:09:37 +03:00
requirements.txt updated for version 1.5.2 2014-06-24 05:40:21 +03:00
setup.py updated license 2014-08-13 07:28:04 +03:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.. image:: https://badge.fury.io/py/slpkg.png
    :target: http://badge.fury.io/py/slpkg
.. image:: https://pypip.in/d/slpkg/badge.png
    :target: https://pypi.python.org/pypi/slpkg
.. image:: https://pypip.in/license/slpkg/badge.png
    :target: https://pypi.python.org/pypi/slpkg
.. image:: https://raw.githubusercontent.com/dslackw/images/master/slpkg/logo.png
    :target: https://github.com/dslackw/slpkg 

Slpkg is a terminal multitool in order to easy use `Slackware <http://www.slackware.com/>`_ 
packages.

Features
========

- Build third party packages from source with all dependencies
- Install packages through from official `Slackware <http://www.slackware.com/>`_ mirrors
- Find and Download packages from `slackbuilds.org <http://slackbuilds.org/>`_
- Grabs packages from slackbuilds.org in real time
- Automatic tool build and install packages
- Check if your distribution is up to date
- Remove packages with all dependencies
- Display the contents of the packages
- Install-upgrade Slackware packages
- Build and install all in a command
- Checking for updated packages
- List all installed packages
- Find installed package
- Read SlackBuilds files
- Τracking dependencies
- No dependencies

It's a quick and easy way to manage your packages in `Slackware <http://www.slackware.com/>`_
to a command.

`[CHANGELOG] <https://github.com/dslackw/slpkg/blob/master/CHANGELOG>`_

Video Tutorial
==============

.. image:: https://raw.githubusercontent.com/dslackw/images/master/slpkg/screenshot-1.png
    :target: https://asciinema.org/a/11457

Installation
------------

Using `pip <https://pip.pypa.io/en/latest/>`_ (best way to have last updates):

.. code-block:: bash

    $ pip install slpkg
    
    uninstall:

    $ pip uninstall slpkg

Using Slackware command:
    
Download http://slackbuilds.org/repository/14.1/system/slpkg from slackbuilds.org

Using SBOPKG http://www.sbopkg.org

Download binary package from SourceForge:
    
Command Line Tool Usage
-----------------------

.. code-block:: bash

    usage: slpkg   [-h] [-v] [-a script [source ...]]
                   [-l all, sbo, slack, noarch, other]
                   [-c sbo, slack [sbo, slack ...]]
                   [-s sbo, slack [sbo, slack ...]] [-t] [-n] [-i  [...]]
                   [-u  [...]] [-o  [...]] [-r  [...]] [-f  [...]] [-d  [...]]

    Utility for easy management packages in Slackware

    optional arguments:
      -h, --help            show this help message and exit
      -v, --verbose         print version and exit
      -a script [source ...]
                            auto build package
      -l all, sbo, slack, noarch, other
                            list of installed packages
      -c sbo, slack [sbo, slack ...]
                            check if your packages is up to date
      -s sbo, slack [sbo, slack ...]
                            download, build & install packages
      -t                    packages tracking dependencies from SBo
      -n                    view packages from SBo repository
      -i  [ ...]            install binary packages
      -u  [ ...]            upgrade binary packages
      -o  [ ...]            reinstall binary packages
      -r  [ ...]            remove binary packages
      -f  [ ...]            view installed packages
      -d  [ ...]            display the contents of the packages


Slpkg Examples
--------------

Find package from slackbuilds.org download, 
build and install with all dependencies :

.. code-block:: bash
    
    $ slpkg -s sbo brasero
    Building dependency tree...... Done
    The following packages will be automatically installed or upgraded with new version:

      orc gstreamer1 gst1-plugins-base gst1-plugins-bad libunique brasero

    Do you want to continue [Y/n]? y
    .
    .
    .
    +==============================================================================
    | Installing new package /tmp/brasero-3.11.3-x86_64-1_SBo.tgz
    +==============================================================================

    Verifying package brasero-3.11.3-x86_64-1_SBo.tgz.
    Installing package brasero-3.11.3-x86_64-1_SBo.tgz:
    PACKAGE DESCRIPTION:
    # brasero (CD/DVD burning application)
    #
    # Brasero is a application to burn CD/DVD for the Gnome Desktop. It is
    # designed to be as simple as possible and has some unique features to
    # enable users to create their discs easily and quickly.
    #
    # Homepage: http://projects.gnome.org/brasero
    #
    Executing install script for brasero-3.11.3-x86_64-1_SBo.tgz.
    Package brasero-3.11.3-x86_64-1_SBo.tgz installed.
    
Find packages from `Slackware official mirrors <http://mirrors.slackware.com/>`_ 
download and install:

.. code-block:: bash

    $ slpkg -s slack mozilla

    Packages with name matching [ mozilla ]
    
    Reading package lists.............................. Done    

    [ install ] --> mozilla-firefox-24.1.0esr-x86_64-1
    [ install ] --> mozilla-nss-3.15.2-x86_64-2
    [ install ] --> mozilla-thunderbird-24.1.0-x86_64-1

    Would you like to install [Y/n]?

Tracking all dependencies of packages,
and also displays installed packages:

.. code-block:: bash

    $ slpkg -t brasero
    Reading package lists...... Done

    +=========================
    | brasero dependencies   :
    +=========================
    \ 
     +---[ Tree of dependencies ]
     |
     +--1 orc
     |
     +--2 gstreamer1
     |
     +--3 gst1-plugins-base
     |
     +--4 gst1-plugins-bad
     |
     +--5 libunique

     NOTE: green installed, red not installed

Check if your packages is up to date from slackbuilds.org:

.. code-block:: bash

    $ slpkg -c sbo flashplayer-plugin
    Reading package lists. Done

    New version is available:
    +==============================================================================
    | Package: flashplayer-plugin 11.2.202.356 --> flashplayer-plugin 11.2.202.394
    +==============================================================================

    Would you like to install [Y/n]?

    $ slpkg -c sbo ranger
    Reading package lists. Done    

    Package 'ranger-1.6.1' is up to date

    $ slpkg -c sbo termcolor
    Reading package lists. Done

    No such package termcolor: Not installed

Check if your distribution is up to date from `Slackware official mirrors 
<http://mirrors.slackware.com/>`_

.. code-block:: bash

    $ slpkg -c slack upgrade
    Reading package lists....... Done

    These packages need upgrading:

    [ upgrade ] --> dhcpcd-6.0.5-x86_64-3_slack14.1.txz
    [ upgrade ] --> samba-4.1.11-x86_64-1_slack14.1.txz
    [ upgrade ] --> xscreensaver-5.29-x86_64-1_slack14.1.txz

    Would you like to upgrade [Y/y]?

Find packages from slackbuilds.org:

.. code-block:: bash

    $ slpkg -n bitfighter
    Reading package lists. Done
    
    +===============================================================================
    | Package bitfighter --> http://slackbuilds.org/repository/14.1/games/bitfighter/
    +===============================================================================
    | SlackBuild : bitfighter.tar.gz
    | Source : bitfighter-019c.tar.gz 
    | Extra : classic_level_pack.zip
    | Requirements : OpenAL, SDL2, speex, libmodplug
    +===============================================================================
     README               View the README file
     SlackBuild           View the SlackBuild file
     Info                 View the Info file
     Download             Download this package
     Build                Download and build this package
     Install              Download/Build/Install

    _

Auto tool to build package:

.. code-block:: bash

    Two files termcolor.tar.gz and termcolor-1.1.0.tar.gz
    must be in the same directory.
    (slackbuild script & source code or extra sources if needed)

    $ slpkg -a termcolor.tar.gz termcolor-1.1.0.tar.gz

    termcolor/
    termcolor/slack-desc
    termcolor/termcolor.info
    termcolor/README
    termcolor/termcolor.SlackBuild
    termcolor-1.1.0/
    termcolor-1.1.0/CHANGES.rst
    termcolor-1.1.0/COPYING.txt
    termcolor-1.1.0/README.rst
    termcolor-1.1.0/setup.py
    termcolor-1.1.0/termcolor.py
    termcolor-1.1.0/PKG-INFO
    running install
    running build
    running build_py
    creating build
    creating build/lib
    copying termcolor.py -> build/lib
    running install_lib
    creating /tmp/SBo/package-termcolor/usr
    creating /tmp/SBo/package-termcolor/usr/lib64
    creating /tmp/SBo/package-termcolor/usr/lib64/python2.7
    creating /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages
    copying build/lib/termcolor.py -> 
    /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages
    byte-compiling /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages/termcolor.py 
    to termcolor.pyc
    running install_egg_info
    Writing 
    /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info

    Slackware package maker, version 3.14159.

    Searching for symbolic links:

    No symbolic links were found, so we won't make an installation script.
    You can make your own later in ./install/doinst.sh and rebuild the
    package if you like.

    This next step is optional - you can set the directories in your package
    to some sane permissions. If any of the directories in your package have
    special permissions, then DO NOT reset them here!

    Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
    directory ownerships to root.root ([y]es, [n]o)? n

    Creating Slackware package:  /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz

    ./
    usr/
    usr/lib64/
    usr/lib64/python2.7/
    usr/lib64/python2.7/site-packages/
    usr/lib64/python2.7/site-packages/termcolor.py
    usr/lib64/python2.7/site-packages/termcolor.pyc
    usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info
    usr/doc/
    usr/doc/termcolor-1.1.0/
    usr/doc/termcolor-1.1.0/termcolor.SlackBuild
    usr/doc/termcolor-1.1.0/README.rst
    usr/doc/termcolor-1.1.0/CHANGES.rst
    usr/doc/termcolor-1.1.0/PKG-INFO
    usr/doc/termcolor-1.1.0/COPYING.txt
    install/
    install/slack-desc

    Slackware package /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz created.

Upgrade, install package:

.. code-block:: bash

    $ slpkg -u /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz

    +==============================================================================
    | Installing new package ./termcolor-1.1.0-x86_64-1_SBo.tgz
    +==============================================================================

    Verifying package termcolor-1.1.0-x86_64-1_SBo.tgz.
    Installing package termcolor-1.1.0-x86_64-1_SBo.tgz:
    PACKAGE DESCRIPTION:
    # termcolor (ANSII Color formatting for output in terminal)
    #
    # termcolor allows you to format your output in terminal.
    #
    # Project URL: https://pypi.python.org/pypi/termcolor
    #
    Package termcolor-1.1.0-x86_64-1_SBo.tgz installed.

Install mass-packages:

.. code-block:: bash

    $ slpkg -u *.t?z
    
    or 

    $ slpkg -i *.t?z

Find installed packages:

.. code-block:: bash

    $ slpkg -f termcolor lua yetris you-get rar pip
    
    Packages with name matching [ termcolor, lua, yetris, you-get, rar, pip ]

    [ installed ] - termcolor-1.1.0-x86_64-1_SBo
    No such package lua: Cant find
    [ installed ] - yetris-2.0.1-x86_64-1_SBo
    No such package you-get: Cant find
    [ installed ] - rar-5.0.1-x86_64-1_SBo
    [ installed ] - pip-1.5.4-x86_64-1_SBo

Display the contents of the packages:

.. code-block:: bash

    $ slpkg -d termcolor lua

    PACKAGE NAME:     termcolor-1.1.0-x86_64-1_SBo
    COMPRESSED PACKAGE SIZE:     8.0K
    UNCOMPRESSED PACKAGE SIZE:     60K
    PACKAGE LOCATION: ./termcolor-1.1.0-x86_64-1_SBo.tgz
    PACKAGE DESCRIPTION:
    termcolor: termcolor (ANSII Color formatting for output in terminal)
    termcolor:
    termcolor: termcolor allows you to format your output in terminal.
    termcolor:
    termcolor:
    termcolor: Project URL: https://pypi.python.org/pypi/termcolor
    termcolor:
    termcolor:
    termcolor:
    termcolor:
    FILE LIST:
    ./
    usr/
    usr/lib64/
    usr/lib64/python2.7/
    usr/lib64/python2.7/site-packages/
    usr/lib64/python2.7/site-packages/termcolor.py
    usr/lib64/python2.7/site-packages/termcolor.pyc
    usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info
    usr/lib64/python3.3/
    usr/lib64/python3.3/site-packages/
    usr/lib64/python3.3/site-packages/termcolor-1.1.0-py3.3.egg-info
    usr/lib64/python3.3/site-packages/__pycache__/
    usr/lib64/python3.3/site-packages/__pycache__/termcolor.cpython-33.pyc
    usr/lib64/python3.3/site-packages/termcolor.py
    usr/doc/
    usr/doc/termcolor-1.1.0/
    usr/doc/termcolor-1.1.0/termcolor.SlackBuild
    usr/doc/termcolor-1.1.0/README.rst
    usr/doc/termcolor-1.1.0/CHANGES.rst
    usr/doc/termcolor-1.1.0/PKG-INFO
    usr/doc/termcolor-1.1.0/COPYING.txt
    install/
    install/slack-desc
    
    No such package lua: Cant find

Remove packages:

.. code-block:: bash

    $ slpkg -r termcolor
    
    Packages with name matching [ termcolor ]
    
    [ delete ] --> termcolor-1.1.0-x86_64-1_SBo

    Are you sure to remove 1 package(s) [Y/n]? y

    Package: termcolor-1.1.0-x86_64-1_SBo
        Removing... 

    Removing package /var/log/packages/termcolor-1.1.0-x86_64-1_SBo...
        Removing files:
    --> Deleting /usr/doc/termcolor-1.1.0/CHANGES.rst
    --> Deleting /usr/doc/termcolor-1.1.0/COPYING.txt
    --> Deleting /usr/doc/termcolor-1.1.0/PKG-INFO
    --> Deleting /usr/doc/termcolor-1.1.0/README.rst
    --> Deleting /usr/doc/termcolor-1.1.0/termcolor.SlackBuild
    --> Deleting /usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info
    --> Deleting /usr/lib64/python2.7/site-packages/termcolor.py
    --> Deleting /usr/lib64/python2.7/site-packages/termcolor.pyc
    --> Deleting /usr/lib64/python3.3/site-packages/__pycache__/termcolor.cpython-33.pyc
    --> Deleting /usr/lib64/python3.3/site-packages/termcolor-1.1.0-py3.3.egg-info
    --> Deleting /usr/lib64/python3.3/site-packages/termcolor.py
    --> Deleting empty directory /usr/lib64/python3.3/site-packages/__pycache__/
    WARNING: Unique directory /usr/lib64/python3.3/site-packages/ contains new files
    WARNING: Unique directory /usr/lib64/python3.3/ contains new files
    --> Deleting empty directory /usr/doc/termcolor-1.1.0/

    +==============================================================================
    | Package: termcolor removed
    +==============================================================================

    $ slpkg -f termcolor lua rar

    Packages with name matching [ termcolor, lua, rar ] 
    
    No such package termcolor: Cant find
    No such package lua: Cant find
    [ installed ] - rar-5.0.1-x86_64-1_SBo

Remove packages with all dependencies:
(presupposes facility with the option 'slpkg -s sbo <package>)

.. code-block:: bash

    $ slpkg -r Flask

    Packages with name matching [ Flask ]

    [ delete ] --> Flask-0.10.1-x86_64-1_SBo

    Are you sure to remove 1 package [Y/n]? y

    +==============================================================================
    | Found dependencies for package Flask:
    +==============================================================================
    | pysetuptools
    | MarkupSafe
    | itsdangerous
    | Jinja2
    | werkzeug
    +==============================================================================

    Remove dependencies (maybe used by other packages) [Y/n]? y
    .
    .
    .
    +==============================================================================
    | Package Flask removed
    | Package pysetuptools removed
    | Package MarkupSafe removed
    | Package itsdangerous removed
    | Package Jinja2 removed
    | Package werkzeug removed
    +==============================================================================

Man page it is available for full support:

.. code-block:: bash

    $ man slpkg