slpkg : package builder (manager) linux

New features which should be implemented in Porteus; suggestions are welcome. All questions or problems with testing releases (alpha, beta, or rc) should go in their relevant thread here, rather than the Bug Reports section.
User avatar
francois
Contributor
Contributor
Posts: 6434
Joined: 28 Dec 2010, 14:25
Distribution: xfce plank porteus nemesis
Location: Le printemps, le printemps, le printemps... ... l'hiver s'essoufle.

slpkg : package builder (manager) linux

Post#1 by francois » 25 Jun 2017, 13:07

slpkg is said to be a simple command line manager slackware packages and slackbuilds. It will accomodate many different repositories:
https://github.com/dslackw/slpkg/blob/master/README.rst

Use of slpkg commented by alien bob:
http://alien.slackbook.org/blog/introdu ... ositories/

First run:

Code: Select all

# slpkg update
Syntax:

Code: Select all

root@porteus:~# slpkg -h

slpkg - version 3.2.7 | Slackware release: stable - 14.2

Slpkg is a user-friendly package manager for Slackware installations

Usage: slpkg [COMMANDS|OPTIONS] {repository|package...}

                                                 _       _
                                             ___| |_ __ | | ____ _
                                            / __| | '_ \| |/ / _` |
                                            \__ \ | |_) |   < (_| |
                                            |___/_| .__/|_|\_\__, |
                                                  |_|        |___/

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
       --rebuild --skip=[...],               the repositories and upgrade or
       --resolve-off, --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

  -t | --tracking, [repository] [package],   Tracking package dependencies and
       --check-deps, --graph=[type],         print package dependencies tree
       --case-ins                            with highlight if packages is
                                             installed. Also check if
                                             dependencies used or drawing
                                             dependencies diagram.

  -p | --desc, [repository] [package],       Print description of a package
       --color=[]                            directly from the repository and
                                             change color text.

  -n | --network, [package], --checklist,    View a standard of SBo page in
       --case-ins                            terminal and manage multiple
                                             options like reading, downloading,
                                             building, installation, etc.

  -F | --FIND, [package...], --case-ins      Find packages from each enabled
                                             repository and view results.

  -f | --find, [package...], --case-ins      Find and print installed packages
                                             reporting the size and the sum.

  -i | --installpkg, [options] [package...]  Installs single or multiple *.tgz
       options=[--warn, --md5sum, --root,    (or .tbz, .tlz, .txz) Slackware
       --infobox, --menu, --terse, --ask,    binary packages designed for use
       --priority, --tagfile]                with the Slackware Linux
                                             distribution onto your system.

  -u | --upgradepkg, [options] [package...]  Upgrade single or multiple
       options=[--dry-run, --install-new,    Slackware binary packages from
       --reinstall, --verbose]               an older version to a newer one.

  -r | --removepkg, [options] [package...],  Removes a previously installed
       --deps, --check-deps, --tag,          Slackware binary packages,
       --checklist                           while writing a progress report
       options=[-warn, -preserve, -copy,     to the standard output.
       -keep]                                Use only package name.

  -d | --display, [package...]               Display the contents of installed
                                             packages and file list.

You can read more about slpkg from manpage or see examples from readme file.
Issues: https://github.com/dslackw/slpkg/issues
Homepage: https://github.com/dslackw/slpkg

root@porteus:~#

Downloads:
Slackware: slpkg-3.2.7-i586-1_dsw.txz
https://github.com/dslackw/slpkg/releas ... -1_dsw.txz
Slackware64: slpkg-3.2.7-x86_64-1_dsw.txz
https://github.com/dslackw/slpkg/releas ... -1_dsw.txz
git:
https://github.com/dslackw/slpkg

Optional dependencies, all available thru usm:
python2-pythondialog for dialog box interface
pygraphviz for drawing dependencies diagram
graph-easy for drawing ascii dependencies diagram
httpie alternative downloader
aria2 alternative downloader

Video demonstration seems impressive:
https://www.youtube.com/watch?v=oTtD4XhHKlA

Has to be tested. :)
Prendre son temps, profiter de celui qui passe.

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: slpkg : package manager

