diff --git a/ChangeLog.txt b/ChangeLog.txt index 6f74a8ab..75b0008f 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,3 +1,13 @@ +3.4.0 - 21/01/2019 +Updated: +- Updated manpage +- Convert examples, repositories and install text files to markdown format +- Merge sbo/remove.py in the slpkg/remove.py file +Fixed: +- Bugfix: update slpkg itself from gitlab repository +Added: +- Command 'clean-tmp' to remove the packages and the sources from /tmp/slpkg/ directory + 3.3.9 - 14/01/2019 Updated: - Readme file and added example text file diff --git a/EXAMPLES.md b/EXAMPLES.md new file mode 100644 index 00000000..d2d9be86 --- /dev/null +++ b/EXAMPLES.md @@ -0,0 +1,1412 @@ +# Slpkg + + +##### Usage + +First you need to run '`slpkg update`' to synchronize the lists of packages, also every time you add +a new repository. To add or remove repositories must edit the file '`/etc/slpkg/repositories.conf`' +or run '`slpkg repo-enable`' (python2-pythondialog required). Add custom repositories with the +command '`slpkg add-repo `' and after run '`slpkg update`' to update package +list. View list of repositories with the command `slpkg repo-list` or get repository information +with the command '`slpkg repo-info `'. + +Update slpkg itself simply run '`slpkg update slpkg`', and slpkg check from GitLab repository if 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. + +Print the dependencies status with the command '`slpkg deps-status`' or draw image map dependencies +with the additional option '`--graph=[image]`'. + +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 the +command '`slpkg -a `'. + +Manage the packages in the blacklist with the command '`slpkg -b --add or --remove`'. + +Add the SBo packages to the queue with the command '`slpkg -q --add or --remove`' and +manage as build, install or build and install with the command '`slpkg build or install or +build-install`'. This is very useful if you want to install multiple packages together, suffice to +add in the right order if there are dependent packages. + +View list of the packages from specific repository with command '`slpkg -l `'. +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 +--upgrade`'. Don't forget to update the packages lists before (for the '`slack`' repository it's not +necessary). 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`'. +Use '`--checklist`' option to help you to choose easy the packages. For advanced users, the +option '`--skip`' give them more power (see manpage). + +The most famous command is '`slpkg -s `', this command downloads, build and +installs packages with the resolve all the dependencies or switch off resolve with the option +'`--resolve-off`'. Also the additional option '`--case-ins`' help you find the packages with case +insensitive. Two new arguments, help you to rebuild '`--rebuild`' or reinstall '`--reinstall`' packages. +The last one argument '`--patches`' help you to switch in the '`patches/`' directory, only for the slack +repository. + +Tracking the dependencies of a package with command '`slpkg -t `', displays a +package dependency tree and also shows to you which ones are installed on your system events. +Check if the packages used from other packages with the option '`--check-deps`' or draw image map +dependencies with the additional option '`--graph=[image]`'. + +Get information description of a package with the command '`slpkg -p `' and +change the color of the text with the additional flag '`--color=[]`'. + +View a SBo package page on your terminal with command `slpkg -n ` and then manage +multiple choices such read, download, build, install etc. + +If you want to find a package of all the repositories, that command will solve your hands +'`slpkg -F `', 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 `'. The option '`--third-party`' help you to view only the third-party +packages + +The next three commands '`slpkg --installpkg, --upgradepkg, --removepkg `' install, upgrade, +remove packages from your system events. Notable mention you must give in the command +'`slpkg --removepkg `' which you can remove the packages with all dependencies together +after editing configuration file '`/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 +third-party packages with the option '`--third-party`'. + +The command '`slpkg -d `' is useful to print the entire contents of a package. + +Some examples you will see below. + + +##### Slpkg Examples + +Enable or disable default repositories, edit '`/etc/slpkg/repositories.conf`' file or with the command. +(require pythondialog, install with '`slpkg -s sbo python2-pythondialog`'): + +``` +$ slpkg repo-enable +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/repo_enable.png) + + +If you use slpkg for the first time, you will have to create and update the packages +lists. This command must be executed to update the packages lists: + +``` +$ slpkg update + +Update repository [slack] ... Done +Update repository [sbo] ... Done +Update repository [alien] ... Done +Update repository [slacky] ... Done +Update repository [conrad] ... Done +Update repository [slonly] ... Done +Update repository [ktown] ... Done +Update repository [salix] ... Done +Update repository [slacke] ... Done +Update repository [slackl] ... Done +Update repository [multi] ... Done +Update repository [msb] ... Done + +``` +Update specifically repositories: + +``` +$ slpkg update --repositories=sbo,msb,slacky +``` + +Also you can check ChangeLog.txt for changes, like: + +``` +$ slpkg -c sbo + ++============================================================================== +| Repository Status ++============================================================================== + sbo News in ChangeLog.txt + +Summary +=============================================================================== +From 1 repositories need 1 updating. Run the command 'slpkg update'. + + +$ slpkg --check + ++============================================================================== +| Repository Status ++============================================================================== + slack No changes in ChangeLog.txt + sbo News in ChangeLog.txt + slacky News in ChangeLog.txt + alien No changes in ChangeLog.txt + rlw No changes in ChangeLog.txt + +Summary +=============================================================================== +From 5 repositories need 2 updating. Run the command 'slpkg update'. +``` + +Add and remove custom repositories: + +``` +$ slpkg repo-add ponce http://ponce.cc/slackware/slackware64-14.2/packages/ + +Repository 'ponce' successfully added + +$ slpkg repo-add repo1 file:///home/user1/repos/alien/ + +Repository 'repo1' successfully added + +$ slpkg repo-remove ponce + +Repository 'ponce' successfully removed + +``` + +View information about the repositories: + +``` +$ slpkg repo-list + ++============================================================================== +| Repo id Repo URL Default Status ++============================================================================== + alien http://www.slackware.com/~alien/slackbuilds/ yes disabled + ktown http://alien.slackbook.org/ktown/ yes disabled + msb http://slackware.org.uk/msb/ yes enabled + multi http://www.slackware.com/~alien/multilib/ yes disabled + ponce http://ponce.cc/slackware/slackware64-14.2/packa~ no enabled + rested http://taper.alienbase.nl/mirrors/people/alien/r~ yes disabled + rlw http://rlworkman.net/pkgs/ yes disabled + salix http://download.salixos.org/ yes disabled + sbo http://slackbuilds.org/slackbuilds/ yes enabled + slack http://ftp.cc.uoc.gr/mirrors/linux/slackware/ yes enabled + slacke http://ngc891.blogdns.net/pub/ yes disabled + slackl http://www.slackel.gr/repo/ yes disabled + conrad http://slack.conraid.net/repository/slackware64-~ yes disabled + slacky http://repository.slacky.eu/ yes disabled + slonly https://slackonly.com/pub/packages/ yes disabled + +Repositories summary +=============================================================================== +3/14 enabled default repositories and 1 custom. +For enable or disable default repositories edit '/etc/slpkg/repositories.conf' +file. + +$ slpkg repo-info alien + +Default: yes +Last updated: Tue Dec 23 11:48:31 UTC 2014 +Number of packages: 3149 +Repo id: alien +Repo url: http://www.slackware.com/~alien/slackbuilds/ +Status: enabled +Total compressed packages: 9.3 Gb +Total uncompressed packages: 36.31 Gb +``` + +Installing packages from the repositories (supporting multi packages): + +``` +$ slpkg -s sbo brasero +Reading package lists... Done +Resolving dependencies... Done + +The following packages will be automatically installed or upgraded +with new version: + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Installing: + brasero 3.12.1 x86_64 SBo +Installing for dependencies: + orc 0.4.23 x86_64 SBo + gstreamer1 1.4.5 x86_64 SBo + gst1-plugins-base 1.4.5 x86_64 SBo + gst1-plugins-bad 1.4.5 x86_64 SBo + +Installing summary +=============================================================================== +Total 5 packages. +5 packages will be installed, 0 already installed and 0 package +will be upgraded. + +Would you like to continue [y/N]? +``` + +Example install multi packages: + +``` +$ slpkg -s sbo brasero pylint atkmm +Reading package lists... Done +Resolving dependencies... Done + +The following packages will be automatically installed or upgraded +with new version: + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Installing: + brasero 3.12.1 x86_64 SBo + pylint-1.3.1 1.3.1 x86_64 SBo + atkmm 2.22.7 x86_64 SBo +Installing for dependencies: + libsigc++ 2.2.11 x86_64 SBo + glibmm 2.36.2 x86_64 SBo + cairomm 1.10.0 x86_64 SBo + pangomm 2.34.0 x86_64 SBo + six-1.8.0 1.8.0 x86_64 SBo + pysetuptools-17.0 17.0 x86_64 SBo + logilab-common-0.63.2 0.63.2 x86_64 SBo + astroid-1.3.6 1.3.6 x86_64 SBo + orc 0.4.23 x86_64 SBo + gstreamer1 1.4.5 x86_64 SBo + gst1-plugins-base 1.4.5 x86_64 SBo + gst1-plugins-bad 1.4.5 x86_64 SBo + +Installing summary +=============================================================================== +Total 15 packages. +10 packages will be installed, 5 already installed and 0 package +will be upgraded. + +Would you like to continue [y/N]? +``` + +Example from 'alien' repository: + +``` +$ slpkg -s alien atkmm +Reading package lists... Done +Resolving dependencies... Done + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Installing: + atkmm 2.22.6 x86_64 1 alien 124 K +Installing for dependencies: + libsigc++ 2.2.10 x86_64 2 alien 128 K + glibmm 2.32.1 x86_64 1 alien 1012 K + cairomm 1.10.0 x86_64 2 alien 124 K + pangomm 2.28.4 x86_64 1 alien 124 K + +Installing summary +=============================================================================== +Total 5 packages. +5 packages will be installed, 0 will be upgraded and 0 will be reinstalled. +Need to get 124 Kb of archives. +After this process, 620 Kb of additional disk space will be used. + +Would you like to continue [y/N]? +``` + +Close auto resolve dependencies: + +``` +$ slpkg -s alien atkm --resolve-off +Reading package lists... Done + +The following packages will be automatically installed or upgraded +with new version: + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Installing: + atkmm 2.22.6 x86_64 1 alien 124 K + +Installing summary +=============================================================================== +Total 1 package. +1 package will be installed, 0 will be upgraded and 0 will be reinstalled. +Need to get 124 Kb of archives. +After this process, 620 Kb of additional disk space will be used. + +Would you like to continue [y/N]? +``` + +Build packages and passing variables to the script: + + +First export variable(s) like: + +``` +$ export FFMPEG_ASS=yes FFMPEG_X264=yes +``` + +And then run as you know: + +``` +$ slpkg -s sbo ffmpeg + +``` + +or + +``` +$ slpkg -n ffmpeg +``` + +or if already script and source donwloaded: + +``` +$ slpkg -a ffmpeg.tar.gz ffmpeg-2.1.5.tar.bz2 +``` + +Tracking all the dependencies of packages, and also displays the installed packages: + +``` +$ slpkg -t sbo brasero +Resolving dependencies... Done + ++========================= +| brasero dependencies : ++========================= +\ + +---[ Tree of dependencies ] + | + +--1 orc + | + +--2 gstreamer1 + | + +--3 gst1-plugins-base + | + +--4 gst1-plugins-bad + | + +--5 libunique +``` + +Check if the dependencies used: + +``` +$ slpkg -t sbo Flask --check-deps +Resolving dependencies... Done + ++============================= +| Package Flask dependencies : ++============================= +\ + +---[ Tree of dependencies ] + | + +--1: pysetuptools is dependence on --> Flask, bpython, pip, pylint + | + +--2: MarkupSafe is dependence on --> Flask + | + +--3: itsdangerous is dependence on --> Flask + | + +--4: Jinja2 is dependence on --> Flask + | + +--5: werkzeug is dependence on --> Flask +``` + +Drawing the dependencies diagram: + +``` +$ slpkg -t sbo flexget --graph=image.x11 +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/deps2.png) + +``` +$ slpkg -t sbo Flask --check-deps --graph=image.x11 +Resolving dependencies... Done + ++============================= +| Package Flask dependencies : ++============================= +\ + +---[ Tree of dependencies ] + | + +--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 dependence on --> Flask, Jinja2 + | + +--3: itsdangerous is dependence on --> Flask + | + +--4: Jinja2 is dependence on --> Flask + | + +--5: werkzeug is dependence on --> Flask +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/deps3.png) + + +Drawing the dependencies ascii diagram: + +``` +$ slpkg -t sbo botocore --graph=ascii + + +---------------------------------+ + | | + | | + | +---------+ | + | | | | + | | | | + +----------------+----+----+ | | + | | | | | | ++--------------+ | +--------------------+ | +-----------------+ | +| jmespath | -+- | botocore | +- | python-dateutil | | ++--------------+ | +--------------------+ +-----------------+ | + | | | | | | | + | | | | | | | + | | | | | | | ++--------------+ | +----------+ | | +-----------------+ | +| pysetuptools | -+ | bcdoc | -+----+------ | six | -+ ++--------------+ +----------+ | | +-----------------+ + | | | | + | | | | + | | | | + | +----------+ | | + | | docutils | -+ | + | +----------+ | + | | + +-------------------------------------+ +``` + +Print the dependencies status used by packages: + +``` +$ slpkg deps-status + ++============================================================================== +| Dependencies Packages ++============================================================================== + astroid pylint + logilab-common pylint + werkzeug Flask + cryptography bpython + ndg_httpsclient bpython + enum34 bpython + pyOpenSSL bpython + curtsies bpython + six bpython, pylint + cffi bpython + python-requests bpython + pysetuptools Flask, bpython, pip, pylint + MarkupSafe Flask + Pygments bpython + Jinja2 Flask + pycparser bpython + blessings bpython + greenlet bpython + pyasn1 bpython + +Summary +=============================================================================== +Found 19 dependencies in 4 packages. +``` + +Use the additional option '`--graph=[image]`' to drawing the dependencies diagram: + +``` +$ slpkg deps-status --graph=image.x11 +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/deps.png) + + +Check if your packages is up to date or they have changes in ChangeLog.txt: + +``` +$ slpkg -c sbo + ++============================================================================== +| Repository Status ++============================================================================== + sbo News in ChangeLog.txt + +Summary +=============================================================================== +From 1 repositories need 1 updating. Run the command 'slpkg update'. +``` + +Check for new versions: + +``` +$ slpkg -c sbo --upgrade +Checking... Done +Reading package lists... Done +Resolving dependencies... Done + +The following packages will be automatically installed or upgraded +with new version: + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Upgrading: + astroid-1.3.2 1.3.4 x86_64 SBo + jdk-7u51 8u31 x86_64 SBo +Installing for dependencies: + six-1.7.3 1.8.0 x86_64 SBo + logilab-common-0.60.1 0.63.2 x86_64 SBo + pysetuptools-6.1 7.0 x86_64 SBo + +Installing summary +=============================================================================== +Total 5 packages. +0 package will be installed, 2 already installed and 3 packages +will be upgraded. + +Would you like to continue [y/N]? + + +$ slpkg -c slacky --upgrade +Checking... Done +Reading package lists... Done +Resolving dependencies... Done + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Upgrading: + gstreamer1-1.4.1 1.4.4 x86_64 1 slacky 1563 K + +Installing summary +=============================================================================== +Total 1 package. +0 package will be installed, 1 will be upgraded and 0 will be reinstalled. +Need to get 1.53 Mb of archives. +After this process, 14.55 Mb of additional disk space will be used. + +Would you like to continue [y/N]? +``` + +Check if your Slackware distribution is up to date. +This option works independently of the others i.e you don't need before you updating the +packages lists: + +``` +$ slpkg -c slack --upgrade +Reading package lists... Done + +These packages need upgrading: + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Upgrading: + dhcpcd-6.0.5 6.0.5 x86_64 3 Slack 92 K + samba-4.1.0 4.1.11 x86_64 1 Slack 9928 K + xscreensaver-5.22 5.29 x86_64 1 Slack 3896 K + +Installing summary +=============================================================================== +Total 3 package will be upgrading and 0 will be installed. +Need to get 13.58 Mb of archives. +After this process, 76.10 Mb of additional disk space will be used. + +Would you like to continue [y/N]? +``` + +Upgrade only distribution: + +``` +$ slpkg -c slack --upgrade --skip="multi:*multilib*,ktown:*" // This upgrade +Checking... Done // distribution + // and skip all +Slackware64 'stable' v14.2 distribution is up to date // packages from + // ktown repository + // and multilib + // from multi. +``` + +Skip packages when upgrading: + +``` +$ slpkg -c sbo --upgrade --skip=pip,jdk // Available options: +Checking... Done // repository:*string* +Reading package lists... Done // repository:string* +Resolving dependencies... Done // repository:*string + +The following packages will be automatically installed or upgraded +with new version: + ++============================================================================== +| Package New version Arch Build Repos Size ++============================================================================== +Upgrading: + cffi-1.0.1 1.1.0 x86_64 SBo +Installing for dependencies: + pysetuptools-17.0 17.0 x86_64 SBo + pycparser-2.12 2.13 x86_64 SBo + +Installing summary +=============================================================================== +Total 3 packages. +0 package will be installed, 1 already installed and 2 packages +will be upgraded. + +Would you like to continue [y/N]? +``` + +View slackbuilds.org site in your terminal. Read files, download, build or install: + +``` +$ slpkg -n bitfighter +Reading package lists... Done + ++============================================================================== +| SlackBuilds Repository ++============================================================================== +| 14.2 > Games > bitfighter ++=============================================================================== +| Package url: http://slackbuilds.org/repository/14.2/games/bitfighter/ ++=============================================================================== +| Description: multi-player combat game +| SlackBuild: bitfighter.tar.gz +| Sources: bitfighter-019c.tar.gz, classic_level_pack.zip +| Requirements: OpenAL, SDL2, speex, libmodplug ++=============================================================================== +| README View the README file +| SlackBuild View the .SlackBuild file +| Info View the .info file +| Doinst.sh View the doinst.sh file +| Download Download this package +| Build Download and build this package +| Install Download/Build/Install +| Clear Clear screen + Quit Quit ++================================================================================ + Choose an option > _ +``` + +Use the dialog utility to help you find the packages: + +``` +$ slpkg -n --checklist +Reading package lists... +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog5.png) + +``` +$ slpkg -n perl --checklist +Reading package lists... +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog6.png) + + +Auto tool to build a package: +Two files termcolor.tar.gz and termcolor-1.1.0.tar.gz must be in the same directory. +(slackbuild script & source code or extra sources if needed) + +``` +$ slpkg -a termcolor.tar.gz termcolor-1.1.0.tar.gz + +termcolor/ +termcolor/slack-desc +termcolor/termcolor.info +termcolor/README +termcolor/termcolor.SlackBuild +termcolor-1.1.0/ +termcolor-1.1.0/CHANGES.rst +termcolor-1.1.0/COPYING.txt +termcolor-1.1.0/README.rst +termcolor-1.1.0/setup.py +termcolor-1.1.0/termcolor.py +termcolor-1.1.0/PKG-INFO +running install +running build +running build_py +creating build +creating build/lib +copying termcolor.py -> build/lib +running install_lib +creating /tmp/SBo/package-termcolor/usr +creating /tmp/SBo/package-termcolor/usr/lib64 +creating /tmp/SBo/package-termcolor/usr/lib64/python2.7 +creating /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages +copying build/lib/termcolor.py -> +/tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages +byte-compiling /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages/termcolor.py +to termcolor.pyc +running install_egg_info +Writing +/tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info + +Slackware package maker, version 3.14159. + +Searching for symbolic links: + +No symbolic links were found, so we wont make an installation script. +You can make your own later in ./install/doinst.sh and rebuild the +package if you like. + +This next step is optional - you can set the directories in your package +to some sane permissions. If any of the directories in your package have +special permissions, then DO NOT reset them here! + +Would you like to reset all directory permissions to 755 (drwxr-xr-x) and +directory ownerships to root.root ([y]es, [n]o)? n + +Creating Slackware package: /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz + +./ +usr/ +usr/lib64/ +usr/lib64/python2.7/ +usr/lib64/python2.7/site-packages/ +usr/lib64/python2.7/site-packages/termcolor.py +usr/lib64/python2.7/site-packages/termcolor.pyc +usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info +usr/doc/ +usr/doc/termcolor-1.1.0/ +usr/doc/termcolor-1.1.0/termcolor.SlackBuild +usr/doc/termcolor-1.1.0/README.rst +usr/doc/termcolor-1.1.0/CHANGES.rst +usr/doc/termcolor-1.1.0/PKG-INFO +usr/doc/termcolor-1.1.0/COPYING.txt +install/ +install/slack-desc + +Slackware package /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz created. + +Total build time for package termcolor : 1 Sec +``` + +Upgrade, install the packages like Slackware command '`upgradepkg --install-new`': + +``` +$ slpkg -u --install-new /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz + ++============================================================================== +| Installing new package ./termcolor-1.1.0-x86_64-1_SBo.tgz ++============================================================================== + +Verifying package termcolor-1.1.0-x86_64-1_SBo.tgz. +Installing package termcolor-1.1.0-x86_64-1_SBo.tgz: +PACKAGE DESCRIPTION: +# termcolor (ANSII Color formatting for output in terminal) +# +# termcolor allows you to format your output in terminal. +# +# Project URL: https://pypi.python.org/pypi/termcolor +# +Package termcolor-1.1.0-x86_64-1_SBo.tgz installed. +``` + +Install mass-packages: + +``` +$ slpkg -u --install-new *.t?z +``` + +or + +``` +$ slpkg -i *.t?z +``` + +Slpkg auto detect Slackware binary packages (.tgz, .txz, .tlz and .tbz) for installation: + +``` +$ slpkg pysed-0.7.8-x86_64-1_SBo.tgz + +pysed-0.7.8-x86_64-1_SBo.tgz + ++============================================================================== +| Choose a Slackware command: ++============================================================================== +| i) installpkg +| r) upgradepkg --reinstall +| u) upgradepkg --install-new ++============================================================================== + > _ +``` + +Search packages from the enabled repositories: + +``` +$ slpkg -F aria2 + +Packages with name matching [ aria2 ] + ++============================================================================== +| Repository Package Size ++============================================================================== + sbo aria2-1.18.10 0 K + slonly aria2-1.18.10-x86_64-1_slack.txz 1124 K + salix aria2-1.18.1-x86_64-1rl.txz 1052 K + conrad aria2-1.18.10-x86_64-1cf.txz 1140 K + +Found summary +=============================================================================== +Total found 4 packages in 4 repositories. + + +$ slpkg -F pyqt5 AAA --case-ins + +Packages with name matching [ pyqt5, AAA ] + ++============================================================================== +| Repository Package Size ++============================================================================== + slack aaa_base-14.2-x86_64-1.txz 12 K + slack aaa_elflibs-14.2-x86_64-3.txz 4316 K + slack aaa_terminfo-5.8-x86_64-1.txz 44 K + sbo jaaa-0.8.4 0 K + sbo python3-PyQt5-5.5 0 K + slonly jaaa-0.8.4-x86_64-1_slack.txz 40 K + slonly python3-PyQt5-5.5-x86_64-1_slack.txz 3088 K + +Found summary +=============================================================================== +Total found 7 packages in 3 repositories. +``` + +Find the installed packages: + +``` +$ slpkg -f apr + +Sckages with matching name [ apr ] + +[ installed ] [ 1.1M ] - apr-1.5.2-x86_64-1 +[ installed ] [ 530K ] - apr-util-1.5.4-x86_64-2 +[ installed ] [ 40K ] - xf86dgaproto-2.1-noarch-1 +[ installed ] [ 50K ] - xineramaproto-1.2.1-noarch-1 + +Found summary +=============================================================================== +Total found 4 matching packages. +Size of installed packages 1.71 Mb. + + +$ 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: + +``` +$ slpkg -d termcolor lua + +PACKAGE NAME: termcolor-1.1.0-x86_64-1_SBo +COMPRESSED PACKAGE SIZE: 8.0K +UNCOMPRESSED PACKAGE SIZE: 60K +PACKAGE LOCATION: ./termcolor-1.1.0-x86_64-1_SBo.tgz +PACKAGE DESCRIPTION: +termcolor: termcolor (ANSII Color formatting for output in terminal) +termcolor: +termcolor: termcolor allows you to format your output in terminal. +termcolor: +termcolor: +termcolor: Project URL: https://pypi.python.org/pypi/termcolor +termcolor: +termcolor: +termcolor: +termcolor: +FILE LIST: +./ +usr/ +usr/lib64/ +usr/lib64/python2.7/ +usr/lib64/python2.7/site-packages/ +usr/lib64/python2.7/site-packages/termcolor.py +usr/lib64/python2.7/site-packages/termcolor.pyc +usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info +usr/lib64/python3.3/ +usr/lib64/python3.3/site-packages/ +usr/lib64/python3.3/site-packages/termcolor-1.1.0-py3.3.egg-info +usr/lib64/python3.3/site-packages/__pycache__/ +usr/lib64/python3.3/site-packages/__pycache__/termcolor.cpython-33.pyc +usr/lib64/python3.3/site-packages/termcolor.py +usr/doc/ +usr/doc/termcolor-1.1.0/ +usr/doc/termcolor-1.1.0/termcolor.SlackBuild +usr/doc/termcolor-1.1.0/README.rst +usr/doc/termcolor-1.1.0/CHANGES.rst +usr/doc/termcolor-1.1.0/PKG-INFO +usr/doc/termcolor-1.1.0/COPYING.txt +install/ +install/slack-desc + +No such package lua: Cant find +``` + +Removes a previously installed Slackware binary package: + +``` +$ slpkg -r termcolor + +Packages with name matching [ termcolor ] + +[ delete ] --> termcolor-1.1.0-x86_64-1_SBo + +Removed summary +=============================================================================== +Size of removed packages 50.0 Kb. + +Are you sure to remove 1 package(s) [y/N]? y + +Package: termcolor-1.1.0-x86_64-1_SBo + Removing... + +Removing package /var/log/packages/termcolor-1.1.0-x86_64-1_SBo... + Removing files: +--> Deleting /usr/doc/termcolor-1.1.0/CHANGES.rst +--> Deleting /usr/doc/termcolor-1.1.0/COPYING.txt +--> Deleting /usr/doc/termcolor-1.1.0/PKG-INFO +--> Deleting /usr/doc/termcolor-1.1.0/README.rst +--> Deleting /usr/doc/termcolor-1.1.0/termcolor.SlackBuild +--> Deleting /usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info +--> Deleting /usr/lib64/python2.7/site-packages/termcolor.py +--> Deleting /usr/lib64/python2.7/site-packages/termcolor.pyc +--> Deleting /usr/lib64/python3.3/site-packages/__pycache__/termcolor.cpython-33.pyc +--> Deleting /usr/lib64/python3.3/site-packages/termcolor-1.1.0-py3.3.egg-info +--> Deleting /usr/lib64/python3.3/site-packages/termcolor.py +--> Deleting empty directory /usr/lib64/python3.3/site-packages/__pycache__/ +WARNING: Unique directory /usr/lib64/python3.3/site-packages/ contains new files +WARNING: Unique directory /usr/lib64/python3.3/ contains new files +--> Deleting empty directory /usr/doc/termcolor-1.1.0/ + ++============================================================================== +| Package: termcolor-1.1.0 removed ++============================================================================== +``` + +Remove packages with all dependencies and check if used as dependency: +(Presupposes install with the option '`slpkg -s `') + +``` +$ slpkg -r Flask --check-deps + +Packages with name matching [ Flask ] + +[ delete ] --> Flask-0.10.1-x86_64-1_SBo + +Removed summary +=============================================================================== +Size of removed packages 1.2 Mb. + +Are you sure to remove 1 package [y/N]? y + ++============================================================================== +| Found dependencies for package Flask: ++============================================================================== +| pysetuptools-18.0.1 +| MarkupSafe-0.23 +| werkzeug-0.9.4 +| Jinja2-2.7.3 +| itsdangerous-0.24 ++============================================================================== +| Size of removed dependencies 5.52 Mb ++============================================================================== + +Remove dependencies (maybe used by other packages) [y/N]? y + + ++============================================================================== +| !!! WARNING !!! ++============================================================================== +| pysetuptools is dependency of the package --> Flask +| MarkupSafe is dependency of the package --> Flask +| werkzeug is dependency of the package --> Flask +| Jinja2 is dependency of the package --> Flask +| itsdangerous is dependency of the package --> Flask +| pysetuptools is dependency of the package --> flake8 +| pysetuptools is dependency of the package --> pip +| pysetuptools is dependency of the package --> pipstat +| pysetuptools is dependency of the package --> pylint +| pysetuptools is dependency of the package --> wcwidth ++============================================================================== ++============================================================================== +| Insert packages to exception remove: ++============================================================================== + > pysetuptools + +. +. +. ++============================================================================== +| Total 5 packages removed ++============================================================================== +| Package Flask-0.10.1 removed +| Package MarkupSafe-0.23 removed +| Package itsdangerous-0.24 removed +| Package Jinja2-2.7.3 removed +| Package werkzeug-0.9.4 removed ++============================================================================== +``` + +Remove the packages with by TAG: + +``` +$ slpkg -r _SBo --tag + +Packages with name matching [ _SBo ] + +[ delete ] --> Jinja2-2.7.3-x86_64-1_SBo +[ delete ] --> MarkupSafe-0.23-x86_64-1_SBo +[ delete ] --> Pafy-0.3.72-x86_64-1_SBo +[ delete ] --> Pulse-Glass-1.02-x86_64-1_SBo +[ delete ] --> Pygments-1.6-x86_64-2_SBo +[ delete ] --> asciinema-1.1.1-x86_64-1_SBo +[ delete ] --> astroid-1.3.8-x86_64-1_SBo +[ delete ] --> autopep8-1.2-x86_64-1_SBo +[ delete ] --> blessings-1.6-x86_64-1_SBo +[ delete ] --> bpython-0.14.2-x86_64-1_SBo +[ delete ] --> cffi-1.1.2-x86_64-1_SBo +[ delete ] --> cryptography-0.8.2-x86_64-1_SBo +[ delete ] --> curtsies-0.1.19-x86_64-1_SBo +[ delete ] --> enum34-1.0.4-x86_64-1_SBo + +Removed summary +=============================================================================== +Size of removed packages 24.61 Mb. + +Are you sure to remove 14 packages [y/N]? +``` + +Remove the packages using dialog utility: + +``` +$ slpkg -r _SBo --tag --checklist +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog.png) + +``` +$ slpkg -r Flask --check-deps --checklist +``` + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog2.png) + +![alt text](https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog3.png) + +![alt text](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: + +``` +$ slpkg -q roxterm SDL2 CEGUI --add + +Add packages in queue: + +roxterm +SDL2 +CEGUI + + +$ slpkg -q roxterm --remove (or '`slpkg -q --remove`' remove all packages) + +Remove packages from queue: + +roxterm + + +$ slpkg -q list + +Packages in queue: + +SDL2 +CEGUI + + +$ slpkg -q build (build only packages from queue) + +$ slpkg -q install (install packages from queue) + +$ slpkg -q build-install (build and install) +``` + +Add or remove the packages in blacklist file manually from '`/etc/slpkg/blacklist`' or +with the following options: + +``` +$ slpkg -b live555 speex faac --add + +Add packages in blacklist: + +live555 +speex +faac + + +$ slpkg -b speex --remove (or 'slpkg -b --remove' remove all packages) + +Remove packages from blacklist: + +speex + + +$ slpkg -b list + +Packages in blacklist: + +live555 +faac + +Note: you can use asterisk "*" to match more packages like: + +*lib* \\ Add all packages inlcude string "lib" +*lib \\ Add all packages ends with string "lib" +lib* \\ Add all packages starts with string "lib" + +multi:*multilib* \\ Add all packages include string "multilib" from "multi" + \\ repository. +``` + +Print a package description: + +``` +$ slpkg -p alien vlc --color=green + +vlc (multimedia player for various audio and video formats) + +VLC media player is a highly portable multimedia player for various +audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) +as well as DVDs, VCDs, and various streaming protocols. +It can also be used as a server to stream in unicast or multicast in +IPv4 or IPv6 on a high-bandwidth network. + + +vlc home: http://www.videolan.org/vlc/ +``` + +Man page it is available for full support: + +``` +$ man slpkg +``` + + +##### Python modules + + +Slpkg has been designed it to work as cli tool however you can use some modules in your +own python code. + +Get the package dependencies from the sbo repository: + +``` +>>> from slpkg.sbo.dependency import Requires +>>> Requires(flag="").sbo("vlc") +[['libass', 'libdc1394', 'libdvbpsi', 'libmpeg2', 'libupnp', 'lua', 'portaudio', +'twolame', 'opus', 'ffmpeg', 'libwebp', 'gsm', 'opencv', 'libtar', 'libkate', ' +faac', 'libdca', 'libmatroska', 'libshout', 'speex', 'avahi', 'projectM', 'jack- +audio-connection-kit', 'libsidplay2', 'zvbi', 'faad2', 'libavc1394', 'libmodplug +', 'musepack-tools', 'vcdimager', 'dirac', 'gnome-vfs', 'live555', 'qt5', 'rtmpd +ump', 'libdvdcss', 'fluidsynth', 'schroedinger', 'libminizip', 'chromaprint', 'x +264', 'x265', 'libbluray'], ['libmp4v2'], ['libebml'], ['libdaemon'], ['ftgl'], +['libcuefile', 'libreplaygain'], ['gnome-mime-data', 'libbonobo'], ['ORBit2'], [ +'libxkbcommon', 'libinput'], ['libwacom']] +``` + +Example from binary repository: + +``` +>>> from slpkg.binary.dependency import Dependencies +>>> Dependencies(repo="slonly", black="").binary(name="Flask", flag="") +[['Jinja2', 'click', 'itsdangerous', 'werkzeug'], ['MarkupSafe']] +``` + +Grab packages from the sbo repository: + +``` +>>> from slpkg.sbo.greps import SBoGrep +>>> SBoGrep(name="").names() +... +``` + +Grab the package sources links: + +``` +>>> SBoGrep(name="jdk").source() +'http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe7 +8cdb6d0/jdk-8u152-linux-x64.tar.gz' +``` + +Grap a package requires: + +``` +>>> SBoGrep(name="Flask").requires() +['werkzeug', 'Jinja2', 'itsdangerous', 'click'] +``` + +Grap a package checksum: + +``` +>>> SBoGrep(name="Flask").checksum() +['97278dfdafda98ba7902e890b0289177'] +``` + +Grap a package description: + +``` +>>> SBoGrep(name="Flask").description() +'Flask (Microframework for Python)' +``` + +Grap the package files: + +``` +>>> SBoGrep(name="Flask").files() +'Flask.SlackBuild Flask.info README slack-desc' +``` + +Grab the packages for binary repository: + +``` +>>> from slpkg.binary.greps import repo_data +>>> from slpkg.binary.repo_init import RepoInit +>>> PACKAGES_TXT, mirror = RepoInit("slonly").fetch() +>>> name, location, size, unsize = repo_data(PACKAGES_TXT, repo="slonly", flag="") +``` + +Find a package url from the sbo repository: + +``` +from slpkg.sbo.search import sbo_search_pkg +>>> sbo_search_pkg(name="Flask") +'http://slackbuilds.org/slackbuilds/14.2/python/Flask/' +``` + +Check if the package exist in the binary repository: + +``` +>>> from slpkg.binary.search import search_pkg +>>> search_pkg(name="vlc", repo="alien") +'vlc' +``` + +Read files from the sbo repository: + +``` +>>> from slpkg.sbo.search import sbo_search_pkg +>>> from slpkg.sbo.read import ReadSBo +>>> url = sbo_search_pkg(name="libreoffice") +>>> ReadSBo(url).readme("README") +'LibreOffice is a productivity suite that is compatible with other major\noffice + suites, and available on a variety of platforms. It is free\nsoftware and there +fore free to download, use and distribute.\n\nThis script builds a Slackware pac +kage from the official binary (RPM\'s)\ndistributed by The Document Foundation. + Everything needed by the\napplication should be built statically into it, so th +ere aren\'t any\ndependencies not satisfied by a normal installation.\n\nBe sure + to look at the script for some optional things you can do when\nbuilding.\n\nNO +TE: See the separate SlackBuild script for the language packs.\n\nNOTE2: To keep + LibreOffice installed concurrently with OpenOffice, run the\n included "o +pen-libre-together.sh" script saved in the documentation\n directory of th +is package to patch the .desktop menu files.\n\nNOTE3: LibreOffice versions chan +ge quite often. If the version for which\n this script was written is no l +onger available, look for it at:\n http://download.documentfoundation.org/ +libreoffice/old/stable/\n It will go there after the next release.\n + You can also try building the newer version using:\n # VERSION="x.y.z" ./ +libreoffice.SlackBuild\n This *might* work, but upstream has a habit of ch +anging the naming\n and structure of the files, etc. between versions, so: + YMMV.\n' + +>>> ReadSBo(url).slackbuild("libreoffice", ".SlackBuild") +... + +>>> ReadSBo(url).info("libreoffice", ".info") +'PRGNAM="libreoffice"\nVERSION="5.4.3"\nHOMEPAGE="http://www.libreoffice.org"\nD +OWNLOAD="http://download.documentfoundation.org/libreoffice/stable/5.4.3/rpm/x86 +/LibreOffice_5.4.3_Linux_x86_rpm.tar.gz"\nMD5SUM="bada10945a979537ff42268462fc8b +de"\nDOWNLOAD_x86_64="http://download.documentfoundation.org/libreoffice/stable/ +5.4.3/rpm/x86_64/LibreOffice_5.4.3_Linux_x86-64_rpm.tar.gz"\nMD5SUM_x86_64="4b0b +46a6d2df74a1446837ba76af07fd"\nREQUIRES="jdk"\nMAINTAINER="Willy Sudiarto Raharj +o"\nEMAIL="willysr@slackbuilds.org"\n' + + +>>> ReadSBo(url).doinst("doinst.sh") +'if [ -x /usr/bin/update-desktop-database ]; then\n /usr/bin/update-desktop-dat +abase -q usr/share/applications\nfi\n\nif [ -x /usr/bin/update-mime-database ]; +then\n /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1\nfi\n\nif [ +-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 +in/gtk-update-icon-cache -f usr/share/icons/$theme >/dev/null 2>&1\n fi\n do +ne\nfi\' +``` + +Get the Slackware version: + +``` +>>> from slpkg.slack.slack_version import slack_ver +>>> slack_ver() +'14.2' +``` + +Find a Slackware package: + +``` +>>> from slpkg.pkg.find import find_package +>>> find_package(find_pkg="vlc", directory="/var/log/packages/") +['vlc-2.2.6-x86_64-1alien'] +``` + +Check for the installed packages: + +``` +>>> from slpkg.pkg.installed import GetFromInstalled +>>> GetFromInstalled(package="ffmpeg").name() +'ffmpeg' +>>> GetFromInstalled(package="ffmpeg").version() +'-3.2.4' +``` + +##### Copyright + +- Copyright 2014-2018 © Dimitris Zlatanidis +- Slackware® is a Registered Trademark of Patrick Volkerding. +- Linux is a Registered Trademark of Linus Torvalds. diff --git a/EXAMPLES.txt b/EXAMPLES.txt deleted file mode 100644 index e7980d63..00000000 --- a/EXAMPLES.txt +++ /dev/null @@ -1,1485 +0,0 @@ -Slpkg -===== - - -Usage ------ - -First need to run '# slpkg update' to synchronize the list of packages, also every time you add -a new repository. -To add or remove repositories must edit the file '/etc/slpkg/repositories.conf' or -run '# slpkg repo-enable' (python2-pythondialog required). - -Add custom repositories with the command '# slpkg add-repo ' and after -run '# slpkg update' to update package list. - -View list of repositories with the command '# slpkg repo-list' or get repository information -with the command '# slpkg repo-info . - -Update slpkg itself simply run '# slpkg update slpkg', and slpkg check from GitLab repository if -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. - -Print the dependencies status with the command '# slpkg deps-status' or draw image map dependencies -with the additional option '--graph=[image]'. - -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 -the command '# slpkg -a '. - -Manage the packages in the blacklist with the command '# slpkg -b --add or --remove'. - -Add the SBo packages to the queue with the command '# slpkg -q --add or --remove' and -manage as build, install or build and install with the command '# slpkg build or install or -build-install'. -This is very useful if you want to install multiple packages together suffice to add in the -right order if there are dependent packages. - -View list of the packages from specific repository with command '# slpkg -l '. -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 ---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. -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 -option '--skip' give them more power (see manpage). - -The most famous command is '# slpkg -s ', this command downloads, build -and installs packages with the resolve all the dependencies or switch off resolve with the -additional option '--resolve-off'. -Also the additional option "--case-ins" help you find the packages with case insensitive. -Two new arguments will help you to rebuild '--rebuild' or reinstall '--reinstall' packages. -The last one argument "--patches" help you to switch in the patches/ directory only for slack -repository. - -Tracking the dependencies of a package with command '# slpkg -t '. -Displays a package dependency tree and also shows to you which ones are installed on your -system events. -Check if the packages used from other packages with the additional option '--check-deps' or -draw image map dependencies with the additional option '--graph=[image]'. - -Get information description of a package with the command '# slpkg -p ' -and change the color of text with the additional flag '--color=[]'. - -View a SBo package page on your terminal with command '# slpkg -n ' and then manage -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 '. 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 '. -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 ' install, upgrade, -remove packages from your system events. -Notable mention must you give in the command '# slpkg --removepkg ' -which can remove the packages with all dependencies together after editing configuration file -'/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 '. - -Some examples you will see below. - - -Command Line Tool Usage ------------------------ - - 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, --third-party 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 - -Slpkg Examples --------------- - -Enable or disable default repositories, edit /etc/slpkg/repositories.conf file or with -the command. -(require pythondialog, install with '# slpkg -s sbo python2-pythondialog'): - - $ slpkg repo-enable - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/repo_enable.png - - -If you use slpkg for the first time will have to create and update the package -list. This command must be executed to update the package lists: - - $ slpkg update - - Update repository [slack] ... Done - Update repository [sbo] ... Done - Update repository [alien] ... Done - Update repository [slacky] ... Done - Update repository [conrad] ... Done - Update repository [slonly] ... Done - Update repository [ktown] ... Done - Update repository [salix] ... Done - Update repository [slacke] ... Done - Update repository [slackl] ... Done - Update repository [multi] ... Done - Update repository [msb] ... Done - - Update specifically repositories: - - $ slpkg update --only=sbo,msb,slacky - -Also you can check ChangeLog.txt for changes like: - - $ slpkg -c sbo - - +============================================================================== - | Repository Status - +============================================================================== - sbo News in ChangeLog.txt - - Summary - =============================================================================== - From 1 repositories need 1 updating. Run the command 'slpkg update'. - - - $ slpkg --check - - +============================================================================== - | Repository Status - +============================================================================== - slack No changes in ChangeLog.txt - sbo News in ChangeLog.txt - slacky News in ChangeLog.txt - alien No changes in ChangeLog.txt - rlw No changes in ChangeLog.txt - - Summary - =============================================================================== - From 5 repositories need 2 updating. Run the command 'slpkg update'. - - -Add and remove custom repositories: - - $ slpkg repo-add ponce http://ponce.cc/slackware/slackware64-14.2/packages/ - - Repository 'ponce' successfully added - - - $ slpkg repo-add repo1 file:///home/user1/repos/alien/ - - Repository 'repo1' successfully added - - - $ slpkg repo-remove ponce - - Repository 'ponce' successfully removed - - -View information about the repositories: - - $ slpkg repo-list - - +============================================================================== - | Repo id Repo URL Default Status - +============================================================================== - alien http://www.slackware.com/~alien/slackbuilds/ yes disabled - ktown http://alien.slackbook.org/ktown/ yes disabled - msb http://slackware.org.uk/msb/ yes enabled - multi http://www.slackware.com/~alien/multilib/ yes disabled - ponce http://ponce.cc/slackware/slackware64-14.2/packa~ no enabled - rested http://taper.alienbase.nl/mirrors/people/alien/r~ yes disabled - rlw http://rlworkman.net/pkgs/ yes disabled - salix http://download.salixos.org/ yes disabled - sbo http://slackbuilds.org/slackbuilds/ yes enabled - slack http://ftp.cc.uoc.gr/mirrors/linux/slackware/ yes enabled - slacke http://ngc891.blogdns.net/pub/ yes disabled - slackl http://www.slackel.gr/repo/ yes disabled - conrad http://slack.conraid.net/repository/slackware64-~ yes disabled - slacky http://repository.slacky.eu/ yes disabled - slonly https://slackonly.com/pub/packages/ yes disabled - - Repositories summary - =============================================================================== - 3/14 enabled default repositories and 1 custom. - For enable or disable default repositories edit '/etc/slpkg/repositories.conf' - file. - - $ slpkg repo-info alien - - Default: yes - Last updated: Tue Dec 23 11:48:31 UTC 2014 - Number of packages: 3149 - Repo id: alien - Repo url: http://www.slackware.com/~alien/slackbuilds/ - Status: enabled - Total compressed packages: 9.3 Gb - Total uncompressed packages: 36.31 Gb - - -Installing packages from the repositories (supporting multi packages): - - $ slpkg -s sbo brasero - Reading package lists... Done - Resolving dependencies... Done - - The following packages will be automatically installed or upgraded - with new version: - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Installing: - brasero 3.12.1 x86_64 SBo - Installing for dependencies: - orc 0.4.23 x86_64 SBo - gstreamer1 1.4.5 x86_64 SBo - gst1-plugins-base 1.4.5 x86_64 SBo - gst1-plugins-bad 1.4.5 x86_64 SBo - - Installing summary - =============================================================================== - Total 5 packages. - 5 packages will be installed, 0 already installed and 0 package - will be upgraded. - - Would you like to continue [y/N]? - - - Example install multi packages: - - $ slpkg -s sbo brasero pylint atkmm - Reading package lists... Done - Resolving dependencies... Done - - The following packages will be automatically installed or upgraded - with new version: - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Installing: - brasero 3.12.1 x86_64 SBo - pylint-1.3.1 1.3.1 x86_64 SBo - atkmm 2.22.7 x86_64 SBo - Installing for dependencies: - libsigc++ 2.2.11 x86_64 SBo - glibmm 2.36.2 x86_64 SBo - cairomm 1.10.0 x86_64 SBo - pangomm 2.34.0 x86_64 SBo - six-1.8.0 1.8.0 x86_64 SBo - pysetuptools-17.0 17.0 x86_64 SBo - logilab-common-0.63.2 0.63.2 x86_64 SBo - astroid-1.3.6 1.3.6 x86_64 SBo - orc 0.4.23 x86_64 SBo - gstreamer1 1.4.5 x86_64 SBo - gst1-plugins-base 1.4.5 x86_64 SBo - gst1-plugins-bad 1.4.5 x86_64 SBo - - Installing summary - =============================================================================== - Total 15 packages. - 10 packages will be installed, 5 already installed and 0 package - will be upgraded. - - Would you like to continue [y/N]? - - - Example from 'alien' repository: - - $ slpkg -s alien atkmm - Reading package lists... Done - Resolving dependencies... Done - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Installing: - atkmm 2.22.6 x86_64 1 alien 124 K - Installing for dependencies: - libsigc++ 2.2.10 x86_64 2 alien 128 K - glibmm 2.32.1 x86_64 1 alien 1012 K - cairomm 1.10.0 x86_64 2 alien 124 K - pangomm 2.28.4 x86_64 1 alien 124 K - - Installing summary - =============================================================================== - Total 5 packages. - 5 packages will be installed, 0 will be upgraded and 0 will be reinstalled. - Need to get 124 Kb of archives. - After this process, 620 Kb of additional disk space will be used. - - Would you like to continue [y/N]? - - -Close auto resolve dependencies: - - $ slpkg -s alien atkm --resolve-off - Reading package lists... Done - - The following packages will be automatically installed or upgraded - with new version: - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Installing: - atkmm 2.22.6 x86_64 1 alien 124 K - - Installing summary - =============================================================================== - Total 1 package. - 1 package will be installed, 0 will be upgraded and 0 will be reinstalled. - Need to get 124 Kb of archives. - After this process, 620 Kb of additional disk space will be used. - - Would you like to continue [y/N]? - - - -Build packages and passing variables to the script: - - First export variable(s) like: - - $ export FFMPEG_ASS=yes FFMPEG_X264=yes - - - And then run as you know: - - $ slpkg -s sbo ffmpeg - - or - - $ slpkg -n ffmpeg - - or if already script and source donwloaded: - - $ slpkg -a ffmpeg.tar.gz ffmpeg-2.1.5.tar.bz2 - - -Tracking all the dependencies of packages, -and also displays the installed packages: - - $ slpkg -t sbo brasero - Resolving dependencies... Done - - +========================= - | brasero dependencies : - +========================= - \ - +---[ Tree of dependencies ] - | - +--1 orc - | - +--2 gstreamer1 - | - +--3 gst1-plugins-base - | - +--4 gst1-plugins-bad - | - +--5 libunique - - -Check if the dependencies used: - - $ slpkg -t sbo Flask --check-deps - Resolving dependencies... Done - - +============================= - | Package Flask dependencies : - +============================= - \ - +---[ Tree of dependencies ] - | - +--1: pysetuptools is dependence on --> Flask, bpython, pip, pylint - | - +--2: MarkupSafe is dependence on --> Flask - | - +--3: itsdangerous is dependence on --> Flask - | - +--4: Jinja2 is dependence on --> Flask - | - +--5: werkzeug is dependence on --> Flask - - -Drawing the dependencies diagram: - - $ slpkg -t sbo flexget --graph=image.x11 - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/deps2.png - - - $ slpkg -t sbo Flask --check-deps --graph=image.x11 - Resolving dependencies... Done - - +============================= - | Package Flask dependencies : - +============================= - \ - +---[ Tree of dependencies ] - | - +--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 dependence on --> Flask, Jinja2 - | - +--3: itsdangerous is dependence on --> Flask - | - +--4: Jinja2 is dependence on --> Flask - | - +--5: werkzeug is dependence on --> Flask - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/deps3.png - - -Drawing the dependencies ascii diagram: - - $ slpkg -t sbo botocore --graph=ascii - - +---------------------------------+ - | | - | | - | +---------+ | - | | | | - | | | | - +----------------+----+----+ | | - | | | | | | - +--------------+ | +--------------------+ | +-----------------+ | - | jmespath | -+- | botocore | +- | python-dateutil | | - +--------------+ | +--------------------+ +-----------------+ | - | | | | | | | - | | | | | | | - | | | | | | | - +--------------+ | +----------+ | | +-----------------+ | - | pysetuptools | -+ | bcdoc | -+----+------ | six | -+ - +--------------+ +----------+ | | +-----------------+ - | | | | - | | | | - | | | | - | +----------+ | | - | | docutils | -+ | - | +----------+ | - | | - +-------------------------------------+ - - -Print the dependencies status used by packages: - - $ slpkg deps-status - - +============================================================================== - | Dependencies Packages - +============================================================================== - astroid pylint - logilab-common pylint - werkzeug Flask - cryptography bpython - ndg_httpsclient bpython - enum34 bpython - pyOpenSSL bpython - curtsies bpython - six bpython, pylint - cffi bpython - python-requests bpython - pysetuptools Flask, bpython, pip, pylint - MarkupSafe Flask - Pygments bpython - Jinja2 Flask - pycparser bpython - blessings bpython - greenlet bpython - pyasn1 bpython - - Summary - =============================================================================== - Found 19 dependencies in 4 packages. - - -Use the additional option "--graph=[image]" to drawing the dependencies diagram: - - - $ slpkg deps-status --graph=image.x11 - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/deps.png - - -Check if your packages is up to date or the changes in ChangeLog.txt: - - - You can check the ChangeLog.txt for changes before with the command: - - $ slpkg -c sbo - - +============================================================================== - | Repository Status - +============================================================================== - sbo News in ChangeLog.txt - - Summary - =============================================================================== - From 1 repositories need 1 updating. Run the command 'slpkg update'. - - -And check if the packages need upgrade with: - - $ slpkg -c sbo --upgrade - Checking... Done - Reading package lists... Done - Resolving dependencies... Done - - The following packages will be automatically installed or upgraded - with new version: - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Upgrading: - astroid-1.3.2 1.3.4 x86_64 SBo - jdk-7u51 8u31 x86_64 SBo - Installing for dependencies: - six-1.7.3 1.8.0 x86_64 SBo - logilab-common-0.60.1 0.63.2 x86_64 SBo - pysetuptools-6.1 7.0 x86_64 SBo - - Installing summary - =============================================================================== - Total 5 packages. - 0 package will be installed, 2 already installed and 3 packages - will be upgraded. - - Would you like to continue [y/N]? - - - $ slpkg -c slacky --upgrade - Checking... Done - Reading package lists... Done - Resolving dependencies... Done - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Upgrading: - gstreamer1-1.4.1 1.4.4 x86_64 1 slacky 1563 K - - Installing summary - =============================================================================== - Total 1 package. - 0 package will be installed, 1 will be upgraded and 0 will be reinstalled. - Need to get 1.53 Mb of archives. - After this process, 14.55 Mb of additional disk space will be used. - - Would you like to continue [y/N]? - - -Check if your Slackware distribution is up to date. -This option works independently of the others i.e not need before you updating the list of -packages by choosing "# slpkg update", works directly with the official repository and -why always you should have update your system: - - $ slpkg -c slack --upgrade - Reading package lists... Done - - These packages need upgrading: - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Upgrading: - dhcpcd-6.0.5 6.0.5 x86_64 3 Slack 92 K - samba-4.1.0 4.1.11 x86_64 1 Slack 9928 K - xscreensaver-5.22 5.29 x86_64 1 Slack 3896 K - - Installing summary - =============================================================================== - Total 3 package will be upgrading and 0 will be installed. - Need to get 13.58 Mb of archives. - After this process, 76.10 Mb of additional disk space will be used. - - Would you like to continue [y/N]? - - - -Upgrade only distribution: - - $ slpkg -c slack --upgrade --skip="multi:*multilib*,ktown:*" // This upgrade - Checking... Done // distribution - // and skip all - Slackware64 'stable' v14.2 distribution is up to date // packages from - // ktown repository - // and multilib - // from multi. -Skip the packages when upgrading: - - $ slpkg -c sbo --upgrade --skip=pip,jdk // Available options: - Checking... Done // repository:*string* - Reading package lists... Done // repository:string* - Resolving dependencies... Done // repository:*string - - The following packages will be automatically installed or upgraded - with new version: - - +============================================================================== - | Package New version Arch Build Repos Size - +============================================================================== - Upgrading: - cffi-1.0.1 1.1.0 x86_64 SBo - Installing for dependencies: - pysetuptools-17.0 17.0 x86_64 SBo - pycparser-2.12 2.13 x86_64 SBo - - Installing summary - =============================================================================== - Total 3 packages. - 0 package will be installed, 1 already installed and 2 packages - will be upgraded. - - Would you like to continue [y/N]? - - -View complete slackbuilds.org site in your terminal. -Read files, download, build or install: - - $ slpkg -n bitfighter - Reading package lists... Done - - +============================================================================== - | SlackBuilds Repository - +============================================================================== - | 14.2 > Games > bitfighter - +=============================================================================== - | Package url: http://slackbuilds.org/repository/14.2/games/bitfighter/ - +=============================================================================== - | Description: multi-player combat game - | SlackBuild: bitfighter.tar.gz - | Sources: bitfighter-019c.tar.gz, classic_level_pack.zip - | Requirements: OpenAL, SDL2, speex, libmodplug - +=============================================================================== - | README View the README file - | SlackBuild View the .SlackBuild file - | Info View the .info file - | Doinst.sh View the doinst.sh file - | Download Download this package - | Build Download and build this package - | Install Download/Build/Install - | Clear Clear screen - Quit Quit - +================================================================================ - Choose an option > _ - - -Use the dialog utility to help you find the packages: - - - Load all repository: - - $ slpkg -n --checklist - Reading package lists... - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog5.png - - - Search from pattern such as all 'perl' packages: - - $ slpkg -n perl --checklist - Reading package lists... - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog6.png - - -Auto tool to build a package: - - Two files termcolor.tar.gz and termcolor-1.1.0.tar.gz - must be in the same directory. - (slackbuild script & source code or extra sources if needed) - - $ slpkg -a termcolor.tar.gz termcolor-1.1.0.tar.gz - - termcolor/ - termcolor/slack-desc - termcolor/termcolor.info - termcolor/README - termcolor/termcolor.SlackBuild - termcolor-1.1.0/ - termcolor-1.1.0/CHANGES.rst - termcolor-1.1.0/COPYING.txt - termcolor-1.1.0/README.rst - termcolor-1.1.0/setup.py - termcolor-1.1.0/termcolor.py - termcolor-1.1.0/PKG-INFO - running install - running build - running build_py - creating build - creating build/lib - copying termcolor.py -> build/lib - running install_lib - creating /tmp/SBo/package-termcolor/usr - creating /tmp/SBo/package-termcolor/usr/lib64 - creating /tmp/SBo/package-termcolor/usr/lib64/python2.7 - creating /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages - copying build/lib/termcolor.py -> - /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages - byte-compiling /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages/termcolor.py - to termcolor.pyc - running install_egg_info - Writing - /tmp/SBo/package-termcolor/usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info - - Slackware package maker, version 3.14159. - - Searching for symbolic links: - - No symbolic links were found, so we wont make an installation script. - You can make your own later in ./install/doinst.sh and rebuild the - package if you like. - - This next step is optional - you can set the directories in your package - to some sane permissions. If any of the directories in your package have - special permissions, then DO NOT reset them here! - - Would you like to reset all directory permissions to 755 (drwxr-xr-x) and - directory ownerships to root.root ([y]es, [n]o)? n - - Creating Slackware package: /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz - - ./ - usr/ - usr/lib64/ - usr/lib64/python2.7/ - usr/lib64/python2.7/site-packages/ - usr/lib64/python2.7/site-packages/termcolor.py - usr/lib64/python2.7/site-packages/termcolor.pyc - usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info - usr/doc/ - usr/doc/termcolor-1.1.0/ - usr/doc/termcolor-1.1.0/termcolor.SlackBuild - usr/doc/termcolor-1.1.0/README.rst - usr/doc/termcolor-1.1.0/CHANGES.rst - usr/doc/termcolor-1.1.0/PKG-INFO - usr/doc/termcolor-1.1.0/COPYING.txt - install/ - install/slack-desc - - Slackware package /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz created. - - Total build time for package termcolor : 1 Sec - - -Upgrade, install the packages like Slackware command '# upgradepkg --install-new': - - $ slpkg -u --install-new /tmp/termcolor-1.1.0-x86_64-1_SBo.tgz - - +============================================================================== - | Installing new package ./termcolor-1.1.0-x86_64-1_SBo.tgz - +============================================================================== - - Verifying package termcolor-1.1.0-x86_64-1_SBo.tgz. - Installing package termcolor-1.1.0-x86_64-1_SBo.tgz: - PACKAGE DESCRIPTION: - # termcolor (ANSII Color formatting for output in terminal) - # - # termcolor allows you to format your output in terminal. - # - # Project URL: https://pypi.python.org/pypi/termcolor - # - Package termcolor-1.1.0-x86_64-1_SBo.tgz installed. - -Install mass-packages: - - $ slpkg -u --install-new *.t?z - - or - - $ slpkg -i *.t?z - - -Slpkg auto detect Slackware binary packages (.tgz, .txz, .tlz and .tbz) for installation: - - $ slpkg pysed-0.7.8-x86_64-1_SBo.tgz - - Detected Slackware binary package for installation: - - pysed-0.7.8-x86_64-1_SBo.tgz - - +============================================================================== - | Choose a Slackware command: - +============================================================================== - | i) installpkg - | r) upgradepkg --reinstall - | u) upgradepkg --install-new - +============================================================================== - > _ - - -Search for the packages from the enabled repositories: - - $ slpkg -F aria2 - - Packages with name matching [ aria2 ] - - +============================================================================== - | Repository Package Size - +============================================================================== - sbo aria2-1.18.10 0 K - slonly aria2-1.18.10-x86_64-1_slack.txz 1124 K - salix aria2-1.18.1-x86_64-1rl.txz 1052 K - conrad aria2-1.18.10-x86_64-1cf.txz 1140 K - - Found summary - =============================================================================== - Total found 4 packages in 4 repositories. - - - Search in repositories with case insensitives: - - $ slpkg -F pyqt5 AAA --case-ins - - Packages with name matching [ pyqt5, AAA ] - - +============================================================================== - | Repository Package Size - +============================================================================== - slack aaa_base-14.2-x86_64-1.txz 12 K - slack aaa_elflibs-14.2-x86_64-3.txz 4316 K - slack aaa_terminfo-5.8-x86_64-1.txz 44 K - sbo jaaa-0.8.4 0 K - sbo python3-PyQt5-5.5 0 K - slonly jaaa-0.8.4-x86_64-1_slack.txz 40 K - slonly python3-PyQt5-5.5-x86_64-1_slack.txz 3088 K - - Found summary - =============================================================================== - Total found 7 packages in 3 repositories. - - -Find the installed packages: - - $ slpkg -f apr - - Sckages with matching name [ apr ] - - [ installed ] [ 1.1M ] - apr-1.5.2-x86_64-1 - [ installed ] [ 530K ] - apr-util-1.5.4-x86_64-2 - [ installed ] [ 40K ] - xf86dgaproto-2.1-noarch-1 - [ installed ] [ 50K ] - xineramaproto-1.2.1-noarch-1 - - Found summary - =============================================================================== - Total found 4 matching packages. - 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: - - $ slpkg -d termcolor lua - - PACKAGE NAME: termcolor-1.1.0-x86_64-1_SBo - COMPRESSED PACKAGE SIZE: 8.0K - UNCOMPRESSED PACKAGE SIZE: 60K - PACKAGE LOCATION: ./termcolor-1.1.0-x86_64-1_SBo.tgz - PACKAGE DESCRIPTION: - termcolor: termcolor (ANSII Color formatting for output in terminal) - termcolor: - termcolor: termcolor allows you to format your output in terminal. - termcolor: - termcolor: - termcolor: Project URL: https://pypi.python.org/pypi/termcolor - termcolor: - termcolor: - termcolor: - termcolor: - FILE LIST: - ./ - usr/ - usr/lib64/ - usr/lib64/python2.7/ - usr/lib64/python2.7/site-packages/ - usr/lib64/python2.7/site-packages/termcolor.py - usr/lib64/python2.7/site-packages/termcolor.pyc - usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info - usr/lib64/python3.3/ - usr/lib64/python3.3/site-packages/ - usr/lib64/python3.3/site-packages/termcolor-1.1.0-py3.3.egg-info - usr/lib64/python3.3/site-packages/__pycache__/ - usr/lib64/python3.3/site-packages/__pycache__/termcolor.cpython-33.pyc - usr/lib64/python3.3/site-packages/termcolor.py - usr/doc/ - usr/doc/termcolor-1.1.0/ - usr/doc/termcolor-1.1.0/termcolor.SlackBuild - usr/doc/termcolor-1.1.0/README.rst - usr/doc/termcolor-1.1.0/CHANGES.rst - usr/doc/termcolor-1.1.0/PKG-INFO - usr/doc/termcolor-1.1.0/COPYING.txt - install/ - install/slack-desc - - No such package lua: Cant find - - -Removes a previously installed Slackware binary package: - - $ slpkg -r termcolor - - Packages with name matching [ termcolor ] - - [ delete ] --> termcolor-1.1.0-x86_64-1_SBo - - Removed summary - =============================================================================== - Size of removed packages 50.0 Kb. - - Are you sure to remove 1 package(s) [y/N]? y - - Package: termcolor-1.1.0-x86_64-1_SBo - Removing... - - Removing package /var/log/packages/termcolor-1.1.0-x86_64-1_SBo... - Removing files: - --> Deleting /usr/doc/termcolor-1.1.0/CHANGES.rst - --> Deleting /usr/doc/termcolor-1.1.0/COPYING.txt - --> Deleting /usr/doc/termcolor-1.1.0/PKG-INFO - --> Deleting /usr/doc/termcolor-1.1.0/README.rst - --> Deleting /usr/doc/termcolor-1.1.0/termcolor.SlackBuild - --> Deleting /usr/lib64/python2.7/site-packages/termcolor-1.1.0-py2.7.egg-info - --> Deleting /usr/lib64/python2.7/site-packages/termcolor.py - --> Deleting /usr/lib64/python2.7/site-packages/termcolor.pyc - --> Deleting /usr/lib64/python3.3/site-packages/__pycache__/termcolor.cpython-33.pyc - --> Deleting /usr/lib64/python3.3/site-packages/termcolor-1.1.0-py3.3.egg-info - --> Deleting /usr/lib64/python3.3/site-packages/termcolor.py - --> Deleting empty directory /usr/lib64/python3.3/site-packages/__pycache__/ - WARNING: Unique directory /usr/lib64/python3.3/site-packages/ contains new files - WARNING: Unique directory /usr/lib64/python3.3/ contains new files - --> Deleting empty directory /usr/doc/termcolor-1.1.0/ - - +============================================================================== - | Package: termcolor-1.1.0 removed - +============================================================================== - - -Remove packages with all dependencies and check if used as dependency: -(Presupposes install with the option '# slpkg -s ') - - $ slpkg -r Flask --check-deps - - Packages with name matching [ Flask ] - - [ delete ] --> Flask-0.10.1-x86_64-1_SBo - - Removed summary - =============================================================================== - Size of removed packages 1.2 Mb. - - Are you sure to remove 1 package [y/N]? y - - +============================================================================== - | Found dependencies for package Flask: - +============================================================================== - | pysetuptools-18.0.1 - | MarkupSafe-0.23 - | werkzeug-0.9.4 - | Jinja2-2.7.3 - | itsdangerous-0.24 - +============================================================================== - | Size of removed dependencies 5.52 Mb - +============================================================================== - - Remove dependencies (maybe used by other packages) [y/N]? y - - - +============================================================================== - | !!! WARNING !!! - +============================================================================== - | pysetuptools is dependency of the package --> Flask - | MarkupSafe is dependency of the package --> Flask - | werkzeug is dependency of the package --> Flask - | Jinja2 is dependency of the package --> Flask - | itsdangerous is dependency of the package --> Flask - | pysetuptools is dependency of the package --> flake8 - | pysetuptools is dependency of the package --> pip - | pysetuptools is dependency of the package --> pipstat - | pysetuptools is dependency of the package --> pylint - | pysetuptools is dependency of the package --> wcwidth - +============================================================================== - +============================================================================== - | Insert packages to exception remove: - +============================================================================== - > pysetuptools - - . - . - . - +============================================================================== - | Total 5 packages removed - +============================================================================== - | Package Flask-0.10.1 removed - | Package MarkupSafe-0.23 removed - | Package itsdangerous-0.24 removed - | Package Jinja2-2.7.3 removed - | Package werkzeug-0.9.4 removed - +============================================================================== - -Remove the packages with by TAG: - - $ slpkg -r _SBo --tag - - Packages with name matching [ _SBo ] - - [ delete ] --> Jinja2-2.7.3-x86_64-1_SBo - [ delete ] --> MarkupSafe-0.23-x86_64-1_SBo - [ delete ] --> Pafy-0.3.72-x86_64-1_SBo - [ delete ] --> Pulse-Glass-1.02-x86_64-1_SBo - [ delete ] --> Pygments-1.6-x86_64-2_SBo - [ delete ] --> asciinema-1.1.1-x86_64-1_SBo - [ delete ] --> astroid-1.3.8-x86_64-1_SBo - [ delete ] --> autopep8-1.2-x86_64-1_SBo - [ delete ] --> blessings-1.6-x86_64-1_SBo - [ delete ] --> bpython-0.14.2-x86_64-1_SBo - [ delete ] --> cffi-1.1.2-x86_64-1_SBo - [ delete ] --> cryptography-0.8.2-x86_64-1_SBo - [ delete ] --> curtsies-0.1.19-x86_64-1_SBo - [ delete ] --> enum34-1.0.4-x86_64-1_SBo - - Removed summary - =============================================================================== - Size of removed packages 24.61 Mb. - - Are you sure to remove 14 packages [y/N]? - - -Remove the packages using dialog utility: - - $ slpkg -r _SBo --tag --checklist - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog.png - - $ slpkg -r Flask --check-deps --checklist - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog2.png - -.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/pythondialog3.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: - - $ slpkg -q roxterm SDL2 CEGUI --add - - Add packages in queue: - - roxterm - SDL2 - CEGUI - - - $ slpkg -q roxterm --remove (or 'slpkg -q --remove' remove all packages) - - Remove packages from queue: - - roxterm - - - $ slpkg -q list - - Packages in queue: - - SDL2 - CEGUI - - - $ slpkg -q build (build only packages from queue) - - $ slpkg -q install (install packages from queue) - - $ slpkg -q build-install (build and install) - - -Add or remove the packages in blacklist file manually from -/etc/slpkg/blacklist or with the following options: - - $ slpkg -b live555 speex faac --add - - Add packages in blacklist: - - live555 - speex - faac - - - $ slpkg -b speex --remove (or 'slpkg -b --remove' remove all packages) - - Remove packages from blacklist: - - speex - - - $ slpkg -b list - - Packages in blacklist: - - live555 - faac - - Note: you can use asterisk "*" to match more packages like: - - *lib* \\ Add all packages inlcude string "lib" - *lib \\ Add all packages ends with string "lib" - lib* \\ Add all packages starts with string "lib" - - multi:*multilib* \\ Add all packages include string "multilib" from "multi" - \\ repository. - -Print a package description: - - $ slpkg -p alien vlc --color=green - - vlc (multimedia player for various audio and video formats) - - VLC media player is a highly portable multimedia player for various - audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) - as well as DVDs, VCDs, and various streaming protocols. - It can also be used as a server to stream in unicast or multicast in - IPv4 or IPv6 on a high-bandwidth network. - - - vlc home: http://www.videolan.org/vlc/ - - -Man page it is available for full support: - - $ man slpkg - - -Python modules --------------- -Slpkg has been designed it to work as cli tool however you can use some modules in your -own python code. - -Get the package dependencies from the sbo repository: - - >>> from slpkg.sbo.dependency import Requires - >>> Requires(flag="").sbo("vlc") - [['libass', 'libdc1394', 'libdvbpsi', 'libmpeg2', 'libupnp', 'lua', 'portaudio', - 'twolame', 'opus', 'ffmpeg', 'libwebp', 'gsm', 'opencv', 'libtar', 'libkate', ' - faac', 'libdca', 'libmatroska', 'libshout', 'speex', 'avahi', 'projectM', 'jack- - audio-connection-kit', 'libsidplay2', 'zvbi', 'faad2', 'libavc1394', 'libmodplug - ', 'musepack-tools', 'vcdimager', 'dirac', 'gnome-vfs', 'live555', 'qt5', 'rtmpd - ump', 'libdvdcss', 'fluidsynth', 'schroedinger', 'libminizip', 'chromaprint', 'x - 264', 'x265', 'libbluray'], ['libmp4v2'], ['libebml'], ['libdaemon'], ['ftgl'], - ['libcuefile', 'libreplaygain'], ['gnome-mime-data', 'libbonobo'], ['ORBit2'], [ - 'libxkbcommon', 'libinput'], ['libwacom']] - -Example from binary repository: - - >>> from slpkg.binary.dependency import Dependencies - >>> Dependencies(repo="slonly", black="").binary(name="Flask", flag="") - [['Jinja2', 'click', 'itsdangerous', 'werkzeug'], ['MarkupSafe']] - -Grab packages from the sbo repository: - -Get all the package names: - - >>> from slpkg.sbo.greps import SBoGrep - >>> SBoGrep(name="").names() - ... - -Grab the package sources links: - - >>> SBoGrep(name="jdk").source() - 'http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe7 - 8cdb6d0/jdk-8u152-linux-x64.tar.gz' - - -Grap a package requires: - - >>> SBoGrep(name="Flask").requires() - ['werkzeug', 'Jinja2', 'itsdangerous', 'click'] - -Grap a package checksum: - - >>> SBoGrep(name="Flask").checksum() - ['97278dfdafda98ba7902e890b0289177'] - -Grap a package description: - - >>> SBoGrep(name="Flask").description() - 'Flask (Microframework for Python)' - -Grap the package files: - - >>> SBoGrep(name="Flask").files() - 'Flask.SlackBuild Flask.info README slack-desc' - -Grab the packages for binary repository: - - >>> from slpkg.binary.greps import repo_data - >>> from slpkg.binary.repo_init import RepoInit - >>> PACKAGES_TXT, mirror = RepoInit("slonly").fetch() - >>> name, location, size, unsize = repo_data(PACKAGES_TXT, repo="slonly", flag="") - -Find a package url from the sbo repository: - - from slpkg.sbo.search import sbo_search_pkg - >>> sbo_search_pkg(name="Flask") - 'http://slackbuilds.org/slackbuilds/14.2/python/Flask/' - -Check if the package exist in the binary repository: - - >>> from slpkg.binary.search import search_pkg - >>> search_pkg(name="vlc", repo="alien") - 'vlc' - -Read files from the sbo repository: - - >>> from slpkg.sbo.search import sbo_search_pkg - >>> from slpkg.sbo.read import ReadSBo - >>> url = sbo_search_pkg(name="libreoffice") - >>> ReadSBo(url).readme("README") - 'LibreOffice is a productivity suite that is compatible with other major\noffice - suites, and available on a variety of platforms. It is free\nsoftware and there - fore free to download, use and distribute.\n\nThis script builds a Slackware pac - kage from the official binary (RPM\'s)\ndistributed by The Document Foundation. - Everything needed by the\napplication should be built statically into it, so th - ere aren\'t any\ndependencies not satisfied by a normal installation.\n\nBe sure - to look at the script for some optional things you can do when\nbuilding.\n\nNO - TE: See the separate SlackBuild script for the language packs.\n\nNOTE2: To keep - LibreOffice installed concurrently with OpenOffice, run the\n included "o - pen-libre-together.sh" script saved in the documentation\n directory of th - is package to patch the .desktop menu files.\n\nNOTE3: LibreOffice versions chan - ge quite often. If the version for which\n this script was written is no l - onger available, look for it at:\n http://download.documentfoundation.org/ - libreoffice/old/stable/\n It will go there after the next release.\n - You can also try building the newer version using:\n # VERSION="x.y.z" ./ - libreoffice.SlackBuild\n This *might* work, but upstream has a habit of ch - anging the naming\n and structure of the files, etc. between versions, so: - YMMV.\n' - - >>> ReadSBo(url).slackbuild("libreoffice", ".SlackBuild") - ... - - >>> ReadSBo(url).info("libreoffice", ".info") - 'PRGNAM="libreoffice"\nVERSION="5.4.3"\nHOMEPAGE="http://www.libreoffice.org"\nD - OWNLOAD="http://download.documentfoundation.org/libreoffice/stable/5.4.3/rpm/x86 - /LibreOffice_5.4.3_Linux_x86_rpm.tar.gz"\nMD5SUM="bada10945a979537ff42268462fc8b - de"\nDOWNLOAD_x86_64="http://download.documentfoundation.org/libreoffice/stable/ - 5.4.3/rpm/x86_64/LibreOffice_5.4.3_Linux_x86-64_rpm.tar.gz"\nMD5SUM_x86_64="4b0b - 46a6d2df74a1446837ba76af07fd"\nREQUIRES="jdk"\nMAINTAINER="Willy Sudiarto Raharj - o"\nEMAIL="willysr@slackbuilds.org"\n' - - - >>> ReadSBo(url).doinst("doinst.sh") - 'if [ -x /usr/bin/update-desktop-database ]; then\n /usr/bin/update-desktop-dat - abase -q usr/share/applications\nfi\n\nif [ -x /usr/bin/update-mime-database ]; - then\n /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1\nfi\n\nif [ - -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 - in/gtk-update-icon-cache -f usr/share/icons/$theme >/dev/null 2>&1\n fi\n do - ne\nfi\' - -Get the Slackware version: - - >>> from slpkg.slack.slack_version import slack_ver - >>> slack_ver() - '14.2' - -Find a Slackware package: - - >>> from slpkg.pkg.find import find_package - >>> find_package(find_pkg="vlc", directory="/var/log/packages/") - ['vlc-2.2.6-x86_64-1alien'] - -Check for the installed packages: - - >>> from slpkg.pkg.installed import GetFromInstalled - >>> GetFromInstalled(package="ffmpeg").name() - 'ffmpeg' - >>> GetFromInstalled(package="ffmpeg").version() - '-3.2.4' - - -Copyright ---------- - -- Copyright 2014-2018 © Dimitris Zlatanidis -- Slackware® is a Registered Trademark of Patrick Volkerding. -- Linux is a Registered Trademark of Linus Torvalds. diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 8e78ab12..00000000 --- a/INSTALL +++ /dev/null @@ -1,29 +0,0 @@ -Installation -============ - - -Python & OS Support -------------------- - -Slpkg works with Python versions 2.7.5+ . - -Slpkg works on Slackware distribution and possibly in some Slackware based -distribution like SalixOS, Slackel etc. - - -Install slpkg -------------- - -There are mainly 3 ways: - -1) Suggested method, download latest slpkg version from: - https://gitlab.com/dslackw/slpkg/releases - Untar or unzip the archive, change directory in slpkg- - and run './install.sh'. - slpkg auto-installed as Slackware package (root privileges are required). - -2) Download binary package from https://sourceforge.net/projects/slpkg/files/binary/ - and use Slackware command `upgradepkg --install-new ` - -3) Using pip: pip install slpkg --upgrade - diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 00000000..ecaf442f --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,25 @@ +### Installation + + +##### Python & OS Support + +Slpkg works with Python versions 2.7.5+ . + +Slpkg works on Slackware distribution and possibly in some Slackware based +distribution like SalixOS, Slackel etc. + + +##### Install slpkg + +There are mainly 3 ways: + +1. Suggested method, download latest slpkg version from: + '`https://gitlab.com/dslackw/slpkg/releases`' + Untar or unzip the archive, change directory in '`slpkg-`' + and run '`./install.sh`'. + slpkg auto-installed as Slackware package (root privileges are required). + +2. Download binary package from '`https://sourceforge.net/projects/slpkg/files/binary/`' + and use Slackware command '`upgradepkg --install-new `' + +3. Using pip: '`pip install slpkg --upgrade`' diff --git a/README.md b/README.md index 3c5d96a1..e39f7062 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,18 @@ -# slpkg +# slpkg 3.4.0 -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 is a powerful software package manager that installs, updates, and removes packages on +[Slackware](http://www.slackware.com/) 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 +Slpkg works in accordance with the standards of the organization [SlackBuilds.org](https://www.slackbuilds.org) to builds packages. Also uses the Slackware Linux instructions for installation, -upgrading or removing packages. +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 +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. + +##### Copyright + +Copyright 2014-2019 © Dimitris Zlatanidis. Slackware® is a Registered Trademark of Patrick Volkerding. Linux is a Registered Trademark of Linus Torvalds. diff --git a/REPOSITORIES b/REPOSITORIES deleted file mode 100644 index 0dcf575b..00000000 --- a/REPOSITORIES +++ /dev/null @@ -1,52 +0,0 @@ --------------------------------------------------------------------------------------- -This file was created to explain some peculiarities of repositories used by the slpkg. --------------------------------------------------------------------------------------- - -*** NOTE: For more informations, refer directly to the repositories *** - -Default repositories: ---------------------- -For -current users use sbo repository: -SlackBuilds.org (sbo) FAQ(15): -Slackware current is not supported, but as a general rule, the scripts -should work on it as well. - -Rworkman's (rlw) repository use dependencies where displayed in central site -'http://rlworkman.net/pkgs/' and only those. Unfortunately there is no fixed reference -dependencies file PACKAGES.TXT. You can make changes in /etc/slpkg/rlworkman.deps file. - -Conraid's (conrad) repository must be used only from Slackware64 current users -and has no reference dependencies. - -Slackel.gr (slackl) repository must be used only from Slackware{x86, x86_64} -current users. - -MSB (msb) repository has one ChangeLog.txt file for three sub-repositories {1.14, 1.16, latest}. -So if you have updated the list of packages with version 1.14 and want to switch to version -1.16 then run "slpkg upgrade" instead of "slpkg update". MSB (msb) repository has no reference -dependencies. Similarly apply and for the repository Cinnamon (csb) but with the different -versions. Both repositories Mate and Cinnamon support Slackware -current x86_64 but not x86. - -Slonly repository do not support -current for x86 arch. - -Alien's ktown (ktown), Alien's multilib (multi), Slacke E17 and E18, slack-n-free, csb, -mles and Alien's restricted repository has no reference dependencies. - -IMPORTANT: For Alien's (Eric Hameleers) repositories (alien, multi and ktown) should run -'slpkg upgrade' instant 'slpkg update', if you want to spend from -stable in -current or not -because there is not different file 'ChangeLog.txt' for each version. - -Custom repositories: --------------------- -There is the possibility of adding the repository directly from the user enough to address -up to be the 'PACKAGES.TXT' files and 'CHECKSUMS.md5' least. If not is there file 'ChangeLog.txt' -will get warning messages that the 'ChangeLog.txt' file can not be read but not worry, the process -is completed normally have each time you run the command 'slpkg update' the package lists for such -a repository will be recreated from start automatically. - -Sometimes you may experience some problems with these repositories such as the not correctly -resolve dependencies, and this may happen some specificities separate list which unfortunately -can not be calculated, good is the report these problems. - -Slackware ARM repositories: ---------------------------- -Slackware ARM users will must use only two repositories at the moment slack and sbo. diff --git a/REPOSITORIES.md b/REPOSITORIES.md new file mode 100644 index 00000000..5f9fabf9 --- /dev/null +++ b/REPOSITORIES.md @@ -0,0 +1,56 @@ +### This file was created to explain some peculiarities of repositories used by the slpkg. + + +*NOTE: For more informations, refer directly to the repositories* + + +##### Default repositories: + +For the -current users who they use the sbo repository: + SlackBuilds.org (sbo) FAQ(15): + Slackware current is not supported, but as a general rule, the scripts + should work on it as well. + +Rworkman's (rlw) repository use dependencies where displayed in central site + '`http://rlworkman.net/pkgs/`' and only those. Unfortunately there is no fixed reference + dependencies in the file PACKAGES.TXT. You can make changes in '`/etc/slpkg/rlworkman.deps`' + file. + +Conraid's (conrad) repository must be used only from Slackware64 current users and it has no + reference dependencies. + +Slackel.gr (slackl) repository must be used only from Slackware{x86, x86_64} -current users. + +MSB (msb) repository has one ChangeLog.txt file for three sub-repositories {1.14, 1.16, latest}. + So if you have updated the list of packages with the version 1.14 and you want to switch to + version 1.16 you must run '`slpkg upgrade`' instead of '`slpkg update`'. MSB (msb) repository + has no reference to the dependencies. Similarly apply and for the repository Cinnamon (csb) + but with the different versions. Both repositories Mate and Cinnamon support Slackware -current + x86_64 but not x86. + +Slonly repository don't support -current for x86 arch. + +Alien's ktown (ktown), Alien's multilib (multi), Slacke E17 and E18, slack-n-free, csb, + mles and Alien's restricted repository has no reference dependencies. + +IMPORTANT: For Alien's (Eric Hameleers) repositories (alien, multi and ktown) should run + '`slpkg upgrade`' instant '`slpkg update`', if you want to spend from -stable in -current or + not, because there is not different file '`ChangeLog.txt`' for each version. + + +##### Custom repositories: + +There is the possibility of adding the repository directly from the user enough to address + up to be the '`PACKAGES.TXT`' files and '`CHECKSUMS.md5`' least. If not is there file '`ChangeLog.txt`' + will get warning messages that the '`ChangeLog.txt`' file can not be read but not worry, the process + is completed normally have each time you run the command '`slpkg update`' the package lists for such + a repository will be recreated from start automatically. + +Sometimes you may experience some problems with these repositories such as the not correctly + resolve dependencies, and this may happen some specificities separate list which unfortunately + can not be calculated, good is the report these problems. + + +##### Slackware ARM repositories: + +Slackware ARM users will must use only two repositories at the moment slack and sbo. diff --git a/clean.py b/clean.py index d61d5535..39d63a07 100755 --- a/clean.py +++ b/clean.py @@ -30,9 +30,8 @@ class Clean(object): """Clean all data like man page, log files, PACKAGES.TXT and configuration files. This is useful if "slpkg" installed via "pip" because pip uninstalls only Python packages and script - and not data. So if uninstall "# pip uninstall slpkg" after run - "# python clean.py" to remove all data and configuration file. - keep this script if you want to remove data some time. + and not data. So if uninstall with "# pip uninstall slpkg" after + run "# python clean.py" to remove all data and configuration files. NOTE: Run this script as root.""" def __init__(self): self.files = [ @@ -57,5 +56,6 @@ class Clean(object): print("Remove directory --> {0}".format(d)) shutil.rmtree(d) + if __name__ == "__main__": Clean().start() diff --git a/man/slpkg.8 b/man/slpkg.8 index 2a22541a..c2ffb1b3 100644 --- a/man/slpkg.8 +++ b/man/slpkg.8 @@ -16,10 +16,10 @@ Slpkg is a user-friendly package manager for Slackware installations .SH SYNOPSIS Usage: slpkg [COMMANDS|OPTIONS] {repository|package...} - - Commands: - [update, --only=[...]] - [upgrade, --only=[...]] + + Commands: + [update, --repositories=[...]] + [upgrade, --repositories=[...]] [repo-add [repository name] [URL]] [repo-remove [repository]] [repo-enable] @@ -29,6 +29,7 @@ Usage: slpkg [COMMANDS|OPTIONS] {repository|package...} [health, --silent] [deps-status, --tree, --graph=[type]] [new-config] + [clean] Optional arguments: [-h] [-v] @@ -59,9 +60,9 @@ Usage: slpkg [COMMANDS|OPTIONS] {repository|package...} .SH DESCRIPTION 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 +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. .SH GLOBAL OPTIONS @@ -74,34 +75,34 @@ Print the version of program and exit. The following commands are available. .SS update, create and update packages list -\fBslpkg\fP \fBupdate\fP, \fB--only=[repositories...]\fP +\fBslpkg\fP \fBupdate\fP, \fB--repositories=[repositories...]\fP .PP Used to re-synchronize the package lists and create some important files. This command must run every new repository is added or new updates is available. .PP Additional options: .PP -\fB--only=[repositories...]\fP : Update at specifically repositories separate by comma. +\fB--repositories=[repositories...]\fP : Update at specifically repositories separate by comma. .SS upgrade, recreate packages list -\fBslpkg\fP \fBupgrade\fP, \fB--only=[repositories...]\fP +\fBslpkg\fP \fBupgrade\fP, \fB--repositories=[repositories...]\fP .PP -It is sometimes useful to create all of the base file from the beginning so this +It is sometimes useful to create all of the base file from the beginning so this command delete all the package lists and recreated. .PP Additional options: .PP -\fB--only=[repositories...]\fP : Update at specifically repositories separate by comma. +\fB--repositories=[repositories...]\fP : Update at specifically repositories separate by comma. .SS repo-add, add custom repository \fBslpkg\fP \fBrepo-add\fP <\fIrepository name\fP> <\fIURL\fP> .PP -Add custom binary repository. The repositories will be added to this command should +Add custom binary repository. The repositories will be added to this command should contain at least the files "PACKAGES.TXT" and "CHECKSUMS.md5" and optional file "ChangeLog.txt" used to control changes. .SS repo-remove, remove custom repository -\fBslpkg\fP \fBrepo-remove\fP <\fIrepository\fP> +\fBslpkg\fP \fBrepo-remove\fP <\fIrepository\fP> .PP Remove custom repository by name. @@ -137,7 +138,7 @@ Additional options: .SS deps-status, print dependencies status \fBslpkg\fP \fBdeps-status\fP \fB--graph=[type]\fP .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 ". .PP Additional options: @@ -152,6 +153,11 @@ Additional options: This command searches for .new configuration files in /etc/ path and ask the user what todo with those files. +.SS clean-tmp, the tmp/ directory +\fBslpkg\fP \fBclean-tmp\fP +.PP +Clean the /tmp/slpkg/ directory from downloaded packages and sources. + .SH OPTIONS .PP The following arguments are available. @@ -159,15 +165,15 @@ The following arguments are available. .SS -a, --autobuild, auto build packages \fBslpkg\fP \fB-a\fP <\fIscript.tar.gz\fP> <\fIsources\fP> .PP -If you already have download the script and source with this argument you can build Slackware -package from source quickly and easy. Slpkg will grab checksum from the .info file to make control -if he does not agree with the versions you will get the wrong message. If you want switch off +If you already have download the script and source with this argument you can build Slackware +package from source quickly and easy. Slpkg will grab checksum from the .info file to make control +if he does not agree with the versions you will get the wrong message. If you want switch off checksum from the configuration file. .SS -b, --blacklist, add, remove, view packages in blacklist \fBslpkg\fP \fB-b\fP <\fIname of packages\fP> \fB--add\fP, \fB--remove\fP, \fBlist\fP .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 like "# 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 @@ -179,7 +185,7 @@ multi:*multilib* --add", this add all multilib packages from repository "multi". \fBslpkg\fP \fB-q\fP \fBlist\fP, \fBbuild\fP, \fBinstall\fP, \fBbuild-install\fP .PP 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 --remove". (these arguments only working for the sbo repository) Build or install or build and install packages are queued. @@ -192,7 +198,7 @@ Print, reset or edit configuration file. .SS -l, --list, list of installed packages \fBslpkg\fP \fB-l\fP <\fIrepository\fP>, \fB--index\fP, \fB--installed\fP, \fB--name\fP .PP -Print a list of all available packages from repository, index or print only packages installed on the +Print a list of all available packages from repository, index or print only packages installed on the system. Support command "grep" like "# slpkg -l sbo | grep python". .PP Additional options: @@ -207,9 +213,9 @@ Additional options: \fBslpkg\fP \fB-c\fP <\fIrepository\fP> \fB--upgrade\fP \fB--rebuild\fP \fB--skip=[packages...]\fP, \fB--resolve-off\fP, \fB--checklist\fP .PP -Check your packages if up to date. Slackware patches repository works independently of the -others i.e not need before updating the list of packages by choosing "# slpkg update", works -directly with the official repository and so always you can have updated your system. +Check your packages if up to date. Slackware patches repository works independently of the +others i.e not need before updating the list of packages by choosing "# slpkg update", works +directly with the official repository and so always you can have updated your system. .PP Additional options: .PP @@ -228,7 +234,7 @@ Additional options: .SS -s, --sync, synchronize packages, download, build and install package with all dependencies \fBslpkg\fP \fB-s\fP <\fIrepository\fP> <\fInames of packages\fP>, \fB--resolve-off\fP, \fB--case-ins\fP, \fB--patches\fP .PP -Installs or upgrade packages from the repositories with automatically resolving all +Installs or upgrade packages from the repositories with automatically resolving all dependencies of the package. .PP Additional options: @@ -265,7 +271,7 @@ Additional options: .SS -p, --desc, print packages description \fBslpkg\fP \fB-p\fP <\fIrepository\fP> <\fIname of package\fP>, \fB--color=[]\fP .PP -Print package description from remote repository with color. Available colors: +Print package description from remote repository with color. Available colors: red, green, yellow, cyan, grey .PP Additional options: @@ -273,9 +279,9 @@ Additional options: \fB--color=[]\fP : Change color print. .SS -F, --FIND, find packages from repositories -\fBslpkg\fP \fB-F\fP <\fInames of packages\fP>, \fI--case-ins\fP +\fBslpkg\fP \fB-F\fP <\fInames of packages\fP>, \fI--case-ins\fP .PP -Find packages from all repositories are enabled. Useful command to find all available +Find packages from all repositories are enabled. Useful command to find all available packages per repository. .PP Additional options: @@ -285,7 +291,7 @@ Additional options: .SS -f, --find, find installed packages \fBslpkg\fP \fB-f\fP <\fInames of packages\fP>, \fB--case-ins\fP, \fB--third-party\fP .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". .PP Additional options: @@ -297,7 +303,7 @@ Additional options: .SS -n, --network, view SBo packages \fBslpkg\fP \fB-n\fP <\fIname of package\fP>, <\fI[pattern], --checklist\fP>, \fB--case-ins\fP .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 "--checklist" additional option to load all repository, example: "# slpkg -n --checklist". .PP @@ -308,26 +314,26 @@ Additional options: \fB--case-ins\fP : Search package name in repository with case insensitive. .SS -i, --installpkg, install Slackware binary packages -\fBslpkg\fP \fB-i\fP \fB[--warn, --md5sum, --root /otherroot, --infobox, --menu, --terse, +\fBslpkg\fP \fB-i\fP \fB[--warn, --md5sum, --root /otherroot, --infobox, --menu, --terse, --ask, --priority ADD|REC|OPT|SKP, --tagfile /somedir/tagfile]\fP <\fIpackages.t?z\fP> .PP -Installs single binary packages designed for use with the Slackware Linux +Installs single binary packages designed for use with the Slackware Linux distribution into your system. More information please read "man installpkg". .SS -u, --upgradepkg, install-upgrade Slackware binary packages with new \fBslpkg\fP \fB-u\fP \fB[--dry-run, --install-new, --reinstall, --verbose]\fP <\fIpackages.t?z\fP> .PP -Normally upgrade only upgrades packages that are already installed on the system, -and will skip any packages that do not already have a version installed. +Normally upgrade only upgrades packages that are already installed on the system, +and will skip any packages that do not already have a version installed. More information please read "man upgradepkg". .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, \fB--third-party\fP .PP -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 +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 you'd see listed in /var/log/packages/), or by the base package name. If installed -packages with command "# slpkg -s " then write a file in /var/log/slpkg/dep/ +packages with command "# slpkg -s " then write a file in /var/log/slpkg/dep/ with all dependencies and it allows you can remove them all together. More information please read "man removepkg". .PP @@ -355,7 +361,7 @@ command. For example: \fBslpkg \-\-help\fP - display help for slpkg -.SH DEFAULT REPOSITORIES +.SH DEFAULT REPOSITORIES slackware.com = "slack" SlackBuilds.org = "sbo" Alien's = "alien" @@ -373,7 +379,7 @@ For example: Cinnamon Desktop Environment = "csb" Connochaetos slack-n-free = "connos" Microlinux mles = "mles" - + Default enable repository is "slack" and "sbo". Add or remove default repository in configuration file "/etc/slpkg/repositories.conf". Read REPOSITORIES file for particularities. @@ -388,8 +394,8 @@ For example: All packages ends with: "*string" All packages include: "*string*" -.SH PASS VARIABLES TO SCRIPT - If you want to pass variables to the script exported as: +.SH PASS VARIABLES TO THE SCRIPT + If you want to pass variables to the script exported as: Usage: Example: @@ -425,7 +431,7 @@ For example: SlackBuilds logs and dependencies files /var/lib/slpkg - PACKAGES.TXT files + PACKAGES.TXT files SLACKBUILDS.TXT files CHECKSUMS.md5 files FILELIST.TXT files @@ -437,7 +443,7 @@ For example: .SH AUTHOR Dimitris Zlatanidis .SH HOMEPAGE -https://gitlab.com/dslackw/slpkg +https://dslackw.gitlab.io/slpkg/ .SH COPYRIGHT Copyright \(co 2014-2019 Dimitris Zlatanidis diff --git a/setup.py b/setup.py index 7b7bc7c3..5487a921 100755 --- a/setup.py +++ b/setup.py @@ -69,7 +69,7 @@ setup( "view", "slackpkg", "tool", "build"], author=_meta_.__author__, author_email=_meta_.__email__, - url="https://gitlab.com/dslackw/slpkg", + url="https://dslackw.gitlab.io/slpkg/", package_data={"": ["LICENSE", "README.md", "CHANGELOG"]}, data_files=[("man/man8", ["man/slpkg.8"]), ("/etc/bash_completion.d", ["conf/slpkg.bash-completion"]), diff --git a/slackbuild/slack-desc b/slackbuild/slack-desc index c24765ea..02fc0e25 100644 --- a/slackbuild/slack-desc +++ b/slackbuild/slack-desc @@ -14,6 +14,6 @@ slpkg: computes dependencies and figures out what things should occur slpkg: to install packages. Slpkg makes it easier to maintain groups of slpkg: of machines without having to manually update. slpkg: -slpkg: Homepage: https://gitlab.com/dslackw/slpkg +slpkg: Homepage: https://dslackw.gitlab.io/slpkg/ slpkg: slpkg: diff --git a/slackbuild/slpkg.SlackBuild b/slackbuild/slpkg.SlackBuild index 8047f757..2d5b3735 100755 --- a/slackbuild/slpkg.SlackBuild +++ b/slackbuild/slpkg.SlackBuild @@ -110,8 +110,8 @@ 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 mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a README.md ChangeLog.txt LICENSE TESTING ISSUES KNOWN_ISSUES REPOSITORIES \ - requirements.txt $PKG/usr/doc/$PRGNAM-$VERSION +cp -a README.md ChangeLog.txt LICENSE TESTING ISSUES KNOWN_ISSUES REPOSITORIES.md \ + INSTALL.md requirements.txt $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install diff --git a/slpkg/__metadata__.py b/slpkg/__metadata__.py index 974d7fd3..a961fd65 100644 --- a/slpkg/__metadata__.py +++ b/slpkg/__metadata__.py @@ -78,11 +78,13 @@ class MetaData(object): __all__ = "slpkg" __author__ = "dslackw" - __version_info__ = (3, 3, 9) + __version_info__ = (3, 4, 0) __version__ = "{0}.{1}.{2}".format(*__version_info__) __license__ = "GNU General Public License v3 (GPLv3)" __email__ = "d.zlatanidis@gmail.com" __maintainer__ = "Dimitris Zlatanidis (dslackw)" + __twitter__ = "https://twitter.com/dslackw" + __homepage__ = "https://dslackw.gitlab.io/slpkg/" # Default Slackware release slack_rel = "stable" @@ -159,7 +161,7 @@ class MetaData(object): slpkg_tmp_patches = _conf_slpkg["PATCHES"] checkmd5 = _conf_slpkg["CHECKMD5"] del_all = _conf_slpkg["DEL_ALL"] - del_build = _conf_slpkg["DEL_BUILD"] + del_folder = _conf_slpkg["DEL_BUILD"] sbo_build_log = _conf_slpkg["SBO_BUILD_LOG"] makeflags = _conf_slpkg["MAKEFLAGS"] default_answer = _conf_slpkg["DEFAULT_ANSWER"] @@ -215,7 +217,7 @@ class MetaData(object): "ENDC": "" } - CHECKSUMS_link = ("https://raw.gitlabusercontent.com/{0}/{1}/" + CHECKSUMS_link = ("https://gitlab.com/{0}/{1}/raw/" "master/CHECKSUMS.md5".format(__author__, __all__)) # file spacer diff --git a/slpkg/arguments.py b/slpkg/arguments.py index 31672fa1..a61ebaf1 100644 --- a/slpkg/arguments.py +++ b/slpkg/arguments.py @@ -48,10 +48,10 @@ Usage: slpkg [COMMANDS|OPTIONS] {repository|package...} _Slackware package manager_______ Commands: - update, --only=[...] Run this command to update all - the packages list. + update, --repositories=[...] Run this command to update all + the packages lists. - upgrade, --only=[...] Delete and recreate all packages + upgrade, --repositories=[...] Delete and recreate all packages lists. repo-add [repository name] [URL] Add custom repository. @@ -78,13 +78,15 @@ Commands: new-config Manage .new configuration files. + clean-tmp Clean the tmp/ directory from + downloaded packages and sources. 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 + If you have already downloaded the script and the source code you can build a new package with this command. @@ -163,7 +165,7 @@ Optional arguments: You can read more about slpkg from manpage or see examples from readme file. Issues: https://gitlab.com/dslackw/slpkg/issues -Homepage: https://gitlab.com/dslackw/slpkg +Homepage: https://dslackw.gitlab.io/slpkg/ """ header() print(options.__doc__) @@ -173,8 +175,8 @@ def usage(repo): """Usage: slpkg [COMMANDS|OPTIONS] {repository|package...} Commands: - [update, --only=[...]] - [upgrade, --only=[...]] + [update, --repositories=[...]] + [upgrade, --repositories=[...]] [repo-add [repository name] [URL]] [repo-remove [repository]] [repo-enable] @@ -184,6 +186,7 @@ def usage(repo): [health, --silent] [deps-status, --tree, --graph=[type]] [new-config] + [clean-tmp] Optional arguments: [-h] [-v] diff --git a/slpkg/sbo/remove.py b/slpkg/clean.py similarity index 55% rename from slpkg/sbo/remove.py rename to slpkg/clean.py index 1c604ffc..894a0a10 100644 --- a/slpkg/sbo/remove.py +++ b/slpkg/clean.py @@ -1,7 +1,7 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -# remove.py file is part of slpkg. +# clean.py file is part of slpkg. # Copyright 2014-2019 Dimitris Zlatanidis # All rights reserved. @@ -28,8 +28,22 @@ import shutil from slpkg.__metadata__ import MetaData as _meta_ -def delete(build_folder): - """Delete build directory and all its contents. +def clean_tmp(): + """Delete packages and sources from tmp/ directory """ - if _meta_.del_build in ["on", "ON"] and os.path.exists(build_folder): - shutil.rmtree(build_folder) + tmps = [_meta_.tmp_path, # /tmp/slpkg/ + _meta_.build_path, # /tmp/slpkg/build/ + _meta_.slpkg_tmp_packages, # /tmp/slpkg/packages/ + _meta_.slpkg_tmp_patches # /tmp/slpkg/patches/ + ] + # Delete a whole slpkg folder from the tmp directory + if os.path.exists(tmps[0]): + shutil.rmtree(tmps[0]) + print("All packages and sources were deleted from: {0}".format( + tmps[0])) + # Recreate the paths again + if not os.path.exists(tmps[0]): + for tmp in tmps: + print("Created directory: {0}".format(tmp)) + os.mkdir(tmp) + print("Done!") diff --git a/slpkg/main.py b/slpkg/main.py index 1b761a7e..af65d78b 100644 --- a/slpkg/main.py +++ b/slpkg/main.py @@ -25,6 +25,7 @@ import os import sys +from slpkg.clean import clean_tmp from slpkg.load import Regex from slpkg.desc import PkgDesc from slpkg.messages import Msg @@ -82,7 +83,8 @@ class ArgParse(object): "update-slpkg", "health", "deps-status", - "new-config" + "new-config", + "clean" ] # checking if repositories exists @@ -122,7 +124,7 @@ class ArgParse(object): if len(self.args) == 1 and self.args[0] == "update": Update().repository(only="") elif (len(self.args) == 2 and self.args[0] == "update" and - self.args[1].startswith("--only=")): + self.args[1].startswith("--repositories=")): repos = self.args[1].split("=")[-1].split(",") for rp in repos: if rp not in self.meta.repositories: @@ -178,7 +180,7 @@ class ArgParse(object): if len(self.args) == 1 and self.args[0] == "upgrade": Initialization(False).upgrade(only="") elif (len(self.args) == 2 and self.args[0] == "upgrade" and - self.args[1].startswith("--only=")): + self.args[1].startswith("--repositories=")): repos = self.args[1].split("=")[-1].split(",") for rp in repos: if rp not in self.meta.repositories: @@ -239,6 +241,13 @@ class ArgParse(object): else: usage("") + def command_clean_tmp(self): + """Clean all downloaded packages and sources""" + if len(self.args) == 1 and self.args[0] == "clean-tmp": + clean_tmp() + else: + usage("") + def auto_build(self): """Auto built tool """ @@ -806,6 +815,7 @@ def main(): "health": argparse.command_health, "deps-status": argparse.command_deps_status, "new-config": argparse.command_new_config, + "clean-tmp": argparse.command_clean_tmp, "-a": argparse.auto_build, "--autobuild": argparse.auto_build, "-l": argparse.pkg_list, diff --git a/slpkg/pkg/manager.py b/slpkg/pkg/manager.py index 483ee604..86456275 100644 --- a/slpkg/pkg/manager.py +++ b/slpkg/pkg/manager.py @@ -226,7 +226,7 @@ class PackageManager(object): 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" + " updated the packages \n| lists. Run the command" " 'slpkg update' and 'slpkg -c slack --upgrade'") self.msg.template(78) return removed diff --git a/slpkg/remove.py b/slpkg/remove.py index 7f9ec7ef..906974a5 100644 --- a/slpkg/remove.py +++ b/slpkg/remove.py @@ -23,13 +23,22 @@ import os +import shutil + from slpkg.__metadata__ import MetaData as _meta_ def delete_package(path, packages): - """Remove downloaded packages + """Delete downloaded packages """ if _meta_.del_all in ["on", "ON"]: for pkg in packages: os.remove(path + pkg) + + +def delete_folder(folder): + """Delete folder with all files. + """ + if _meta_.del_folder in ["on", "ON"] and os.path.exists(folder): + shutil.rmtree(folder) diff --git a/slpkg/sbo/network.py b/slpkg/sbo/network.py index 2e8ad798..7d06b7fc 100644 --- a/slpkg/sbo/network.py +++ b/slpkg/sbo/network.py @@ -30,6 +30,7 @@ from slpkg.utils import Utils from slpkg.messages import Msg from slpkg.blacklist import BlackList from slpkg.downloader import Download +from slpkg.remove import delete_folder from slpkg.dialog_box import DialogUtil from slpkg.security import pkg_security from slpkg.__metadata__ import MetaData as _meta_ @@ -39,7 +40,6 @@ from slpkg.pkg.build import BuildPackage from slpkg.pkg.manager import PackageManager from slpkg.sbo.read import ReadSBo -from slpkg.sbo.remove import delete from slpkg.sbo.greps import SBoGrep from slpkg.sbo.sbo_arch import SBoArch from slpkg.sbo.compressed import SBoLink @@ -223,7 +223,7 @@ class SBoNetwork(object): """Build package """ self.build() - delete(self.build_folder) + delete_folder(self.build_folder) raise SystemExit() def choice_install(self): diff --git a/slpkg/sbo/slackbuild.py b/slpkg/sbo/slackbuild.py index 5c86bbde..06143ae7 100644 --- a/slpkg/sbo/slackbuild.py +++ b/slpkg/sbo/slackbuild.py @@ -32,6 +32,7 @@ from slpkg.toolbar import status from slpkg.log_deps import write_deps from slpkg.blacklist import BlackList from slpkg.downloader import Download +from slpkg.remove import delete_folder from slpkg.security import pkg_security from slpkg.__metadata__ import MetaData as _meta_ @@ -41,7 +42,6 @@ from slpkg.pkg.manager import PackageManager from slpkg.pkg.installed import GetFromInstalled from slpkg.sbo.greps import SBoGrep -from slpkg.sbo.remove import delete from slpkg.sbo.sbo_arch import SBoArch from slpkg.sbo.compressed import SBoLink from slpkg.sbo.dependency import Requires @@ -196,7 +196,7 @@ class SBoInstall(object): raise SystemExit() self.msg.reference(installs, upgraded) write_deps(self.deps_dict) - delete(self.build_folder) + delete_folder(self.build_folder) def view_installing_for_deps(self): """View installing message for dependencies diff --git a/slpkg/slack/patches.py b/slpkg/slack/patches.py index a9c961cb..a446825e 100644 --- a/slpkg/slack/patches.py +++ b/slpkg/slack/patches.py @@ -130,7 +130,7 @@ class Patches(object): if self.meta.arch == "x86_64": slack_arch = "64" print("\nSlackware{0} '{1}' v{2} distribution is up to " - "date\n".format(slack_arch, self.version, slack_ver())) + "date!\n".format(slack_arch, self.version, slack_ver())) def store(self): """ diff --git a/slpkg/slpkg_update.py b/slpkg/slpkg_update.py index eca53406..a30775e9 100644 --- a/slpkg/slpkg_update.py +++ b/slpkg/slpkg_update.py @@ -39,11 +39,13 @@ def it_self_update(): download and update itself """ __new_version__ = "" - repository = "gitlab.com" + repository = "gitlab" branch = "master" - ver_link = ("https://{0}/{1}/{2}/raw/" - "{3}/{4}/__metadata__.py".format(repository, _meta_.__author__, - _meta_.__all__, branch, + ver_link = ("https://{0}.com/{1}/{2}/raw/" + "{3}/{4}/__metadata__.py".format(repository, + _meta_.__author__, + _meta_.__all__, + branch, _meta_.__all__)) version_data = URL(ver_link).reading() for line in version_data.splitlines(): @@ -65,12 +67,13 @@ def it_self_update(): print("") # new line after answer else: raise SystemExit() - dwn_link = ["https://{0}.com/{1}/{2}/archive/" - "v{3}/{4}-{5}.tar.gz".format(repository, _meta_.__author__, - _meta_.__all__, - __new_version__, - _meta_.__all__, - __new_version__)] + dwn_link = ["https://{0}.com/{1}/{2}/-/archive/" + "{3}/{4}-{5}.tar.gz".format(repository, + _meta_.__author__, + _meta_.__all__, + __new_version__, + _meta_.__all__, + __new_version__)] if not os.path.exists(_meta_.build_path): os.makedirs(_meta_.build_path) Download(_meta_.build_path, dwn_link, repo="").start() diff --git a/slpkg/version.py b/slpkg/version.py index 33c18121..accd7dd0 100644 --- a/slpkg/version.py +++ b/slpkg/version.py @@ -31,7 +31,11 @@ def prog_version(): print("Version : {0}\n" "Licence : {1}\n" "Email : {2}\n" - "Maintainer: {3}".format(_meta_.__version__, + "Homepage : {3}\n" + "Twitter : {4}\n" + "Maintainer: {5}".format(_meta_.__version__, _meta_.__license__, _meta_.__email__, + _meta_.__homepage__, + _meta_.__twitter__, _meta_.__maintainer__))