mirror of
https://gitlab.com/dslackw/slpkg.git
synced 2025-01-10 20:01:54 +01:00
Merge branch 'develop'
This commit is contained in:
commit
7c09c8497a
10 changed files with 80 additions and 129 deletions
|
@ -1,3 +1,7 @@
|
|||
3.9.8 - 12/05/2022
|
||||
Updated:
|
||||
- Stderr error output to auto-install packages
|
||||
|
||||
3.9.8 - 12/05/2022
|
||||
Bugfix:
|
||||
- Flag (--repos=) TypeError: exceptions must derive from BaseException
|
||||
|
|
87
EXAMPLES.md
87
EXAMPLES.md
|
@ -1,92 +1,5 @@
|
|||
# Slpkg
|
||||
|
||||
|
||||
##### Usage
|
||||
|
||||
Before you start to use slpkg need to run '`slpkg update`' to synchronize the lists of packages,
|
||||
also every time you add a new repository.
|
||||
|
||||
To add or remove repositories you have to edit the file '`/etc/slpkg/repositories.conf`'
|
||||
or run '`slpkg repo-enable`' (python3-pythondialog required).
|
||||
|
||||
Add custom repositories with the command '`slpkg add-repo <repository name> <URL>`' 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 <repository>`'.
|
||||
|
||||
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.
|
||||
|
||||
View 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 <sbo_script.tar.gz> <sources>`'.
|
||||
|
||||
Manage the packages in the blacklist with the command '`slpkg -b <packages> --add or --remove`'.
|
||||
|
||||
Add the SBo packages to the queue with the command '`slpkg -q <packages> --add or --remove`' and
|
||||
manage as build, install or build and install with the command '`slpkg build or install or
|
||||
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 <repository>`'.
|
||||
Combine with the command '`grep`' to catch the results you want.
|
||||
|
||||
Check and upgrade your distribution or upgrade your packages with the command '`slpkg -c <repository>
|
||||
--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 <repository> <packages>`', this command downloads, build and
|
||||
installs packages and 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 <repository> <package>`', 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 <repository> <package>`' and
|
||||
change the color of the text with the additional flag '`--color=[]`'.
|
||||
|
||||
View a SBo package page on your terminal with command `slpkg -n <package>` and then manage
|
||||
multiple choices such read, download, build, install etc.
|
||||
|
||||
If you want to find a package of all the repositories, this command will solve your hands
|
||||
'`slpkg -F <packages>`', it will search in all the enable repositories and will print all the
|
||||
packages that match the description that you enter.
|
||||
|
||||
If you want to see if any packages are installed on your system enter the command
|
||||
'`slpkg -f <packages>`'. The option '`--third-party`' help you to view only the third-party
|
||||
packages
|
||||
|
||||
The next three commands '`slpkg --installpkg, --upgradepkg, --removepkg <packages>`' install, upgrade,
|
||||
remove packages from your system events. Notable mention you must give in the command
|
||||
'`slpkg --removepkg <packages>`' 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 by TAG. Optional you can use
|
||||
the dialog utility with the additional option '`--checklist`' (require python3-pythondialog). Rmove
|
||||
third-party packages with the option '`--third-party`'.
|
||||
|
||||
The command '`slpkg -d <packages>`' 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.
|
||||
|
|
26
README.md
26
README.md
|
@ -1,26 +0,0 @@
|
|||
# slpkg 3.9.8
|
||||
|
||||
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](https://www.slackbuilds.org)
|
||||
to builds packages. Also uses the Slackware Linux instructions for installation,
|
||||
upgrading or removing packages.
|
||||
|
||||
What makes slpkg to distinguish it from the other tools; The user friendliness it's a primary
|
||||
target as well as easy to understand and use, also use colors to highlight packages and
|
||||
display warning messages, etc.
|
||||
|
||||
[EXAMPLES.md](https://gitlab.com/dslackw/slpkg/blob/master/EXAMPLES.md) Explore some examples.
|
||||
|
||||
|
||||
#### Asciicast:
|
||||
|
||||
[<img src="https://gitlab.com/dslackw/images/raw/master/slpkg/asciicast.png" width="250">](https://asciinema.org/a/3uFNAOX8o16AmKKJDIvdezPBa)
|
||||
|
||||
|
||||
##### Copyright
|
||||
|
||||
Copyright 2014-2022 © Dimitris Zlatanidis. Slackware® is a Registered Trademark of Patrick Volkerding. Linux is a Registered Trademark of Linus Torvalds.
|
61
README.rst
Normal file
61
README.rst
Normal file
|
@ -0,0 +1,61 @@
|
|||
***********
|
||||
slpkg 3.9.9
|
||||
***********
|
||||
|
||||
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 <https://www.slackbuilds.org>`_
|
||||
to build packages. Also uses the Slackware Linux instructions for installation,
|
||||
upgrading or removing packages.
|
||||
|
||||
What makes slpkg distinguish from the other tools; The user-friendliness it's a primary
|
||||
target as well as easy to understand and use, also uses colours to highlight packages and
|
||||
display warning messages, etc.
|
||||
|
||||
Look in the `EXAMPLES.md <https://gitlab.com/dslackw/slpkg/blob/master/EXAMPLES.md>`_ file to explore some examples.
|
||||
|
||||
|
||||
Asciicast
|
||||
---------
|
||||
|
||||
|
||||
.. image:: https://gitlab.com/dslackw/images/raw/master/slpkg/asciicast.png
|
||||
:target: https://asciinema.org/a/3uFNAOX8o16AmKKJDIvdezPBa
|
||||
:width: 200px
|
||||
|
||||
|
||||
Install
|
||||
-------
|
||||
|
||||
Install from the official third party `SBo repository <https://slackbuilds.org/repository/15.0/system/slpkg/>`_, or directly from the source:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ wget slpkg-3.9.9.tar.gz
|
||||
$ tar xvf slpkg-3.9.9.tar.gz
|
||||
$ cd slpkg-3.9.9
|
||||
$ ./install.sh
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ slpkg update
|
||||
$ slpkg -s sbo install <package_name>
|
||||
$ slpkg --help
|
||||
|
||||
|
||||
Copyright
|
||||
---------
|
||||
|
||||
Copyright 2014-2022 © Dimitris Zlatanidis.
|
||||
|
||||
Slackware® is a Registered Trademark of Patrick Volkerding.
|
||||
|
||||
Linux is a Registered Trademark of Linus Torvalds.
|
|
@ -1,17 +1,17 @@
|
|||
### This file was created to explain some peculiarities of repositories used by the slpkg.
|
||||
## 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:
|
||||
## 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
|
||||
Rworkman's (rlw) repository use dependencies where displayed in a 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.
|
||||
|
@ -35,13 +35,13 @@ Alien's ktown (ktown), Alien's multilib (multi), Slacke E17 and E18, slack-n-fre
|
|||
|
||||
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.
|
||||
not, because there is no different file '`ChangeLog.txt`' for each version.
|
||||
|
||||
|
||||
##### Custom repositories:
|
||||
## 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`'
|
||||
the '`PACKAGES.TXT`' files and '`CHECKSUMS.md5`' at 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.
|
||||
|
@ -51,6 +51,6 @@ Sometimes you may experience some problems with these repositories such as the n
|
|||
can not be calculated, good is the report these problems.
|
||||
|
||||
|
||||
##### Slackware ARM repositories:
|
||||
## Slackware ARM repositories:
|
||||
|
||||
Slackware ARM users will must use only two repositories at the moment slack and sbo.
|
||||
|
|
|
@ -40,6 +40,5 @@ if __name__ == "__main__":
|
|||
s_user()
|
||||
virtual_env()
|
||||
main()
|
||||
except KeyboardInterrupt:
|
||||
print()
|
||||
raise SystemExit()
|
||||
except KeyboardInterrupt as err:
|
||||
raise SystemExit(err)
|
||||
|
|
|
@ -108,7 +108,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
|
|||
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||
|
||||
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cp -a README.md ChangeLog.txt LICENSE ISSUES KNOWN_ISSUES REPOSITORIES.md \
|
||||
cp -a README.rst ChangeLog.txt LICENSE 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
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ class MetaData:
|
|||
|
||||
__all__ = "slpkg"
|
||||
__author__ = "dslackw"
|
||||
__version_info__ = (3, 9, 8)
|
||||
__version_info__ = (3, 9, 9)
|
||||
__version__ = "{0}.{1}.{2}".format(*__version_info__)
|
||||
__license__ = "GNU General Public License v3 (GPLv3)"
|
||||
__email__ = "d.zlatanidis@gmail.com"
|
||||
|
|
|
@ -28,7 +28,7 @@ from slpkg.__metadata__ import MetaData as _meta_
|
|||
from slpkg.pkg.manager import PackageManager
|
||||
|
||||
|
||||
class Auto:
|
||||
class AutoInstall:
|
||||
"""Select Slackware command to install packages
|
||||
"""
|
||||
def __init__(self, packages):
|
||||
|
|
|
@ -29,7 +29,6 @@ from slpkg.clean import clean_tmp
|
|||
from slpkg.load import Regex
|
||||
from slpkg.desc import PkgDesc
|
||||
from slpkg.messages import Msg
|
||||
from slpkg.auto_pkg import Auto
|
||||
from slpkg.config import Config
|
||||
from slpkg.checks import Updates
|
||||
from slpkg.repoinfo import RepoInfo
|
||||
|
@ -37,6 +36,7 @@ from slpkg.repolist import RepoList
|
|||
from slpkg.repositories import Repo
|
||||
from slpkg.blacklist import BlackList
|
||||
from slpkg.version import prog_version
|
||||
from slpkg.auto_pkg import AutoInstall
|
||||
from slpkg.health import PackageHealth
|
||||
from slpkg.new_config import NewConfig
|
||||
from slpkg.tracking import TrackingDeps
|
||||
|
@ -777,11 +777,11 @@ class ArgParse(BlackList):
|
|||
else:
|
||||
not_found.append(pkg)
|
||||
if packages:
|
||||
Auto(packages).select()
|
||||
AutoInstall(packages).select()
|
||||
if not_found:
|
||||
for ntf in not_found:
|
||||
self.msg.pkg_not_found("", ntf, "Not installed", "")
|
||||
raise SystemExit(1)
|
||||
raise SystemExit(0)
|
||||
|
||||
def if_checklist(self):
|
||||
try:
|
||||
|
|
Loading…
Reference in a new issue