Post#2 by brokenman » 25 Jun 2017, 14:28

Yes, at first glance it appears to be impressive. I'd like to see people test this one!
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
francois
Contributor
Contributor
Posts: 6434
Joined: 28 Dec 2010, 14:25
Distribution: xfce plank porteus nemesis
Location: Le printemps, le printemps, le printemps... ... l'hiver s'essoufle.

slpkg : package manager

Post#3 by francois » 04 Jul 2017, 04:28

I have done some testing, but not thoroughly enough. The impression is still good.

More info in:
https://github.com/dslackw/slpkg#readme

Interesting is the track package dependencies function:
https://github.com/dslackw/slpkg/blob/master/README.rst
Tracking the dependencies of a package with command '# slpkg -t <repository> <package>'. Displays a package dependency tree and also tells you which ones are installed on your system events. Check if packages used from other packages with additional option '--check-deps' or drawing image map dependencies with additional option '--graph=[image]'.

There are some repository functions and a great selection of repositories available stock. They are easily selected of deselected.


Other testers needed. If there is enough enthusiasm, we might get in contact with the developer. And ask for adaptations, like the possibility to build packages and dependencies without installation, ... ... and maybe a GUI interface.

Building from source without installation is already a possibility.

Really, other testers needed. :)
Prendre son temps, profiter de celui qui passe.

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: slpkg : package manager

Post#4 by brokenman » 04 Jul 2017, 21:56

My first test was to build a package under xfce4 (slackware-current) but it did not pull all dependencies and left me with a non functional package. It may have been my error though, I may have made the program mistake the version of slackware. I will have to test it again.
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
francois
Contributor
Contributor
Posts: 6434
Joined: 28 Dec 2010, 14:25
Distribution: xfce plank porteus nemesis
Location: Le printemps, le printemps, le printemps... ... l'hiver s'essoufle.

slpkg : package manager

Post#5 by francois » 30 Mar 2020, 16:01

As beny as proposed it slpkg. Contrarily to sbopkg, it should resolve dependencies. See:
https://foro.seguridadwireless.net/cola ... slapt-src/

I know this is necrobumping, as soon as I get enough time and info, I will make a bis version of this old thread. :)
Prendre son temps, profiter de celui qui passe.

User avatar
francois
Contributor
Contributor
Posts: 6434
Joined: 28 Dec 2010, 14:25
Distribution: xfce plank porteus nemesis
Location: Le printemps, le printemps, le printemps... ... l'hiver s'essoufle.

slpkg : package builder (manager) linux

Post#6 by francois » 03 Apr 2020, 14:47

If someone has a working module of slpkg. It would be appreciated. My first try at it was a failure.

Thanks.
Prendre son temps, profiter de celui qui passe.

beny
Full of knowledge
Full of knowledge
Posts: 2086
Joined: 02 Jan 2011, 11:33
Location: italy

slpkg : package builder (manager) linux

Post#7 by beny » 13 Apr 2020, 19:00


User avatar
Arleson
Black ninja
Black ninja
Posts: 39
Joined: 20 Aug 2017, 18:51
Distribution: Porteus 5.0rc3 Xfce
Location: Brazil

slpkg : package builder (manager) linux

Post#8 by Arleson » 07 Sep 2020, 02:00

francois wrote:
03 Apr 2020, 14:47
If someone has a working module of slpkg. It would be appreciated. My first try at it was a failure.

Thanks.
For me too!!!!

beny
Full of knowledge
Full of knowledge
Posts: 2086
Joined: 02 Jan 2011, 11:33
Location: italy

slpkg : package builder (manager) linux

Post#9 by beny » 07 Sep 2020, 21:09

hi this work on porteus rc2 http://www.mediafire.com/folder/wkszlw3x6358o/slpkg ,try if work for...

User avatar
Ed_P
Contributor
Contributor
Posts: 8341
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

slpkg : package builder (manager) linux

