Updated to version 3.3.9

Signed-off-by: Dimitris Zlatanidis <d.zlatanidis@gmail.com>
This commit is contained in:
Dimitris Zlatanidis 2019-01-19 11:33:44 +01:00
commit a133f33895
87 changed files with 564 additions and 771 deletions

1
.gitignore vendored
View file

@ -1,5 +1,6 @@
/dist /dist
/build /build
/public
*.pyc *.pyc
__pycache__ __pycache__
.pipy .pipy

View file

@ -1,3 +1,14 @@
3.3.9 - 14/01/2019
Updated:
- Readme file and added example text file
- Checklist error message
- Removed unnecessary arguments ALL
Added:
- Support elilo and grub upgrade boot loader after kernel upgrade
- View third party packages
- Remove third party packages
- Added file size in the removed packages
3.3.8 - 09/06/2018 3.3.8 - 09/06/2018
Fixed: Fixed:
- aria2c (optional downloader) downloading path - aria2c (optional downloader) downloading path

View file

@ -1,4 +1,4 @@
Slpkg Slpkg
===== =====
@ -17,21 +17,22 @@ View list of repositories with the command '# slpkg repo-list' or get repository
with the command '# slpkg repo-info <repository>. with the command '# slpkg repo-info <repository>.
Update slpkg itself simply run '# slpkg update slpkg', and slpkg check from GitLab repository if Update slpkg itself simply run '# slpkg update slpkg', and slpkg check from GitLab repository if
new versions are available. the new version is available.
Checking packages health with the command "# slpkg health" and slpkg check if the files missing from the package file list. Checking packages health with the command "# slpkg health" and slpkg check if the files missing
from the package file list.
Print the dependencies status used by packages with the command '# slpkg deps-status' or Print the dependencies status with the command '# slpkg deps-status' or draw image map dependencies
drawing image map dependencies with the additional option '--graph=[image]'. with the additional option '--graph=[image]'.
Manage .new configuration files with the command 'slpkg new-config' like remove, overwrite, merge etc. Manage .new configuration files with the command 'slpkg new-config' like remove, overwrite, merge etc.
If you have already downloaded the script and the source code you can build the package with If you have already downloaded the script and the source code you can build the package with
the command '# slpkg -a <sbo_script.tar.gz> <sources>'. the command '# slpkg -a <sbo_script.tar.gz> <sources>'.
Manage the packages in the black list with the command '# slpkg -b <packages> --add or --remove'. Manage the packages in the blacklist with the command '# slpkg -b <packages> --add or --remove'.
Add the SBo packages to queue with the command '# slpkg -q <packages> --add or --remove' and Add the SBo packages to the queue with the command '# slpkg -q <packages> --add or --remove' and
manage as build, install or build and install with the command '# slpkg build or install or manage as build, install or build and install with the command '# slpkg build or install or
build-install'. build-install'.
This is very useful if you want to install multiple packages together suffice to add in the This is very useful if you want to install multiple packages together suffice to add in the
@ -41,11 +42,11 @@ View list of the packages from specific repository with command '# slpkg -l <rep
Combine with the command 'grep' to catch the results you want. Combine with the command 'grep' to catch the results you want.
Check and upgrade your distribution or upgrade your packages with the command '# slpkg -c <repository> Check and upgrade your distribution or upgrade your packages with the command '# slpkg -c <repository>
--upgrade'. Don't forget to update the packages list before (for 'slack' repository it's not necessary). --upgrade'. Don't forget to update the packages list before (for the 'slack' repository it's not necessary).
This command except upgrade the packages will fix the packages with the broken dependencies. This command except upgrade the packages will fix the packages with the broken dependencies.
Switch off the automatic resolve dependencies with the additional option '--resolve-off'. Switch off the automatic resolve dependencies with the additional option '--resolve-off'.
Use '--checklist' option to help you to choose easy the packages. For advanced users, the Use '--checklist' option to help you to choose easy the packages. For advanced users, the
option '--skip' give them more power (see man page). option '--skip' give them more power (see manpage).
The most famous command is '# slpkg -s <repository> <packages>', this command downloads, build The most famous command is '# slpkg -s <repository> <packages>', this command downloads, build
and installs packages with the resolve all the dependencies or switch off resolve with the and installs packages with the resolve all the dependencies or switch off resolve with the
@ -59,7 +60,7 @@ Tracking the dependencies of a package with command '# slpkg -t <repository> <pa
Displays a package dependency tree and also shows to you which ones are installed on your Displays a package dependency tree and also shows to you which ones are installed on your
system events. system events.
Check if the packages used from other packages with the additional option '--check-deps' or Check if the packages used from other packages with the additional option '--check-deps' or
drawing image map dependencies with the additional option '--graph=[image]'. draw image map dependencies with the additional option '--graph=[image]'.
Get information description of a package with the command '# slpkg -p <repository> <package>' Get information description of a package with the command '# slpkg -p <repository> <package>'
and change the color of text with the additional flag '--color=[]'. and change the color of text with the additional flag '--color=[]'.
@ -67,17 +68,28 @@ and change the color of text with the additional flag '--color=[]'.
View a SBo package page on your terminal with command '# slpkg -n <package>' and then manage View a SBo package page on your terminal with command '# slpkg -n <package>' and then manage
multiple choices such read, download, build, install etc. multiple choices such read, download, build, install etc.
If you want to find the packages of all the repositories, that command will solve your hands '# slpkg -F <packages>'. It will search in all the enabled repositories will find the configuration file '/etc/slpkg/repositories.conf' will print all the packages that match the description that you enter. If you want to find the packages of all the repositories, that command will solve your hands
'# slpkg -F <packages>'. It will search in all the enable repositories and will print all the
packages that match the description that you enter.
If you want to see if any packages are installed on your system enter the command '# slpkg -f <packages>'. The surprise in the end is the reporting of the packages sum and size that found. If you want to see if any packages are installed on your system enter the command '# slpkg -f <packages>'.
The surprise in the end is the reporting of the packages sum and size that
found. The additional option "--third-party" help to view only the third-party
packages
The next four commands '# slpkg --installpkg, --upgradepkg, --removepkg <packages>' install, upgrade, The next four commands '# slpkg --installpkg, --upgradepkg, --removepkg <packages>' install, upgrade,
remove packages from your system events. remove packages from your system events.
Notable mention must give the command '# slpkg --removepkg <packages>' which can remove the packages with all dependencies together after editing configuration file '/etc/slpkg/slpkg.conf' Notable mention must you give in the command '# slpkg --removepkg <packages>'
(default is disable) or add additional option "--deps". Also you can check if the packages used as dependency with additional the option "--check-deps". Option "--tag" allow to remove packages with by TAG. which can remove the packages with all dependencies together after editing configuration file
Optional you can use the dialog utility with the additional option "--checklist" (require python2-pythondialog). '/etc/slpkg/slpkg.conf' (default is disable) or add additional option "--deps". Also you can check
if the packages they are used as dependency with additional option "--check-deps".
Option "--tag" allow to remove packages with by TAG.
Optional you can use the dialog utility with the additional option
"--checklist" (require python2-pythondialog). Rmove the third-party packages
with the option "--third-party".
The last command is useful to print the entire contents of a package installed on the system with the command '# slpkg -d <packages>'. The last command is useful to print the entire contents of a package installed on the system with
the command '# slpkg -d <packages>'.
Some examples you will see below. Some examples you will see below.
@ -203,7 +215,7 @@ Command Line Tool Usage
-r | --removepkg, [options] [package...], Removes a previously installed -r | --removepkg, [options] [package...], Removes a previously installed
--deps, --check-deps, --tag, Slackware binary packages, --deps, --check-deps, --tag, Slackware binary packages,
--checklist while writing a progress report --checklist, --third-party while writing a progress report
options=[-warn, -preserve, -copy, to the standard output. options=[-warn, -preserve, -copy, to the standard output.
-keep] Use only package name. -keep] Use only package name.
@ -258,7 +270,7 @@ Also you can check ChangeLog.txt for changes like:
From 1 repositories need 1 updating. Run the command 'slpkg update'. From 1 repositories need 1 updating. Run the command 'slpkg update'.
$ slpkg -c ALL $ slpkg --check
+============================================================================== +==============================================================================
| Repository Status | Repository Status
@ -441,14 +453,14 @@ Close auto resolve dependencies:
Installing: Installing:
atkmm 2.22.6 x86_64 1 alien 124 K atkmm 2.22.6 x86_64 1 alien 124 K
Installing summary Installing summary
=============================================================================== ===============================================================================
Total 1 package. Total 1 package.
1 package will be installed, 0 will be upgraded and 0 will be reinstalled. 1 package will be installed, 0 will be upgraded and 0 will be reinstalled.
Need to get 124 Kb of archives. Need to get 124 Kb of archives.
After this process, 620 Kb of additional disk space will be used. After this process, 620 Kb of additional disk space will be used.
Would you like to continue [y/N]? Would you like to continue [y/N]?
@ -506,15 +518,15 @@ Check if the dependencies used:
\ \
+---[ Tree of dependencies ] +---[ Tree of dependencies ]
| |
+--1: pysetuptools is dependency --> Flask, bpython, pip, pylint +--1: pysetuptools is dependence on --> Flask, bpython, pip, pylint
| |
+--2: MarkupSafe is dependency --> Flask +--2: MarkupSafe is dependence on --> Flask
| |
+--3: itsdangerous is dependency --> Flask +--3: itsdangerous is dependence on --> Flask
| |
+--4: Jinja2 is dependency --> Flask +--4: Jinja2 is dependence on --> Flask
| |
+--5: werkzeug is dependency --> Flask +--5: werkzeug is dependence on --> Flask
Drawing the dependencies diagram: Drawing the dependencies diagram:
@ -533,15 +545,15 @@ Drawing the dependencies diagram:
\ \
+---[ Tree of dependencies ] +---[ Tree of dependencies ]
| |
+--1: pysetuptools is dependency --> APScheduler, Flask, Jinja2, MarkupSafe, astroid, autopep8, blessings, bpython, cffi, cryptography, curtsies, itsdangerous, monty, ndg_httpsclient, pip, pyOpenSSL, pylint, wcwidth +--1: pysetuptools is dependence on --> APScheduler, Flask, Jinja2, MarkupSafe, astroid, autopep8, blessings, bpython, cffi, cryptography, curtsies, itsdangerous, monty, ndg_httpsclient, pip, pyOpenSSL, pylint, wcwidth
| |
+--2: MarkupSafe is dependency --> Flask, Jinja2 +--2: MarkupSafe is dependence on --> Flask, Jinja2
| |
+--3: itsdangerous is dependency --> Flask +--3: itsdangerous is dependence on --> Flask
| |
+--4: Jinja2 is dependency --> Flask +--4: Jinja2 is dependence on --> Flask
| |
+--5: werkzeug is dependency --> Flask +--5: werkzeug is dependence on --> Flask
.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/deps3.png .. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/deps3.png
@ -786,7 +798,7 @@ Use the dialog utility to help you find the packages:
Load all repository: Load all repository:
$ slpkg -n ALL --checklist $ slpkg -n --checklist
Reading package lists... Reading package lists...
.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog5.png .. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog5.png
@ -970,17 +982,40 @@ Find the installed packages:
$ slpkg -f apr $ slpkg -f apr
Packages with matching name [ apr ] Sckages with matching name [ apr ]
[ installed ] - apr-1.5.0-x86_64-1_slack14.1 [ installed ] [ 1.1M ] - apr-1.5.2-x86_64-1
[ installed ] - apr-util-1.5.3-x86_64-1_slack14.1 [ installed ] [ 530K ] - apr-util-1.5.4-x86_64-2
[ installed ] - xf86dgaproto-2.1-noarch-1 [ installed ] [ 40K ] - xf86dgaproto-2.1-noarch-1
[ installed ] - xineramaproto-1.2.1-noarch-1 [ installed ] [ 50K ] - xineramaproto-1.2.1-noarch-1
Found summary Found summary
=============================================================================== ===============================================================================
Total found 4 matcing packages Total found 4 matching packages.
Size of installed packages 1.61 Mb Size of installed packages 1.71 Mb.
Find only the third-party packages:
$ slpkg -f python --third-party
Packages with matching name [ python ]
[ installed ] [ 1.4M ] - bpython-0.17.1-x86_64-1_SBo
[ installed ] [ 590K ] - python-certifi-2018.11.29-x86_64-1_SBo
[ installed ] [ 1.9M ] - python-chardet-3.0.4-x86_64-1_SBo
[ installed ] [ 220K ] - python-libtmux-0.8.0-x86_64-1_SBo
[ installed ] [ 50K ] - python-notify2-0.3.1-x86_64-1_SBo
[ installed ] [ 1.5M ] - python-requests-2.20.1-x86_64-1_SBo
[ installed ] [ 110K ] - python-scandir-1.8-x86_64-1_SBo
[ installed ] [ 1.5M ] - python-urllib3-1.23-x86_64-1_SBo
[ installed ] [ 440K ] - python2-pythondialog-3.4.0-x86_64-1_SBo
[ installed ] [ 120M ] - python3-3.6.7-x86_64-1_SBo
Found summary
===============================================================================
Total found 10 matching packages.
Size of installed packages 127.68 Mb.
Display the contents of the packages: Display the contents of the packages:
@ -1030,7 +1065,7 @@ Display the contents of the packages:
No such package lua: Cant find No such package lua: Cant find
Removes a previously installed Slackware binary packages: Removes a previously installed Slackware binary package:
$ slpkg -r termcolor $ slpkg -r termcolor
@ -1070,7 +1105,7 @@ Removes a previously installed Slackware binary packages:
+============================================================================== +==============================================================================
Remove packages with all the dependencies and check if used as dependency: Remove packages with all dependencies and check if used as dependency:
(Presupposes install with the option '# slpkg -s <repository> <packages>') (Presupposes install with the option '# slpkg -s <repository> <packages>')
$ slpkg -r Flask --check-deps $ slpkg -r Flask --check-deps
@ -1159,8 +1194,8 @@ Remove the packages with by TAG:
Are you sure to remove 14 packages [y/N]? Are you sure to remove 14 packages [y/N]?
Remove the packages using dialog utility:
Remove the packages using dialog utility:
$ slpkg -r _SBo --tag --checklist $ slpkg -r _SBo --tag --checklist
@ -1175,6 +1210,37 @@ Remove the packages using dialog utility:
.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog4.png .. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog4.png
Remove only the third-party packages:
$ slpkg -r python --third-party
Packages with name matching [ python ]
[ delete ] --> bpython-0.17.1-x86_64-1_SBo
[ delete ] --> python-certifi-2018.11.29-x86_64-1_SBo
[ delete ] --> python-chardet-3.0.4-x86_64-1_SBo
[ delete ] --> python-libtmux-0.8.0-x86_64-1_SBo
[ delete ] --> python-notify2-0.3.1-x86_64-1_SBo
[ delete ] --> python-requests-2.20.1-x86_64-1_SBo
[ delete ] --> python-scandir-1.8-x86_64-1_SBo
[ delete ] --> python-urllib3-1.23-x86_64-1_SBo
[ delete ] --> python2-pythondialog-3.4.0-x86_64-1_SBo
[ delete ] --> python3-3.6.7-x86_64-1_SBo
Removed summary
===============================================================================
Size of removed packages 127.68 Mb.
+==============================================================================
| *** WARNING ***
| Before you use third-party option, be sure you have updated the package
| lists. Run the command 'slpkg update' and 'slpkg -c slack --upgrade'
+==============================================================================
Are you sure to remove 10 packages [y/N]?
Build and install the packages that have added to the queue: Build and install the packages that have added to the queue:
$ slpkg -q roxterm SDL2 CEGUI --add $ slpkg -q roxterm SDL2 CEGUI --add
@ -1186,7 +1252,7 @@ Build and install the packages that have added to the queue:
CEGUI CEGUI
$ slpkg -q roxterm --remove (or 'slpkg -q ALL --remove' remove all packages) $ slpkg -q roxterm --remove (or 'slpkg -q --remove' remove all packages)
Remove packages from queue: Remove packages from queue:
@ -1220,7 +1286,7 @@ Add or remove the packages in blacklist file manually from
faac faac
$ slpkg -b speex --remove (or 'slpkg -b ALL --remove' remove all packages) $ slpkg -b speex --remove (or 'slpkg -b --remove' remove all packages)
Remove packages from blacklist: Remove packages from blacklist:
@ -1388,7 +1454,7 @@ Read files from the sbo repository:
-x /usr/bin/gtk-update-icon-cache ]; then\n for theme in gnome locolor hicolor -x /usr/bin/gtk-update-icon-cache ]; then\n for theme in gnome locolor hicolor
; do\n if [ -e usr/share/icons/$theme/icon-theme.cache ]; then\n /usr/b ; do\n if [ -e usr/share/icons/$theme/icon-theme.cache ]; then\n /usr/b
in/gtk-update-icon-cache -f usr/share/icons/$theme >/dev/null 2>&1\n fi\n do in/gtk-update-icon-cache -f usr/share/icons/$theme >/dev/null 2>&1\n fi\n do
ne\nfi\ ne\nfi\'
Get the Slackware version: Get the Slackware version:

14
README.md Normal file
View file

@ -0,0 +1,14 @@
# slpkg
Slpkg is a powerful software package manager that installs, updates, and removes packages on
Slackware based systems. It automatically computes dependencies and figures out what things
should occur to install packages. Slpkg makes it easier to maintain groups of machines without
having to manually update.
Slpkg works in accordance with the standards of the organization slackbuilds.org
to builds packages. Also uses the Slackware Linux instructions for installation,
upgrading or removing packages.
What makes slpkg to distinguish it from the other tools; The user friendliness it's a primary
target as well as easy to understand and use, also use colors to highlight packages and
display warning messages, etc.

View file

@ -1,429 +0,0 @@
Slpkg v3.3.8
============
.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/slpkg_package.png
:target: https://gitlab.com/dslackw/slpkg
.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/poweredbyslack.gif
:target: http://www.slackware.com/
.. contents:: Table of Contents:
About
-----
Slpkg is a powerful software package manager that installs, updates, and removes packages on
Slackware based systems. It automatically computes dependencies and figures out what things
should occur to install packages. Slpkg makes it easier to maintain groups of machines without
having to manually update.
Slpkg works in accordance with the standards of the organization slackbuilds.org
to builds packages. Also uses the Slackware Linux instructions for installation,
upgrading or removing packages.
What makes slpkg to distinguish it from the other tools; The user friendliness it's a primary
target as well as easy to understand and use, also use colors to highlight packages and
display warning messages, etc.
Features
--------
- Dependency resolution
- Dependencies visualizations
- Multiple options
- Multiple repositories
- Easy configuration
- Fully configurable
- Adaptability
- Powerful options
- Source builder
- Faster process
- Better Security
Installation
------------
Download latest release:
.. code-block:: bash
Required root privileges
$ tar xvf slpkg-3.3.8.tar.gz (don't delete the archive file after extract)
$ cd slpkg-3.3.8
$ ./install.sh
Installed as Slackware package
Uninstall:
$ slpkg -r slpkg
or
$ removepkg slpkg
Using pip:
.. code-block:: bash
$ pip install https://gitlab.com/dslackw/slpkg/-/archive/3.3.8/slpkg-3.3.8.tar.gz
Uninstall:
$ pip uninstall slpkg
Data remove run from source code:
$ python clean.py
Requirements
------------
See `requirements.txt <https://gitlab.com/dslackw/slpkg/blob/master/requirements.txt>`_ file
Optional dependencies
---------------------
`python2-pythondialog <http://slackbuilds.org/repository/14.2/python/python2-pythondialog/>`_ for dialog box interface
`pygraphviz <http://slackbuilds.org/repository/14.2/graphics/pygraphviz/>`_ for drawing dependencies diagram
`graph-easy <http://slackbuilds.org/repository/14.2/graphics/graph-easy/>`_ for drawing ascii dependencies diagram
`httpie <https://slackbuilds.org/repository/14.2/network/httpie/>`_ alternative downloader
`aria2 <https://slackbuilds.org/repository/14.2/network/aria2/>`_ alternative downloader
Recommended
-----------
Stay updated, see `SUN (Slackware Update Notifier) <https://gitlab.com/dslackw/sun>`_
Upgrade
-------
Since the version '2.1.4' you can update slpkg itself with the command '# slpkg update slpkg'.
In each slpkg upgrade you will have to keep track of changes to the configuration files
in the directory '/etc/slpkg'.
Demonstration
-------------
.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/slpkg_youtube.png
:target: https://www.youtube.com/watch?v=oTtD4XhHKlA
Youtube Asciicasts
------------------
`Playlist Tutorials <https://www.youtube.com/playlist?list=PLLzUUMSzaKvlS5--8AiFqWzxZPg3kxkqY>`_
Repositories
------------
Default available Repositories:
- `SBo <http://slackbuilds.org/>`_
Arch: {x86, x86_64}
Versions: {13.1, 13.37, 14.0, 14.1, 14.2}
- `Slack <http://www.slackware.com/>`_
Arch: {x86, x86_64}
Versions: {3.3, 8.1, 9.0, 9.1, 10.0, 10.1, 10.2, 11.0, 12.0, 12.2, 13.0, 13.37, 14.0, 14.1, 14.2, current}
- `Alien's <http://bear.alienbase.nl/mirrors/people/alien/sbrepos/>`_
Arch: {x86, x86_64}
Versions: {13.0, 13.1, 13.37, 14.0, 14.1, 14.2, current}
- `Slacky <http://repository.slacky.eu/>`_
Arch: {x86, x86_64}
Versions: {11.0, 12.0, 12.1, 12.2, 13.0, 13.1, 13.37, 14.0, 14.1, 14.2}
- `Robby's <http://slackware.uk/people/rlworkman/>`_
Arch: {x86, x86_64}
Versions: {11.0, 12.0, 12.1, 12.2, 13.0, 13.1, 13.37, 14.0, 14.1, 14,2}
- `Conraid's <http://slack.conraid.net/repository/slackware64-current>`_
Arch: {x86_64}
Versions: {current}
- `Slackonly <https://slackonly.com/>`_
Arch: {x86, x86_64}
Versions: {14.1, 14.2}
- `Alien's ktown <http://alien.slackbook.org/ktown/>`_
Arch: {x86, x86_64}
Versions: {13.37, 14.0, 14.1, 14.2, current}
- `Alien's multi <http://bear.alienbase.nl/mirrors/people/alien/multilib/>`_
Arch: {x86_64}
Versions: {13.0, 13.1, 13.37, 14.0, 14.1, 14.2, current}
- `Slacke E17 and E18 <http://ngc891.blogdns.net/pub/>`_
Arch: {x86, x86_64, arm}
Versions: {14.1}
- `SalixOS <http://download.salixos.org/>`_
Arch: {x86, x86_64}
Versions: {13.0, 13.1, 13.37, 14.0, 14.1, 14.2}
- `Slackel <http://www.slackel.gr/repo/>`_
Arch: {x86, x86_64}
Versions: {current}
- `Restricted <http://bear.alienbase.nl/mirrors/people/alien/restricted_slackbuilds/>`_
Arch: {x86, x86_64}
Versions: {11.0, 12.0, 12.1, 12.2, 13.0, 13.1, 13.37, 14.0, 14,1, 14.2, current}
- `MATE Desktop Environment <http://slackware.org.uk/msb/>`_
Arch: {x86, x86_64}
Versions: {14.0, 14,1, 14.2, current}
- `Cinnamon Desktop Environment <http://slackware.org.uk/csb/>`_
Arch: {x86, x86_64}
Versions: {14,1, 14.2, current}
- `Connochaetos (Slack-n-Free) <https://connochaetos.org/slack-n-free/>`_
Arch: {x86, x86_64}
Versions: {14,1, 14.2}
- `Microlinux mles <http://slackware.uk/microlinux/>`_
Arch: {x86, x86_64}
Versions: {14,1, 14.2}
* Choose default repositories you need to work from the file '/etc/slpkg/repositories.conf'
defaults are 'slack' and 'sbo' repositories and please read the REPOSITORIES file for each
of the particularities.
If a repository is not in the above list, manage the custom repositories with the commands
'repo-add' and 'repo-remove'.
Issues
------
Please report any bugs in `ISSUES <https://gitlab.com/dslackw/slpkg/issues>`_
Testing
-------
The majority of trials have been made in an environment Slackware x86_64 'stable'
and x86 'current' version 14.2.
Slackware Current
-----------------
For Slackware 'current' users must to change the variable VERSION in '/etc/slpkg/slpkg.conf'
file.
.. code-block:: bash
$ slpkg -g edit
Slackware ARM
-------------
Must you use only two repositories currently there are 'slack' and 'sbo'.
Slackware Mirrors
-----------------
Slpkg uses the central mirror "http://mirrors.slackware.com/slackware/" to find the
nearest one. If however for some reason this troublesome please edit the file in
'/etc/slpkg/slackware-mirrors'.
Slpkg configuration
-------------------
It is important to read the configuration file '/etc/slpkg/slpkg.conf'. You will find many
useful options to configure the program so as you need it.
Configuration Files
-------------------
.. code-block:: bash
/tmp/slpkg
Slpkg temponary donwloaded files and build packages
/etc/slpkg/slpkg.conf
General configuration of slpkg
/etc/slpkg/repositories.conf
Configuration file for repositories
/etc/slpkg/blacklist
List of packages to skip
/etc/slpkg/slackware-mirrors
List of Slackware Mirrors
/etc/slpkg/default-repositories
List of default repositories
/etc/slpkg/custom-repositories
List of custom repositories
/etc/slpkg/pkg_security
List of packages for security reasons
/var/log/slpkg
ChangeLog.txt repositories files
SlackBuilds logs and dependencies files
/var/lib/slpkg
PACKAGES.TXT files
SLACKBUILDS.TXT files
CHECKSUMS.md5 files
FILELIST.TXT files
Command Line Tool Usage
-----------------------
.. code-block:: bash
Slpkg is a user-friendly package manager for Slackware installations
Usage: slpkg [COMMANDS|OPTIONS] {repository|package...}
_ _
___| |_ __ | | ____ _
/ __| | '_ \| |/ / _` |
\__ \ | |_) | < (_| |
|___/_| .__/|_|\_\__, |
|_| |___/
_Slackware package manager_______
Commands:
update, --only=[...] Run this command to update all
the packages list.
upgrade, --only=[...] Delete and recreate all packages
lists.
repo-add [repository name] [URL] Add custom repository.
repo-remove [repository] Remove custom repository.
repo-enable Enable or disable default
repositories via dialog utility.
repo-list Print a list of all the
repositories.
repo-info [repository] Get information about a
repository.
update slpkg Upgrade the program directly from
repository.
health, --silent Health check installed packages.
deps-status, --tree, --graph=[type] Print dependencies status used by
packages or drawing dependencies
diagram.
new-config Manage .new configuration files.
Optional arguments:
-h | --help Print this help message and exit.
-v | --version Print program version and exit.
-a | --autobuild, [script] [source...] Auto build SBo packages.
If you already have downloaded the
script and the source code you can
build a new package with this
command.
-b | --blacklist, [package...] --add, Manage packages in the blacklist.
--remove, list Add or remove packages and print
the list. Each package is added
here will not be accessible by the
program.
-q | --queue, [package...] --add, Manage SBo packages in the queue.
--remove, list, build, install, Add or remove and print the list
build-install of packages. Build and then
install the packages from the
queue.
-g | --config, print, edit, reset Configuration file management.
Print, edit the configuration file
or reset in the default values.
-l | --list, [repository], --index, Print a list of all available
--installed, --name packages from repository, index or
print only packages installed on
the system.
-c | --check, [repository], --upgrade, Check for updated packages from
--skip=[...], --resolve--off the repositories and upgrade or
--checklist install with all dependencies.
-s | --sync, [repository] [package...], Sync packages. Install packages
--rebuild, --reinstall, directly from remote repositories
--resolve-off, --download-only, with all dependencies.
--directory-prefix=[dir],
--case-ins, --patches
-t | --tracking, [repository] [package], Tracking package dependencies and
--check-deps, --graph=[type], print package dependencies tree
--case-ins with highlight if packages is
installed. Also check if
dependencies used or drawing
dependencies diagram.
-p | --desc, [repository] [package], Print description of a package
--color=[] directly from the repository and
change color text.
-n | --network, [package], --checklist, View a standard of SBo page in
--case-ins terminal and manage multiple
options like reading, downloading,
building, installation, etc.
-F | --FIND, [package...], --case-ins Find packages from each enabled
repository and view results.
-f | --find, [package...], --case-ins Find and print installed packages
reporting the size and the sum.
-i | --installpkg, [options] [package...] Installs single or multiple \*.tgz
options=[--warn, --md5sum, --root, (or .tbz, .tlz, .txz) Slackware
--infobox, --menu, --terse, --ask, binary packages designed for use
--priority, --tagfile] with the Slackware Linux
distribution onto your system.
-u | --upgradepkg, [options] [package...] Upgrade single or multiple
options=[--dry-run, --install-new, Slackware binary packages from
--reinstall, --verbose] an older version to a newer one.
-r | --removepkg, [options] [package...], Removes a previously installed
--deps, --check-deps, --tag, Slackware binary packages,
--checklist while writing a progress report
options=[-warn, -preserve, -copy, to the standard output.
-keep] Use only package name.
-d | --display, [package...] Display the contents of installed
packages and file list
Donate
------
If you feel satisfied with this project and want to thanks me make a donation.
.. image:: https://gitlab.com/dslackw/images/raw/master/donate/paypaldonate.png
:target: https://www.paypal.me/dslackw
Copyright
---------
- Copyright 2014-2018 © Dimitris Zlatanidis
- Slackware® is a Registered Trademark of Patrick Volkerding.
- Linux is a Registered Trademark of Linus Torvalds.

View file

@ -3,7 +3,7 @@
# slpkg file is part of slpkg. # slpkg file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# clean.py file is part of slpkg. # clean.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -2,7 +2,7 @@
# #
# blacklist file is part of slpkg. # blacklist file is part of slpkg.
# #
# Copyright 2014-2017 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.
@ -34,11 +34,11 @@
# *lib* # *lib*
# #
# Add packages in blacklist by repository: # Add packages in blacklist by repository:
# slacky:* `add all packages from slacky repository` # slacky:* `add all packages from the slacky repository`
# sbo:py* `add all packages from sbo starts with 'py'` # sbo:py* `add all packages from the sbo starts with 'py'`
# sbo:jdk `add jdk package from sbo repository` # sbo:jdk `add jdk package from the sbo repository`
# slack:*multi* `add packages include string 'multi' from slack` # slack:*multi* `add packages include string 'multi' from the slack`
# msb:*.txz `add packages ends with '.txz' from msb repository` # msb:*.txz `add packages ends with '.txz' from the msb repository`
# #
# Sometimes the automatic kernel update creates problems because you # Sometimes the automatic kernel update creates problems because you
# may need to file intervention 'lilo'. The slpkg automatically detects # may need to file intervention 'lilo'. The slpkg automatically detects

View file

@ -2,7 +2,7 @@
# #
# custom-repositories file is part of slpkg. # custom-repositories file is part of slpkg.
# #
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.
@ -25,8 +25,8 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# This file is used to read, write and remove custom repositories by # This file is used to read, write and remove custom repositories by
# the user. The repositories will be added here should have a different # the user. The repositories will be added here should have a different
# name from existing repositories and the default. Also, the link must # name from existing repositories and the default. Also the URL must have
# contain the PACKAGES.TXT files, CHECKSUMS.md5 and optional ChangeLog.txt. # contained the PACKAGES.TXT, CHECKSUMS.md5 and optional ChangeLog.txt files.
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# #
# NAME URL # NAME URL

View file

@ -2,7 +2,7 @@
# #
# default-repositories file is part of slpkg. # default-repositories file is part of slpkg.
# #
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.
@ -23,7 +23,7 @@
# END OF LEGAL NOTICE # END OF LEGAL NOTICE
# #
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# This file provide the urls from repositories. Change only the url # This file provide the URLs from repositories. Change only the URL
# if necessary finishing with "/". For local repository start with # if necessary finishing with "/". For local repository start with
# "file:///" avoid end path with "/". Do NOT change the name of the # "file:///" avoid end path with "/". Do NOT change the name of the
# repository. # repository.

View file

@ -2,7 +2,7 @@
# #
# pkg_security file is part of slpkg. # pkg_security file is part of slpkg.
# #
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.

View file

@ -2,7 +2,7 @@
# #
# repositories.conf file is part of slpkg. # repositories.conf file is part of slpkg.
# #
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.

View file

@ -2,7 +2,7 @@
# #
# rlworkman.deps file is part of slpkg. # rlworkman.deps file is part of slpkg.
# #
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.

View file

@ -3,7 +3,7 @@
# #
# slackware-mirrors file is part of slpkg. # slackware-mirrors file is part of slpkg.
# #
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.
@ -28,11 +28,11 @@
# to find the nearest one. If however for some reason this troublesome # to find the nearest one. If however for some reason this troublesome
# please uncomment (remove the '#' character) only one mirror from # please uncomment (remove the '#' character) only one mirror from
# the list available below. You can also add a new mirror in the list # the list available below. You can also add a new mirror in the list
# below. Be careful is the template that the rest. # below. Be careful with the template.
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# #
# #
# Last Updated: Sun Apr 1 13:54:02 UTC 2018 # Last Updated: Tue Jan 15 14:54:01 UTC 2019
# #
# Available https mirrors: # Available https mirrors:
# #
@ -40,6 +40,7 @@
# bg https://mirrors.netix.net/slackware/ # bg https://mirrors.netix.net/slackware/
# ca https://mirror.csclub.uwaterloo.ca/slackware/ # ca https://mirror.csclub.uwaterloo.ca/slackware/
# ca https://mirror.its.dal.ca/slackware/ # ca https://mirror.its.dal.ca/slackware/
# ca https://slackware.freemirror.org/slackware/
# cr https://mirrors.ucr.ac.cr/slackware/pub/slackware/ # cr https://mirrors.ucr.ac.cr/slackware/pub/slackware/
# de https://ftp6.gwdg.de/pub/linux/slackware/ # de https://ftp6.gwdg.de/pub/linux/slackware/
# de https://linux.rz.rub.de/slackware/ # de https://linux.rz.rub.de/slackware/
@ -47,14 +48,16 @@
# de https://mirror.netcologne.de/slackware/ # de https://mirror.netcologne.de/slackware/
# dk https://mirrors.dotsrc.org/slackware/ # dk https://mirrors.dotsrc.org/slackware/
# ec https://mirror.cedia.org.ec/slackware/ # ec https://mirror.cedia.org.ec/slackware/
# fr https://mirrors.phx.ms/slackware/
# gb https://lon.mirror.rackspace.com/slackware/ # gb https://lon.mirror.rackspace.com/slackware/
# gb https://mirror.bytemark.co.uk/slackware/ # gb https://mirror.bytemark.co.uk/slackware/
# gb https://www.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/ # gb https://www.mirrorservice.org/sites/ftp.slackware.com/pub/slackware/
# gr https://ftp.cc.uoc.gr/mirrors/linux/slackware/ # gr https://ftp.cc.uoc.gr/mirrors/linux/slackware/
# hk https://hkg.mirror.rackspace.com/slackware/ # hk https://hkg.mirror.rackspace.com/slackware/
# hk https://mirror-hk.koddos.net/slackware/
# hu https://quantum-mirror.hu/mirrors/pub/slackware/
# id https://iso.ukdw.ac.id/slackware/ # id https://iso.ukdw.ac.id/slackware/
# id https://repo.ukdw.ac.id/slackware/ # id https://repo.ukdw.ac.id/slackware/
# ie https://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/
# it https://ba.mirror.garr.it/mirrors/Slackware/ # it https://ba.mirror.garr.it/mirrors/Slackware/
# lt https://mirrors.atviras.lt/slackware/ # lt https://mirrors.atviras.lt/slackware/
# nl https://ftp.nluug.nl/os/Linux/distr/slackware/ # nl https://ftp.nluug.nl/os/Linux/distr/slackware/
@ -66,7 +69,7 @@
# ro https://mirrors.nxthost.com/slackware/ # ro https://mirrors.nxthost.com/slackware/
# ru https://mirror.yandex.ru/slackware/ # ru https://mirror.yandex.ru/slackware/
# se https://ftp.acc.umu.se/mirror/slackware.com/ # se https://ftp.acc.umu.se/mirror/slackware.com/
# se https://ftp.sunet.se/mirror/slackware.com/ # se https://mirror.linux.pizza/slackware/
# sk https://mirror.wheel.sk/slackware/ # sk https://mirror.wheel.sk/slackware/
# tw https://ftp.yzu.edu.tw/Linux/Slackware/ # tw https://ftp.yzu.edu.tw/Linux/Slackware/
# ua https://ifconfig.com.ua/slackware/ # ua https://ifconfig.com.ua/slackware/
@ -82,7 +85,6 @@
# us https://slackware.absolutehosting.net/pub/slackware/ # us https://slackware.absolutehosting.net/pub/slackware/
# #
# #
#
# Available http mirrors: # Available http mirrors:
# #
# au http://ftp.swin.edu.au/slackware/ # au http://ftp.swin.edu.au/slackware/
@ -97,7 +99,6 @@
# br http://linorg.usp.br/slackware/ # br http://linorg.usp.br/slackware/
# br http://slackmirror.cbpf.br/pub/slackware/ # br http://slackmirror.cbpf.br/pub/slackware/
# by http://mirror.datacenter.by/pub/slackware/ # by http://mirror.datacenter.by/pub/slackware/
# ch http://mirror.switch.ch/ftp/mirror/slackware/
# cz http://ftp.linux.cz/pub/linux/slackware/ # cz http://ftp.linux.cz/pub/linux/slackware/
# de http://download.dlackware.com/slackware/ # de http://download.dlackware.com/slackware/
# de http://ftp.tu-chemnitz.de/pub/linux/slackware/ # de http://ftp.tu-chemnitz.de/pub/linux/slackware/
@ -136,7 +137,6 @@
# za http://slackware.mirror.ac.za/ # za http://slackware.mirror.ac.za/
# #
# #
#
# Available ftp mirrors: # Available ftp mirrors:
# #
# au ftp://ftp.swin.edu.au/slackware/ # au ftp://ftp.swin.edu.au/slackware/
@ -152,7 +152,7 @@
# by ftp://mirror.datacenter.by/pub/slackware/ # by ftp://mirror.datacenter.by/pub/slackware/
# ca ftp://mirror.csclub.uwaterloo.ca/slackware/ # ca ftp://mirror.csclub.uwaterloo.ca/slackware/
# ca ftp://mirror.its.dal.ca/slackware/ # ca ftp://mirror.its.dal.ca/slackware/
# ch ftp://mirror.switch.ch/mirror/slackware/ # ca ftp://slackware.freemirror.org/slackware/
# cr ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/ # cr ftp://mirrors.ucr.ac.cr/slackware/pub/slackware/
# cz ftp://ftp.linux.cz/pub/linux/slackware/ # cz ftp://ftp.linux.cz/pub/linux/slackware/
# de ftp://ftp.tu-chemnitz.de/pub/linux/slackware/ # de ftp://ftp.tu-chemnitz.de/pub/linux/slackware/
@ -172,7 +172,6 @@
# gr ftp://ftp.otenet.gr/pub/linux/slackware/ # gr ftp://ftp.otenet.gr/pub/linux/slackware/
# hk ftp://hkg.mirror.rackspace.com/slackware/ # hk ftp://hkg.mirror.rackspace.com/slackware/
# hr ftp://mirror.slackware.hr/slackware/ # hr ftp://mirror.slackware.hr/slackware/
# ie ftp://ftp.heanet.ie/mirrors/ftp.slackware.com/pub/slackware/
# jp ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/ # jp ftp://ftp.kddilabs.jp/Linux/distributions/Slackware/
# jp ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/ # jp ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/
# jp ftp://ftp.riken.jp/Linux/slackware/ # jp ftp://ftp.riken.jp/Linux/slackware/
@ -188,7 +187,7 @@
# pt ftp://ftp.rnl.tecnico.ulisboa.pt/pub/slackware/ # pt ftp://ftp.rnl.tecnico.ulisboa.pt/pub/slackware/
# ru ftp://mirror.yandex.ru/slackware/ # ru ftp://mirror.yandex.ru/slackware/
# ru ftp://slackware.tsu.ru/slackware/ # ru ftp://slackware.tsu.ru/slackware/
# se ftp://ftp.sunet.se/mirror/slackware.com/ # se ftp://ftp.acc.umu.se/mirror/slackware.com/
# tr ftp://ftp.linux.org.tr/slackware/ # tr ftp://ftp.linux.org.tr/slackware/
# tw ftp://ftp.yzu.edu.tw/Linux/Slackware/ # tw ftp://ftp.yzu.edu.tw/Linux/Slackware/
# ua ftp://ifconfig.com.ua/pub/Mirror/slackware/ # ua ftp://ifconfig.com.ua/pub/Mirror/slackware/

View file

@ -2,7 +2,7 @@
# #
# slpkg.conf file is part of slpkg. # slpkg.conf file is part of slpkg.
# #
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Slpkg is a user-friendly package manager for Slackware installations. # Slpkg is a user-friendly package manager for Slackware installations.

View file

@ -5,6 +5,10 @@
# source tree that works under Python 3. # source tree that works under Python 3.
# (Thanks beautifulsoup4 for the script). # (Thanks beautifulsoup4 for the script).
# #
# ******************************** WARNING ***********************************
# There are some issues here, please do not use before Slackware 15.0 release.
# ****************************************************************************
echo "About to destroy and rebuild the py3k/slpkg directory." echo "About to destroy and rebuild the py3k/slpkg directory."
rm -rf py3k/slpkg rm -rf py3k/slpkg
mkdir -p py3k/slpkg mkdir -p py3k/slpkg

View file

@ -2,7 +2,7 @@
# install.sh file is part of slpkg. # install.sh file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# #
# Redistribution and use of this script, with or without modification, is # Redistribution and use of this script, with or without modification, is

View file

@ -1,5 +1,5 @@
.\" -*- nroff -*- .\" -*- nroff -*-
.\" Copyright (C) 2014-2017 Dimitris Zlatanidis .\" Copyright (C) 2014-2019 Dimitris Zlatanidis
.\" .\"
.\" This program is free software: you can redistribute it and/or modify .\" This program is free software: you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by .\" it under the terms of the GNU General Public License as published by
@ -11,7 +11,7 @@
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details. .\" GNU General Public License for more details.
.\" .\"
.TH Slpkg "21" "10" 2017" "slpkg" .TH Slpkg "14" "01" 2019" "slpkg"
.SH NAME .SH NAME
Slpkg is a user-friendly package manager for Slackware installations Slpkg is a user-friendly package manager for Slackware installations
.SH SYNOPSIS .SH SYNOPSIS
@ -50,7 +50,7 @@ Usage: slpkg [COMMANDS|OPTIONS] {repository|package...}
[-p [repository] [package], --color=[]] [-p [repository] [package], --color=[]]
[-n [SBo package], --checklist, --case-ins] [-n [SBo package], --checklist, --case-ins]
[-F [package...], --case-ins] [-F [package...], --case-ins]
[-f [package...], --case-ins] [-f [package...], --case-ins, --third-party]
[-i [options] [package...]] [-i [options] [package...]]
[-u [options] [package...]] [-u [options] [package...]]
[-r [options] [package...], --deps, --check-deps, --tag, [-r [options] [package...], --deps, --check-deps, --tag,
@ -116,7 +116,7 @@ Enable or disable repositories via dialog utility (require python2-pythondialog)
Lists all enabled or disabled repositories. Lists all enabled or disabled repositories.
.SS repo-info, repository information .SS repo-info, repository information
\fBslpkg\fP \fBrepo-info\fP <\fBrepository\fP> \fBslpkg\fP \fBrepo-info\fP <\fIrepository\fP>
.PP .PP
View repository information. View repository information.
@ -138,7 +138,7 @@ Additional options:
\fBslpkg\fP \fBdeps-status\fP \fB--graph=[type]\fP \fBslpkg\fP \fBdeps-status\fP \fB--graph=[type]\fP
.PP .PP
Print dependencies status used by packages. Prerequisite packages have been installed Print dependencies status used by packages. Prerequisite packages have been installed
with the option "slpkg -s <repository> <packages>". with the option "# slpkg -s <repository> <packages>".
.PP .PP
Additional options: Additional options:
.PP .PP
@ -168,8 +168,8 @@ checksum from the configuration file.
\fBslpkg\fP \fB-b\fP <\fIname of packages\fP> \fB--add\fP, \fB--remove\fP, \fBlist\fP \fBslpkg\fP \fB-b\fP <\fIname of packages\fP> \fB--add\fP, \fB--remove\fP, \fBlist\fP
.PP .PP
Add, remove or listed packages from blacklist file. The settings here affect Add, remove or listed packages from blacklist file. The settings here affect
all repositories. Remove all packages from blacklist use argument "ALL" for package all repositories. Remove all packages from blacklist use argument like
like "# slpkg -b ALL --remove". Use asterisk "*" to match pagkages like "# slpkg -b "# slpkg -b --remove". Use asterisk "*" to match pagkages like "# slpkg -b
py* --add", this add all installed packages with starts string "py" or "# slpkg -b py* --add", this add all installed packages with starts string "py" or "# slpkg -b
multi:*multilib* --add", this add all multilib packages from repository "multi". multi:*multilib* --add", this add all multilib packages from repository "multi".
@ -180,7 +180,7 @@ multi:*multilib* --add", this add all multilib packages from repository "multi".
.PP .PP
Add, remove and listed sbo packages from queue. This argument is very useful if you want Add, remove and listed sbo packages from queue. This argument is very useful if you want
to build and install multiple packages together. Note the correct order if there are to build and install multiple packages together. Note the correct order if there are
dependencies. If you want to remove all the packages from the list run "# slpkg -q ALL --remove". dependencies. If you want to remove all the packages from the list run "# slpkg -q --remove".
(these arguments only working for the sbo repository) (these arguments only working for the sbo repository)
Build or install or build and install packages are queued. Build or install or build and install packages are queued.
@ -213,7 +213,7 @@ directly with the official repository and so always you can have updated your sy
.PP .PP
Additional options: Additional options:
.PP .PP
\fB-c ALL\fP : Check ChangeLog.txt files for changes. \fB-c \fP : Check ChangeLog.txt files for changes.
.PP .PP
\fB--upgrade\fP : Check and install packages for upgrade. \fB--upgrade\fP : Check and install packages for upgrade.
.PP .PP
@ -221,7 +221,7 @@ Additional options:
.PP .PP
\fB--resolve-off\fP : Switch off automatic resolve dependencies. \fB--resolve-off\fP : Switch off automatic resolve dependencies.
.PP .PP
\fB--skip=[packages...]\fP : Skip packages from upgrade separate by comma like "slpkg -c sbo --skip=jdk,pep8,pip" (See REGEX). \fB--skip=[packages...]\fP : Skip packages from upgrade separate by comma like "# slpkg -c sbo --skip=jdk,pep8,pip" (See REGEX).
.PP .PP
\fB--checklist\fP : Enable dialog utility and checklist option. (Require python2-pythondialog) \fB--checklist\fP : Enable dialog utility and checklist option. (Require python2-pythondialog)
@ -283,7 +283,7 @@ Additional options:
\fB--case-ins\fP : Search package name in repository with case insensitive. \fB--case-ins\fP : Search package name in repository with case insensitive.
.SS -f, --find, find installed packages .SS -f, --find, find installed packages
\fBslpkg\fP \fB-f\fP <\fInames of packages\fP>, \fI--case-ins\fP \fBslpkg\fP \fB-f\fP <\fInames of packages\fP>, \fB--case-ins\fP, \fB--third-party\fP
.PP .PP
Find installed packages with view total file size. Find installed packages with view total file size.
Example you can view all installed sbo packages like "# slpkg -f _SBo". Example you can view all installed sbo packages like "# slpkg -f _SBo".
@ -291,13 +291,15 @@ Example you can view all installed sbo packages like "# slpkg -f _SBo".
Additional options: Additional options:
.PP .PP
\fB--case-ins\fP : Search package name with case insensitive. \fB--case-ins\fP : Search package name with case insensitive.
.PP
\fB--third-party\fP : View all the third-party packages.
.SS -n, --network, view SBo packages .SS -n, --network, view SBo packages
\fBslpkg\fP \fB-n\fP <\fIname of package\fP>, <\fI[pattern], --checklist\fP>, \fI--case-ins\fP \fBslpkg\fP \fB-n\fP <\fIname of package\fP>, <\fI[pattern], --checklist\fP>, \fB--case-ins\fP
.PP .PP
View complete slackbuilds.org site in your terminal. Read file, download, View complete slackbuilds.org site in your terminal. Read file, download,
build or install etc. Use 'ALL' in [pattern] and "--checklist" additional option to load all build or install etc. Use "--checklist" additional option to load all repository, example:
repository, example "slpkg -n ALL --checklist". "# slpkg -n --checklist".
.PP .PP
Additional options: Additional options:
.PP .PP
@ -320,12 +322,12 @@ and will skip any packages that do not already have a version installed.
More information please read "man upgradepkg". More information please read "man upgradepkg".
.SS -r, --removepkg, remove previously installed Slackware binary packages .SS -r, --removepkg, remove previously installed Slackware binary packages
\fBslpkg\fP \fB-r\fP \fB[-copy, -keep, -preserve, -warn]\fP <\fInames of packages\fP>, \fB--deps\fP, \fB--check-deps\fP, \fB--tag\fP, \fB--checklist\fP \fBslpkg\fP \fB-r\fP \fB[-copy, -keep, -preserve, -warn]\fP <\fInames of packages\fP>, \fB--deps\fP, \fB--check-deps\fP, \fB--tag\fP, \fB--checklist\fP, \fB--third-party\fP
.PP .PP
Removes a previously installed Slackware package, while writing a progress report to Removes a previously installed Slackware package, while writing a progress report to
the standard output. A package may be specified either by the full package name (as the standard output. A package may be specified either by the full package name (as
you'd see listed in /var/log/packages/), or by the base package name. If installed you'd see listed in /var/log/packages/), or by the base package name. If installed
packages with command "slpkg -s <repo> <packages>" then write a file in /var/log/slpkg/dep/ packages with command "# slpkg -s <repo> <packages>" then write a file in /var/log/slpkg/dep/
with all dependencies and it allows you can remove them all together. with all dependencies and it allows you can remove them all together.
More information please read "man removepkg". More information please read "man removepkg".
.PP .PP
@ -338,6 +340,8 @@ Additional options:
\fB--tag\fP : Remove packages with by TAG. \fB--tag\fP : Remove packages with by TAG.
.PP .PP
\fB--checklist\fP : Enable dialog utility and checklist option. (Require python2-pythondialog) \fB--checklist\fP : Enable dialog utility and checklist option. (Require python2-pythondialog)
.PP
\fB--third-party\fP : Remove all the third-party packages. (Be sure update the package lists before)
.SS -d, --display, display the installed packages contents and file list .SS -d, --display, display the installed packages contents and file list
\fBslpkg\fP \fB-d\fP <\fInames of packages\fP> \fBslpkg\fP \fB-d\fP <\fInames of packages\fP>
@ -435,7 +439,7 @@ Dimitris Zlatanidis <d.zlatanidis@gmail.com>
.SH HOMEPAGE .SH HOMEPAGE
https://gitlab.com/dslackw/slpkg https://gitlab.com/dslackw/slpkg
.SH COPYRIGHT .SH COPYRIGHT
Copyright \(co 2014-2017 Dimitris Zlatanidis Copyright \(co 2014-2019 Dimitris Zlatanidis
.SH SEE ALSO .SH SEE ALSO
installpkg(8), upgradepkg(8), removepkg(8), pkgtool(8), slackpkg(8), explodepkg(8), installpkg(8), upgradepkg(8), removepkg(8), pkgtool(8), slackpkg(8), explodepkg(8),

View file

@ -3,7 +3,7 @@
# setup.py file is part of slpkg. # setup.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -54,8 +54,10 @@ def print_logo():
print(logo) print(logo)
time.sleep(1) time.sleep(1)
print_logo() print_logo()
setup( setup(
name="slpkg", name="slpkg",
packages=["slpkg", "slpkg/sbo", "slpkg/pkg", "slpkg/slack", packages=["slpkg", "slpkg/sbo", "slpkg/pkg", "slpkg/slack",
@ -68,7 +70,7 @@ setup(
author=_meta_.__author__, author=_meta_.__author__,
author_email=_meta_.__email__, author_email=_meta_.__email__,
url="https://gitlab.com/dslackw/slpkg", url="https://gitlab.com/dslackw/slpkg",
package_data={"": ["LICENSE", "README.rst", "CHANGELOG"]}, package_data={"": ["LICENSE", "README.md", "CHANGELOG"]},
data_files=[("man/man8", ["man/slpkg.8"]), data_files=[("man/man8", ["man/slpkg.8"]),
("/etc/bash_completion.d", ["conf/slpkg.bash-completion"]), ("/etc/bash_completion.d", ["conf/slpkg.bash-completion"]),
("/etc/fish/completions", ["conf/slpkg.fish"])], ("/etc/fish/completions", ["conf/slpkg.fish"])],
@ -92,7 +94,7 @@ setup(
"Topic :: System :: Archiving :: Packaging", "Topic :: System :: Archiving :: Packaging",
"Topic :: System :: Software Distribution", "Topic :: System :: Software Distribution",
"Topic :: Utilities"], "Topic :: Utilities"],
long_description=open("README.rst").read() long_description=open("README.md").read()
) )
# Install configuration files with pip. # Install configuration files with pip.

View file

@ -2,7 +2,7 @@
# Slackware build script for slpkg # Slackware build script for slpkg
# Copyright 2014-2018 Dimitris Zlatanidis Orestiada, Greece # Copyright 2014-2019 Dimitris Zlatanidis Orestiada, Greece
# All rights reserved. # All rights reserved.
# #
# Redistribution and use of this script, with or without modification, is # Redistribution and use of this script, with or without modification, is
@ -110,7 +110,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README.rst ChangeLog.txt LICENSE TESTING ISSUES KNOWN_ISSUES REPOSITORIES \ cp -a README.md ChangeLog.txt LICENSE TESTING ISSUES KNOWN_ISSUES REPOSITORIES \
requirements.txt $PKG/usr/doc/$PRGNAM-$VERSION requirements.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

View file

@ -3,7 +3,7 @@
# __metadata__.py file is part of slpkg. # __metadata__.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -78,7 +78,7 @@ class MetaData(object):
__all__ = "slpkg" __all__ = "slpkg"
__author__ = "dslackw" __author__ = "dslackw"
__version_info__ = (3, 3, 8) __version_info__ = (3, 3, 9)
__version__ = "{0}.{1}.{2}".format(*__version_info__) __version__ = "{0}.{1}.{2}".format(*__version_info__)
__license__ = "GNU General Public License v3 (GPLv3)" __license__ = "GNU General Public License v3 (GPLv3)"
__email__ = "d.zlatanidis@gmail.com" __email__ = "d.zlatanidis@gmail.com"

View file

@ -3,7 +3,7 @@
# arguments.py file is part of slpkg. # arguments.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -139,8 +139,8 @@ Optional arguments:
-F | --FIND, [package...], --case-ins Find packages from each enabled -F | --FIND, [package...], --case-ins Find packages from each enabled
repository and view results. repository and view results.
-f | --find, [package...], --case-ins Find and print installed packages -f | --find, [package...], --case-ins, Find and print installed packages
reporting the size and the sum. --third-party reporting the size and the sum.
-i | --installpkg, [options] [package...] Installs single or multiple *.tgz -i | --installpkg, [options] [package...] Installs single or multiple *.tgz
options=[--warn, --md5sum, --root, (or .tbz, .tlz, .txz) Slackware options=[--warn, --md5sum, --root, (or .tbz, .tlz, .txz) Slackware
@ -154,7 +154,7 @@ Optional arguments:
-r | --removepkg, [options] [package...], Removes a previously installed -r | --removepkg, [options] [package...], Removes a previously installed
--deps, --check-deps, --tag, Slackware binary packages, --deps, --check-deps, --tag, Slackware binary packages,
--checklist while writing a progress report --checklist, --third-party while writing a progress report
options=[-warn, -preserve, -copy, to the standard output. options=[-warn, -preserve, -copy, to the standard output.
-keep] Use only package name. -keep] Use only package name.
@ -205,11 +205,11 @@ def usage(repo):
[-p [repository] [package], --color=[]] [-p [repository] [package], --color=[]]
[-n [SBo package], --checklist, --case-ins] [-n [SBo package], --checklist, --case-ins]
[-F [package...], --case-ins] [-F [package...], --case-ins]
[-f [package...], --case-ins] [-f [package...], --case-ins, --third-party]
[-i [options] [package...]] [-i [options] [package...]]
[-u [options] [package...]] [-u [options] [package...]]
[-r [options] [package...], --deps, --check-deps, --tag, [-r [options] [package...], --deps, --check-deps, --tag,
--checklist] --checklist, --third-party]
[-d [package...]] [-d [package...]]
""" """
if repo and repo not in _meta_.repositories: if repo and repo not in _meta_.repositories:

View file

@ -3,7 +3,7 @@
# auto_pkg.py file is part of slpkg. # auto_pkg.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# check.py file is part of slpkg. # check.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# dependency.py file is part of slpkg. # dependency.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# greps.py file is part of slpkg. # greps.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# install.py file is part of slpkg. # install.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# repo_init.py file is part of slpkg. # repo_init.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# search.py file is part of slpkg. # search.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# blacklist.py file is part of slpkg. # blacklist.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# checks.py file is part of slpkg. # checks.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# checksum.py file is part of slpkg. # checksum.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# config.py file is part of slpkg. # config.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# desc.py file is part of slpkg. # desc.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# dialog_box.py file is part of slpkg. # dialog_box.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -34,8 +34,6 @@ class DialogUtil(object):
try: try:
from dialog import Dialog from dialog import Dialog
except ImportError: except ImportError:
print("Require 'pythondialog': Install with 'slpkg -s sbo "
"python2-pythondialog'")
raise SystemExit() raise SystemExit()
self.d = Dialog(dialog="dialog", autowidgetsize=True) self.d = Dialog(dialog="dialog", autowidgetsize=True)
self.data = args[0] self.data = args[0]

View file

@ -3,7 +3,7 @@
# downloader.py file is part of slpkg. # downloader.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# file_size.py file is part of slpkg. # file_size.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# graph.py file is part of slpkg. # graph.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# grep_md5.py file is part of slpkg. # grep_md5.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# health.py file is part of slpkg. # health.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# init.py file is part of slpkg. # init.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# load.py file is part of slpkg. # load.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# log_deps.py file is part of slpkg. # log_deps.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# main.py file is part of slpkg. # main.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -101,7 +101,7 @@ class ArgParse(object):
] and self.args[1] == repo and repo in enabled_repos: ] and self.args[1] == repo and repo in enabled_repos:
print("\n Please update the packages lists. Run 'slpkg update'.\n" print("\n Please update the packages lists. Run 'slpkg update'.\n"
" This command should be used to synchronize the packages\n" " This command should be used to synchronize the packages\n"
" lists from the repositories are enabled.\n") " lists from the repositories that are enabled.\n")
raise SystemExit() raise SystemExit()
def help_version(self): def help_version(self):
@ -142,6 +142,7 @@ class ArgParse(object):
def command_repo_enable(self): def command_repo_enable(self):
"""Repositories enable/disable """Repositories enable/disable
""" """
self.if_checklist()
if len(self.args) == 1 and self.args[0] == "repo-enable": if len(self.args) == 1 and self.args[0] == "repo-enable":
RepoEnable().choose() RepoEnable().choose()
else: else:
@ -309,13 +310,13 @@ class ArgParse(object):
else: else:
Patches(skip, flag).start() Patches(skip, flag).start()
elif self.args[1] == "sbo": elif self.args[1] == "sbo":
SBoInstall(sbo_upgrade(skip, flag), flag).start(is_upgrade=True) SBoInstall(sbo_upgrade(skip, flag), flag).start(
is_upgrade=True)
else: else:
usage(self.args[1]) usage(self.args[1])
elif len(self.args) == 2 and self.args[0] in options: elif len(self.args) == 1 and self.args[0] in options:
if self.args[1] == "ALL":
Updates(repo="").ALL() Updates(repo="").ALL()
else: elif len(self.args) == 2 and self.args[0] in options:
Updates(self.args[1]).run() Updates(self.args[1]).run()
elif (len(self.args) >= 2 and self.args[0] in options and elif (len(self.args) >= 2 and self.args[0] in options and
self.args[1] not in self.meta.repositories): self.args[1] not in self.meta.repositories):
@ -336,6 +337,8 @@ class ArgParse(object):
flag.append(arg) flag.append(arg)
if arg in self.args: if arg in self.args:
self.args.remove(arg) self.args.remove(arg)
if "--checklist" in flag:
self.if_checklist()
return flag, skip return flag, skip
def pkg_install(self): def pkg_install(self):
@ -433,9 +436,15 @@ class ArgParse(object):
if add in self.args: if add in self.args:
flag.append(add) flag.append(add)
self.args.remove(add) self.args.remove(add)
if "--checklist" in flag:
self.if_checklist()
if (len(self.args) == 2 and self.args[0] in options and if (len(self.args) == 2 and self.args[0] in options and
"sbo" in self.meta.repositories): "sbo" in self.meta.repositories):
SBoNetwork(self.args[1], flag).view() SBoNetwork(self.args[1], flag).view()
elif (len(self.args) == 1 and self.args[0] in options and
"sbo" in self.meta.repositories and
additional_options[0] in flag):
SBoNetwork("", flag).view()
else: else:
usage("sbo") usage("sbo")
@ -459,8 +468,8 @@ class ArgParse(object):
flag[0] in self.args): flag[0] in self.args):
self.args.remove(flag[0]) self.args.remove(flag[0])
blacklist.add(self.args[1:]) blacklist.add(self.args[1:])
elif (len(self.args) == 3 and self.args[0] in options and elif (len(self.args) == 2 and self.args[0] in options and
"ALL" in self.args and flag[1] in self.args): flag[1] in self.args):
self.args.remove(flag[1]) self.args.remove(flag[1])
blacklist.remove(blacklist.get_black()) blacklist.remove(blacklist.get_black())
elif (len(self.args) > 2 and self.args[0] in options and elif (len(self.args) > 2 and self.args[0] in options and
@ -492,8 +501,8 @@ class ArgParse(object):
flag[0] in self.args): flag[0] in self.args):
self.args.remove(flag[0]) self.args.remove(flag[0])
queue.add(self.args[1:]) queue.add(self.args[1:])
elif (len(self.args) == 3 and self.args[0] in options and elif (len(self.args) == 2 and self.args[0] in options and
"ALL" in self.args and flag[1] in self.args): flag[1] in self.args):
self.args.remove(flag[1]) self.args.remove(flag[1])
queue.remove(queue.packages()) queue.remove(queue.packages())
elif (len(self.args) > 2 and self.args[0] in options and elif (len(self.args) > 2 and self.args[0] in options and
@ -579,7 +588,8 @@ class ArgParse(object):
"--deps", "--deps",
"--check-deps", "--check-deps",
"--tag", "--tag",
"--checklist" "--checklist",
"--third-party"
] ]
flag, extra = "", [] flag, extra = "", []
flags = [ flags = [
@ -602,6 +612,10 @@ class ArgParse(object):
if fl in self.args: if fl in self.args:
flag = self.args[1] flag = self.args[1]
packages = self.args[2:] packages = self.args[2:]
if "--checklist" in extra:
self.if_checklist()
if not packages:
packages = [""]
PackageManager(packages).remove(flag, extra) PackageManager(packages).remove(flag, extra)
else: else:
usage("") usage("")
@ -614,13 +628,20 @@ class ArgParse(object):
"-f", "-f",
"--find" "--find"
] ]
additional_options = ["--case-ins"] additional_options = [
for arg in self.args: "--case-ins",
if arg in additional_options: "--third-party"
flag.append(arg) ]
self.args.remove(arg) for add in additional_options:
if add in self.args:
flag.append(add)
self.args.remove(add)
packages = self.args[1:] packages = self.args[1:]
if len(self.args) > 1 and self.args[0] in options: if not packages:
packages = [""]
if len(self.args) == 1 and self.args[0] in options:
PackageManager(packages).find(flag)
elif len(self.args) > 1 and self.args[0] in options:
PackageManager(packages).find(flag) PackageManager(packages).find(flag)
else: else:
usage("") usage("")
@ -744,6 +765,14 @@ class ArgParse(object):
self.msg.pkg_not_found("", ntf, "Not installed", "") self.msg.pkg_not_found("", ntf, "Not installed", "")
raise SystemExit() raise SystemExit()
def if_checklist(self):
try:
from dialog import Dialog
except ImportError:
print("Require 'pythondialog': Install with 'slpkg -s sbo "
"python2-pythondialog'")
raise SystemExit()
def main(): def main():

View file

@ -3,7 +3,7 @@
# md5sum.py file is part of slpkg. # md5sum.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# messages.py file is part of slpkg. # messages.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# new_config.py file is part of slpkg. # new_config.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# build.py file is part of slpkg. # build.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# find.py file is part of slpkg. # find.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# installed.py file is part of slpkg. # installed.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# manager.py file is part of slpkg. # manager.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -36,6 +36,8 @@ from slpkg.dialog_box import DialogUtil
from slpkg.splitting import split_package from slpkg.splitting import split_package
from slpkg.__metadata__ import MetaData as _meta_ from slpkg.__metadata__ import MetaData as _meta_
from slpkg.slack.slackware_repo import slackware_repository
class PackageManager(object): class PackageManager(object):
"""Package manager class for install, upgrade, """Package manager class for install, upgrade,
@ -115,9 +117,11 @@ class PackageManager(object):
if remove_pkg in ["y", "Y"]: if remove_pkg in ["y", "Y"]:
self._check_if_used(self.binary) self._check_if_used(self.binary)
for rmv in self.removed: for rmv in self.removed:
# If package build and install with "slpkg -s sbo <package>" '''
# then look log file for dependencies in /var/log/slpkg/dep, If package build and install with "slpkg -s sbo <package>"
# read and remove all else remove only the package. then look log file for dependencies in /var/log/slpkg/dep,
read and remove all else remove only the package.
'''
if (os.path.isfile(self.dep_path + rmv) and if (os.path.isfile(self.dep_path + rmv) and
self.meta.del_deps in ["on", "ON"] or self.meta.del_deps in ["on", "ON"] or
os.path.isfile(self.dep_path + rmv) and os.path.isfile(self.dep_path + rmv) and
@ -152,16 +156,29 @@ class PackageManager(object):
def _get_removed(self): def _get_removed(self):
"""Manage removed packages by extra options """Manage removed packages by extra options
""" """
removed, packages = [], [] extra = self.extra
if "--tag" in self.extra: removed, packages, pkg = [], [], ""
if "--tag" in extra:
for pkg in find_package("", self.meta.pkg_path): for pkg in find_package("", self.meta.pkg_path):
for tag in self.binary: for tag in self.binary:
if pkg.endswith(tag): if pkg.endswith(tag):
removed.append(split_package(pkg)[0]) removed.append(split_package(pkg)[0])
packages.append(pkg) packages.append(pkg)
if not removed: pkg = ""
self.msg.pkg_not_found("", "'tag'", "Can't remove", "\n") extra = ""
raise SystemExit(1) elif "--third-party" in extra:
slack_packages, slack_names = slackware_repository()
slpkg_pkg = self.meta.__all__ + "-" + self.meta.__version__
binary = self.binary
for pkg in find_package("", self.meta.pkg_path):
slack_name = split_package(pkg)[0]
for tag in binary:
if (slack_name not in slack_names and
slpkg_pkg not in pkg and tag in pkg):
removed.append(split_package(pkg)[0])
packages.append(pkg)
pkg = ""
extra = ""
else: else:
for pkg in self.binary: for pkg in self.binary:
name = GetFromInstalled(pkg).name() name = GetFromInstalled(pkg).name()
@ -171,9 +188,9 @@ class PackageManager(object):
if pkg and name == pkg: if pkg and name == pkg:
removed.append(pkg) removed.append(pkg)
packages.append(package[0]) packages.append(package[0])
else: if not removed:
self.msg.pkg_not_found("", pkg, "Can't remove", "\n") self.msg.pkg_not_found("", pkg, "Can't remove", "\n")
raise SystemExit(1) raise SystemExit(1)
return removed, packages return removed, packages
def _view_removed(self): def _view_removed(self):
@ -197,11 +214,21 @@ class PackageManager(object):
self.meta.default_answer = "y" self.meta.default_answer = "y"
else: else:
for rmv, pkg in zip(removed, packages): for rmv, pkg in zip(removed, packages):
print("[ {0}delete{1} ] --> {2}".format(
self.meta.color["RED"], self.meta.color["ENDC"], pkg))
self._sizes(pkg) self._sizes(pkg)
print("[ {0}delete{1} ] --> [ {2} ] - {3}".format(
self.meta.color["RED"], self.meta.color["ENDC"],
self.file_size, pkg))
self._calc_sizes() self._calc_sizes()
self._remove_summary() self._remove_summary()
if "--third-party" in self.extra:
print("\n")
self.msg.template(78)
print("| {0}{1}*** WARNING ***{2}").format(
" " * 27, self.meta.color["RED"], self.meta.color["ENDC"])
print("| Before you use third-party option, be sure you have"
" updated the package \n| lists. Run the command"
" 'slpkg update' and 'slpkg -c slack --upgrade'")
self.msg.template(78)
return removed return removed
def _calc_sizes(self): def _calc_sizes(self):
@ -334,8 +361,8 @@ class PackageManager(object):
dependency.append(rmv) dependency.append(rmv)
if package: if package:
if "--checklist" in self.extra: if "--checklist" in self.extra:
text = ("Press 'spacebar' to choose packages for the remove" text = ("Press 'spacebar' to choose packages for the"
" exception") " remove exception")
backtitle = "{0} {1}".format(self.meta.__all__, backtitle = "{0} {1}".format(self.meta.__all__,
self.meta.__version__) self.meta.__version__)
status = False status = False
@ -379,24 +406,37 @@ class PackageManager(object):
def find(self, flag): def find(self, flag):
"""Find installed Slackware packages """Find installed Slackware packages
""" """
matching, pkg_cache, match_cache = 0, "", "" matching, packages = 0, []
pkg_cache, match_cache = "", ""
slack_packages, slack_names = slackware_repository()
print("\nPackages with matching name [ {0}{1}{2} ]\n".format( print("\nPackages with matching name [ {0}{1}{2} ]\n".format(
self.meta.color["CYAN"], ", ".join(self.binary), self.meta.color["CYAN"], ", ".join(self.binary),
self.meta.color["ENDC"])) self.meta.color["ENDC"]))
for pkg in self.binary: for pkg in self.binary:
for match in find_package("", self.meta.pkg_path): for match in find_package("", self.meta.pkg_path):
pkg_cache = pkg
match_cache = match
split_name = split_package(match)[0]
if "--case-ins" in flag: if "--case-ins" in flag:
pkg_cache = pkg.lower() pkg_cache = pkg.lower()
match_cache = match.lower() match_cache = match.lower()
else: if ("--third-party" in flag and not self.binary and
pkg_cache = pkg split_name not in slack_names):
match_cache = match packages.append(match)
if pkg_cache in match_cache: if ("--third-party" in flag and pkg_cache in match_cache and
matching += 1 split_name not in slack_names):
self._sizes(match) packages.append(match)
print("[ {0}installed{1} ] [ {2} ] - {3}".format( if pkg_cache in match_cache and not flag:
self.meta.color["GREEN"], self.meta.color["ENDC"], packages.append(match)
self.file_size, match)) if ("--case-ins" in flag and "--third-party" not in flag and
pkg_cache in match_cache):
packages.append(match)
for pkgs in packages:
matching += 1
self._sizes(pkgs)
print("[ {0}installed{1} ] [ {2} ] - {3}".format(
self.meta.color["GREEN"], self.meta.color["ENDC"],
self.file_size, pkgs))
if matching == 0: if matching == 0:
message = "Can't find" message = "Can't find"
self.msg.pkg_not_found("", ", ".join(self.binary), message, "\n") self.msg.pkg_not_found("", ", ".join(self.binary), message, "\n")
@ -418,7 +458,7 @@ class PackageManager(object):
for line in data.splitlines(): for line in data.splitlines():
if line.startswith("UNCOMPRESSED PACKAGE SIZE:"): if line.startswith("UNCOMPRESSED PACKAGE SIZE:"):
digit = float((''.join(re.findall( digit = float((''.join(re.findall(
"[-+]?\d+[\.]?\d*[eE]?[-+]?\d*", line[26:])))) r"[-+]?\d+[\.]?\d*[eE]?[-+]?\d*", line[26:]))))
self.file_size = line[26:].strip() self.file_size = line[26:].strip()
if "M" in line[26:]: if "M" in line[26:]:
self.size += digit * 1024 self.size += digit * 1024
@ -533,7 +573,8 @@ class PackageManager(object):
"SLACKBUILDS.TXT".format(repo)) "SLACKBUILDS.TXT".format(repo))
else: else:
if (os.path.isfile( if (os.path.isfile(
self.meta.lib_path + "{0}_repo/PACKAGES.TXT".format(repo))): self.meta.lib_path + "{0}_repo/PACKAGES.TXT".format(
repo))):
packages = Utils().read_file(self.meta.lib_path + "{0}_repo/" packages = Utils().read_file(self.meta.lib_path + "{0}_repo/"
"PACKAGES.TXT".format(repo)) "PACKAGES.TXT".format(repo))
return packages return packages

View file

@ -3,7 +3,7 @@
# pkg_find.py file is part of slpkg. # pkg_find.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# remove.py file is part of slpkg. # remove.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# repoenable.py file is part of slpkg. # repoenable.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# repoinfo.py file is part of slpkg. # repoinfo.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# repolist.py file is part of slpkg. # repolist.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# repositories.py file is part of slpkg. # repositories.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# autobuild.py file is part of slpkg. # autobuild.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# build_num.py file is part of slpkg. # build_num.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# check.py file is part of slpkg. # check.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# download.py file is part of slpkg. # download.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# dependency.py file is part of slpkg. # dependency.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# greps.py file is part of slpkg. # greps.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# network.py file is part of slpkg. # network.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -268,9 +268,11 @@ class SBoNetwork(object):
self.msg.template(78) self.msg.template(78)
print("| {0} > {1} > {2}{3}{4}".format(slack_ver(), print("| {0} > {1} > {2}{3}{4}".format(slack_ver(),
sbo_url.split("/")[-3].title(), sbo_url.split("/")[-3].title(),
self.cyan, self.name, self.endc)) self.cyan, self.name,
self.endc))
self.msg.template(78) self.msg.template(78)
print("| {0}Package url{1}: {2}".format(self.green, self.endc, sbo_url)) print("| {0}Package url{1}: {2}".format(self.green, self.endc,
sbo_url))
self.msg.template(78) self.msg.template(78)
print("| {0}Description: {1}{2}".format(self.green, print("| {0}Description: {1}{2}".format(self.green,
self.endc, self.sbo_desc)) self.endc, self.sbo_desc))
@ -310,7 +312,7 @@ class SBoNetwork(object):
"""Using dialog and checklist option """Using dialog and checklist option
""" """
data = [] data = []
if self.name == "ALL": if not self.name:
data = self.data data = self.data
else: else:
for name in self.data: for name in self.data:

View file

@ -3,7 +3,7 @@
# queue.py file is part of slpkg. # queue.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# read.py file is part of slpkg. # read.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# remove.py file is part of slpkg. # remove.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# sbo_arch.py file is part of slpkg. # sbo_arch.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# search.py file is part of slpkg. # search.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# slack_find.py file is part of slpkg. # slack_find.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# slackbuild.py file is part of slpkg. # slackbuild.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# security.py file is part of slpkg. # security.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# sizes.py file is part of slpkg. # sizes.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# mirrors.py file is part of slpkg. # mirrors.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# patches.py file is part of slpkg. # patches.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -208,7 +208,8 @@ class Patches(object):
Upgrade packages Upgrade packages
""" """
for pkg in self.upgrade_all: for pkg in self.upgrade_all:
check_md5(pkg_checksum(pkg, "slack_patches"), self.patch_path + pkg) check_md5(pkg_checksum(pkg, "slack_patches"),
self.patch_path + pkg)
pkg_ver = "{0}-{1}".format(split_package(pkg)[0], pkg_ver = "{0}-{1}".format(split_package(pkg)[0],
split_package(pkg)[1]) split_package(pkg)[1])
if find_package(split_package(pkg)[0] + self.meta.sp, if find_package(split_package(pkg)[0] + self.meta.sp,
@ -239,19 +240,27 @@ class Patches(object):
else: else:
print("") print("")
self.msg.template(78) self.msg.template(78)
print("| {0}*** HIGHLY recommended reinstall 'LILO' " print("| {0}*** HIGHLY recommended reinstall boot loader "
"***{1}".format(self.meta.color["RED"], "***{1}".format(self.meta.color["RED"],
self.meta.color["ENDC"])) self.meta.color["ENDC"]))
print("| L=lilo / E=elilo / G=grub")
self.msg.template(78) self.msg.template(78)
try: try:
answer = raw_input("\nThe kernel has been upgraded, " answer = raw_input("\nThe kernel has been upgraded, "
"reinstall `LILO` [y/N]? ") "reinstall boot loader [L/E/G]? ")
except EOFError: except EOFError:
print("") print("")
raise SystemExit() raise SystemExit()
if answer in ["y", "Y"]: if answer in ["L"]:
subprocess.call("lilo", shell=True) subprocess.call("lilo", shell=True)
break break
elif answer in ["E"]:
subprocess.call("eliloconfig", shell=True)
break
elif answer in ["G"]:
subprocess.call("grub-mkconfig -o /boot/grub/grub.cfg",
shell=True)
break
def slackpkg_update(self): def slackpkg_update(self):
"""This replace slackpkg ChangeLog.txt file with new """This replace slackpkg ChangeLog.txt file with new

View file

@ -3,7 +3,7 @@
# slack_version.py file is part of slpkg. # slack_version.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -0,0 +1,42 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# slackware_repo.py file is part of slpkg.
# Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations
# https://gitlab.com/dslackw/slpkg
# Slpkg is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from slpkg.utils import Utils
from slpkg.binary.greps import repo_data
from slpkg.splitting import split_package
from slpkg.__metadata__ import MetaData as _meta_
def slackware_repository():
"""Return all official Slackware packages
"""
slack_repo, packages, names, name = [], [], [], ""
slack_repo = repo_data(
Utils().read_file(_meta_.lib_path + "slack_repo/PACKAGES.TXT"),
"slack", "")
for pkg in slack_repo[0]:
name = split_package(pkg)[0]
names.append(name)
packages.append(pkg[:-4])
return packages, names

View file

@ -3,7 +3,7 @@
# slpkg_update.py file is part of slpkg. # slpkg_update.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -35,7 +35,7 @@ from slpkg.__metadata__ import MetaData as _meta_
def it_self_update(): def it_self_update():
"""Check from GitHub slpkg repository if new version is available """Check from GitLab slpkg repository if new version is available
download and update itself download and update itself
""" """
__new_version__ = "" __new_version__ = ""
@ -86,6 +86,6 @@ def it_self_update():
subprocess.call("chmod +x {0}".format("install.sh"), shell=True) subprocess.call("chmod +x {0}".format("install.sh"), shell=True)
subprocess.call("sh install.sh", shell=True) subprocess.call("sh install.sh", shell=True)
else: else:
print("\n{0}: There is no new version, already used the last !" print("\n{0}: There is no new version, already used the last!"
"\n".format(_meta_.__all__)) "\n".format(_meta_.__all__))
raise SystemExit() raise SystemExit()

View file

@ -3,7 +3,7 @@
# splitting.py file is part of slpkg. # splitting.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# status_deps.py file is part of slpkg. # status_deps.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# superuser.py file is part of slpkg. # superuser.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# toolbar.py file is part of slpkg. # toolbar.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# tracking.py file is part of slpkg. # tracking.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations
@ -93,7 +93,7 @@ class TrackingDeps(object):
used = self.check_used(pkg) used = self.check_used(pkg)
self.deps_used(pkg, used) self.deps_used(pkg, used)
used = "{0} {1}{2}{3}".format( used = "{0} {1}{2}{3}".format(
"is dependency -->", self.cyan, "is dependence on -->", self.cyan,
", ".join(used), self.endc) ", ".join(used), self.endc)
else: else:
used = "" used = ""

View file

@ -3,7 +3,7 @@
# upgrade_checklist.py file is part of slpkg. # upgrade_checklist.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# url_read.py file is part of slpkg. # url_read.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# utils.py file is part of slpkg. # utils.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations

View file

@ -3,7 +3,7 @@
# version.py file is part of slpkg. # version.py file is part of slpkg.
# Copyright 2014-2018 Dimitris Zlatanidis <d.zlatanidis@gmail.com> # Copyright 2014-2019 Dimitris Zlatanidis <d.zlatanidis@gmail.com>
# All rights reserved. # All rights reserved.
# Slpkg is a user-friendly package manager for Slackware installations # Slpkg is a user-friendly package manager for Slackware installations