Post#10 by Ed_P » 08 Sep 2020, 04:48

beny this is what I saw in Porteus Cinnamon rc2 when I tried your file.

Code: Select all

guest@porteus:~$ slpkg
Traceback (most recent call last):
  File "/usr/bin/slpkg", line 35, in <module>
    from slpkg.main import main
  File "/usr/lib64/python3.8/site-packages/slpkg/main.py", line 58, in <module>
    from slpkg.sbo.queue import QueuePkgs
  File "/usr/lib64/python3.8/site-packages/slpkg/sbo/queue.py", line 39, in <module>
    from slpkg.sbo.slack_find import slack_package
  File "/usr/lib64/python3.8/site-packages/slpkg/sbo/slack_find.py", line 26, in <module>
    from pkg_resources import parse_version
ModuleNotFoundError: No module named 'pkg_resources'
guest@porteus:~$ 
What am I doing wrong?
Ed

donald
Full of knowledge
Full of knowledge
Posts: 2063
Joined: 17 Jun 2013, 13:17
Distribution: Porteus 3.2.2 XFCE 32bit
Location: Germany

slpkg : package builder (manager) linux

Post#11 by donald » 08 Sep 2020, 07:27

@Ed
Activate the 05-devel module.
Reason:
the python-setuptools are needed.

Code: Select all

root@porteus:/home/guest# slpkg repo-list
+==============================================================================
| Repo id  Repo URL                                            Default   Status
+==============================================================================
  alien    http://bear.alienbase.nl/mirrors/people/alien/sb~   yes     disabled
  connos   https://connochaetos.org/slack-n-free/              yes     disabled
  conrad   http://slack.conraid.net/repository/slackware64-~   yes     disabled
  csb      http://slackware.uk/csb/                            yes     disabled
  ktown    http://alien.slackbook.org/ktown/                   yes     disabled
  mles     http://slackware.uk/microlinux/                     yes     disabled
  msb      http://slackware.org.uk/msb/                        yes     disabled
  multi    http://bear.alienbase.nl/mirrors/people/alien/mu~   yes     disabled
  rested   http://bear.alienbase.nl/mirrors/people/alien/re~   yes     disabled
  rlw      http://slackware.uk/people/rlworkman/               yes     disabled
  salix    http://download.salixos.org/                        yes     disabled
  sbo      http://slackbuilds.org/slackbuilds/                 yes      enabled
  slack    http://mirrors.slackware.com/slackware/             yes      enabled
  slacke   http://ngc891.blogdns.net/pub/                      yes     disabled
  slackl   http://www.slackel.gr/repo/                         yes     disabled
  slacky   http://repository.slacky.eu/                        yes     disabled
  slonly   https://slackonly.com/pub/packages/                 yes     disabled

Repositories summary
===============================================================================
2/17 enabled default repositories and 0 custom.
Edit the file '/etc/slpkg/repositories.conf' for enable and disable default
repositories or run 'slpkg repo-enable' command.
EDIT
Activating the devel module just for that?
download and convert to xzm
http://mirrors.slackware.com/slackware/ ... 6_64-1.txz

One file is still missing, you also need /usr/lib64/python3.8/pydoc.py
you'll find this file in the devel module [mloop devel.xzm > find/copy file > uloop devel.xzm]
B)
last but not least, one could merge all this into a single module. :)
python-setuptools-50.3.0-x86_64-1
python-urllib3-1.25.7-x86_64-1_SBo
slpkg-3.9.0-x86_64-1ponce
pydoc.py

beny
Full of knowledge
Full of knowledge
Posts: 2086
Joined: 02 Jan 2011, 11:33
Location: italy

slpkg : package builder (manager) linux

Post#12 by beny » 08 Sep 2020, 09:43

hi i have to add python3-pythondialog-3.5.1-x86_64-1ponce.xzm that allow to use a gui but in porteus 5 rc2 work you have to tweak repos that you use:
guest@porteus:~$ su root
Password:
root@porteus:/home/guest# slpkg
Usage: slpkg [COMMANDS|OPTIONS] {repository|package...}

Commands:
[update, --repositories=[...]]
[upgrade, --repositories=[...]]
[repo-add [repository name] [URL]]
[repo-remove [repository]]
[repo-enable]
[repo-list]
[repo-info [repository]]
[update [slpkg]]
[health, --silent]
[deps-status, --tree, --graph=[type]]
[new-config]
[clean-tmp]

Optional arguments:
[-h] [-v]
[-a [script] [sources...]]
[-b [package...] --add, --remove,
  • ]
    [-q [package...] --add, --remove,
    [list, build, install, build-install]]
    [-g [print, edit, reset]]
    [-l [repository], --index, --installed, --name]
    [-c [repository], --upgrade, --rebuild, --skip=[...],
    --resolve-off, --checklist]
    [-s [repository] [package...], --rebuild, --reinstall,
    --resolve-off, --download-only,
    --directory-prefix=[dir],
    --case-ins, --patches]
    [-t [repository] [package], --check-deps, --graph=[type],
    --case-ins]
    [-p [repository] [package], --color=[]]
    [-n [SBo package], --checklist, --case-ins]
    [-F [package...], --case-ins]
    [-f [package...], --case-ins, --third-party]
    [-i [options] [package...]]
    [-u [options] [package...]]
    [-r [options] [package...], --deps, --check-deps, --tag,
    --checklist, --third-party]
    [-d [package...]]

    For more information try 'slpkg -h, --help' or view manpage
    http://www.mediafire.com/folder/wkszlw3x6358o/slpkg into the folder ther are 3 files we have to download all the files inside.

beny
Full of knowledge
Full of knowledge
Posts: 2086
Joined: 02 Jan 2011, 11:33
Location: italy

slpkg : package builder (manager) linux

Post#13 by beny » 08 Sep 2020, 09:46

btw if someone with a lot of skill make a script to convert files in xzm format is welcome slpkg is a bit dangerous when start to download deps or files...

beny
Full of knowledge
Full of knowledge
Posts: 2086
Joined: 02 Jan 2011, 11:33
Location: italy

slpkg : package builder (manager) linux

Post#14 by beny » 08 Sep 2020, 13:06

well the sbo build of claws-mail at fist sight fail but because search for enchant that is not in rc2,i have installed the current version of enchant and work with libetpan and claws-mail from sbo via slpkg,the 14.2+ is a strange mix...ok vlc is the next...

User avatar
Ed_P
Contributor
Contributor
Posts: 8341
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

slpkg : package builder (manager) linux

Post#15 by Ed_P » 08 Sep 2020, 14:33

Adding a test to see if the 05-devel module is loaded would be helpful. Similar to the root test.

Code: Select all

guest@porteus:~$ slpkg

slpkg: Error: Must have root privileges

guest@porteus:~$ su
Password: 
root@porteus:/home/guest# slpkg
Usage: slpkg [COMMANDS|OPTIONS] {repository|package...}
beny wrote:
08 Sep 2020, 09:46
btw if someone with a lot of skill make a script to convert files in xzm format is welcome slpkg is a bit dangerous when start to download deps or files...
slpkg doesn't download dependencies or downloads the requested app and it's dependencies but doesn't make a xzm module with all of them?? :%)

Where are all the app downloads saved? /tmp?

Added in 1 hour 10 minutes 43 seconds:
It would be helpful if the help options mentioned what they do. For example -i means Install not Info.

Code: Select all

For more information try 'slpkg -h, --help' or view manpage

root@porteus:/home/guest# slpkg -r solitaire
Packages with name matching [ solitaire ]

No such package solitaire: Can't remove

root@porteus:/home/guest# slpkg -p solitaire

slpkg: Error: Repository 'solitaire' does not exist

root@porteus:/home/guest# slpkg -f solitaire
Packages with matching name [ solitaire ]

No such package solitaire: Can't find

root@porteus:/home/guest# slpkg -i solitaire
Cannot install solitaire:  file not found
root@porteus:/home/guest# 
Ed

Post Reply