Package Managers, Module Builders

Post here if you are a new Porteus member and you're looking for some help.
rych
Warlord
Warlord
Posts: 677
Joined: 04 Jan 2014, 04:27
Distribution: Porteus 5.0 x64 OpenBox
Location: NZ
Contact:

Package Managers, Module Builders

Post#1 by rych » 27 Apr 2023, 06:35

We have 3 module builders so far. Or are there more?! Anyway, I'm going to collect here some brief descriptions, syntax, links, status, comparisons, testimonials. For the newcomers and for everyone :)

1.a) getpkg
getpkg is a porteus script (/usr/local/bin/getpkg) that fetches packages from the slackware repo

Code: Select all

getpkg package-name1 package-name2 ...
1.b) pmod
pmod is a simple wrapper for slackpkg

Code: Select all

pmod -u
pmod -s search-by-package-name
pmod -m package-name
1.c) getmod
getmod: A wrapper for slapt-get to build modules [Porteus 5.0's USM replacement] getmod: A wrapper for slapt-get to build modules

Code: Select all

getmod -u
getmod -s search-by-package-name-substring
getmod -m package-name

Which one(s) tend to work best for you? For me, getmod! I noticed, though, that getmod and pmod often build slightly different modules in terms of bundled dependencies. Sometimes the one made by pmod works better.
Last edited by rych on 20 May 2023, 09:36, edited 4 times in total.

rych
Warlord
Warlord
Posts: 677
Joined: 04 Jan 2014, 04:27
Distribution: Porteus 5.0 x64 OpenBox
Location: NZ
Contact:

Package Managers, Module Builders

Post#2 by rych » 19 May 2023, 11:58

Last edited by rych on 27 May 2023, 10:39, edited 3 times in total.

stealthfreighter
White ninja
White ninja
Posts: 18
Joined: 12 May 2023, 19:46
Distribution: Slackware, Porteus 5.0 LXDE

Package Managers, Module Builders

Post#3 by stealthfreighter » 24 May 2023, 03:30

The only foolproof (or even expertproof) method I would recommend is to
1. get the relevant package (and any dependencies) from slackbuilds.org
2. build it on a Slackware or porteus, dependencies first (if building on porteus you will need the 05-devel.xzm module, as Blaze kindly informed me)
3. once built, usually in the /tmp root directory, convert it to the porteus format using the txz2xzm utility (a fantastic tool, you don't need the devel module to use it either)
4. copy it to the relevant directory e.g. /porteus or /porteus/base
Note that while a little bird whispered to me that dependencies are resolved when loading all packages, another bird whispered that they are first loaded in alphabetical order. So mind your file names like this was 1956 (to think that Monster from the Black Lagoon came out only two years earlier...)

rych
Warlord
Warlord
Posts: 677
Joined: 04 Jan 2014, 04:27
Distribution: Porteus 5.0 x64 OpenBox
Location: NZ
Contact:

Package Managers, Module Builders

Post#4 by rych » 26 May 2023, 10:21

stealthfreighter wrote:
24 May 2023, 03:30
2. build it on a Slackware or porteus, dependencies first
We absolutely must have an automatic dependency tracer and builder, nobody is going to waste their life resolving dependency chain one by one

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

Package Managers, Module Builders

Post#5 by francois » 26 May 2023, 16:13

@stealthfreighter
Porteus is a skinny version of slackware disigned to be light and fast. There is a lot of packages missing on porteus unlike slackware which is more complete. Slackware does not provide dependency resolution.

All packages are not available as sbo, there are additional repositories other than slackware offered by very good package builders amongst which alien, ponce, slacky ... . These packages are prebuilt. Why would you want to build them by yourself?

Most linux ordinary user just want a simple method to get and install packages on their linux box. So package managers for prebuilt packages and/or package builders (for sbo) are what most linux users want. For porteus most users will appreciate the added feature of dependency resolution.
Prendre son temps, profiter de celui qui passe.

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

Package Managers, Module Builders

Post#6 by francois » 27 May 2023, 10:42

@rych:
This thread is a good initiative. Package management under porteus and slackware with dependency resolution has always been a concern. But tied to package management there is the availability of a wider pasture of packages.

The pasture which is well addressed by ubuntu, and in some way by archlinux, has always been a concern with porteus. Pasture is clearly not as wide under porteus or slackware.

This is why nemesis porteus was born. Brokenman gave birth to it ingenuously by developping a wrapper over pacman the package manager of arch linux and ncmprhnsbl made the follow up. He is currently maintaining it managing to turn arch linux (artix) into a semi-rolling distribution.
Nemesis Arch based Porteus
and this has brought two other initiatives of our genious neko using debian and arch pastures:
Simple Package Manager for Debian type
ArchLinux packages manager for Porteus

Another way to increase pasture is the git command to install packages from github. It would be nice to be able to make modules from git, instead of a complete install to porteus system. This must be possible but I do not know how.
Prendre son temps, profiter de celui qui passe.

rych
Warlord
Warlord
Posts: 677
Joined: 04 Jan 2014, 04:27
Distribution: Porteus 5.0 x64 OpenBox
Location: NZ
Contact:

Package Managers, Module Builders

Post#7 by rych » 27 May 2023, 12:51

francois, what do you think about PorteuX (stable or current) and its App Store? Or what is the package manager/ modules builder used there? Did you know that you can...?

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

Package Managers, Module Builders

Post#8 by francois » 27 May 2023, 14:09

I did not use it yet. I am sure that it is a much performant porteus derivative as fulalas is its creator. I am still too busy with my porteus 5 installation.

How would you rate it in terms of pasture performance?
Prendre son temps, profiter de celui qui passe.

stealthfreighter
White ninja
White ninja
Posts: 18
Joined: 12 May 2023, 19:46
Distribution: Slackware, Porteus 5.0 LXDE

Package Managers, Module Builders

Post#9 by stealthfreighter » 29 May 2023, 20:04

rych wrote:
26 May 2023, 10:21
stealthfreighter wrote:
24 May 2023, 03:30
2. build it on a Slackware or porteus, dependencies first
We absolutely must have an automatic dependency tracer and builder, nobody is going to waste their life resolving dependency chain one by one
Yes, I understand that automatic dependency resolution is an important aspect of the Linux user experience. For example I do not build stuff like VLC because it would take too much time to build the dependencies and it's not worth it.
What I have written was not meant to replace what you have contributed, only to complete it with a simple (yet guaranteed) solution in case anybody needs just one or two packages, or may not have internet on the machine running porteus.
I am sorry if that lead to confusion, maybe I should have phrased it more "inclusively." In fact I am very glad that some people have a passion for dependency resolution!

@francois
Yes, I understand what you are saying, but 99.5% of packages anybody would ever need are on sbo. Other than that the Slackware philosophy is to build from sources, and that should be reason enough for why I would want to build them myself.
I think we agree on most things, but I would have to take difference with regards to porteus being a linux distribution for the ordinary user; an ordinary user would probably use Ubuntu or Mint or Macintosh.

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

Package Managers, Module Builders

Post#10 by francois » 30 May 2023, 02:46

ordinary user would probably use Ubuntu or Mint to replace windowz. The time they took to make the transition, if invested into porteus, they would get more satisfaction.

Oh yeah! (The Stones not quoted) :Yahoo!:
Prendre son temps, profiter de celui qui passe.

rych
Warlord
Warlord
Posts: 677
Joined: 04 Jan 2014, 04:27
Distribution: Porteus 5.0 x64 OpenBox
Location: NZ
Contact:

Package Managers, Module Builders

Post#11 by rych » 14 Jun 2024, 10:46

rych wrote:
27 Apr 2023, 06:35
1.a) getpkg
getpkg is a porteus script (/usr/local/bin/getpkg) that fetches packages from the slackware repo

getpkg package-name1 package-name2 ...

1.b) pmod
pmod is a simple wrapper for slackpkg

Code: Select all

pmod -u
pmod -s search-by-package-name
pmod -m package-name
1.c) getmod
getmod: A wrapper for slapt-get to build modules [Porteus 5.0's USM replacement] getmod: A wrapper for slapt-get to build modules

Code: Select all

getmod -u
getmod -s search-by-package-name-substring
getmod -m package-name
1.d) now there is also slapt-mod, another "simple wrapper for slapt-get" (slapt-get is "an implementation of the Debian APT system to Slackware") to build a module", a bash script that only handles the stripping and module creation and directs slapt-get (and installpkg) to do all the package related stuff". How/Why is it different from the getmod above or is it the same essentially? Its configuration is in /etc/slapt-get/slapt-getrc.

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

Package Managers, Module Builders

Post#12 by Ed_P » 14 Jun 2024, 16:26

slapt-mod was added in Porteus 5.01, Porteus-v5.01 is released!, is based on getmod, and is supported by Porteus.
Ed

User avatar
ncmprhnsbl
DEV Team
DEV Team
Posts: 4026
Joined: 20 Mar 2012, 03:42
Distribution: v5.0-64bit
Location: australia
Contact:

Package Managers, Module Builders

Post#13 by ncmprhnsbl » 15 Jun 2024, 04:42

rych wrote:
14 Jun 2024, 10:46
How/Why is it different from the getmod above or is it the same essentially? Its configuration is in /etc/slapt-get/slapt-getrc
it is the same script babam provided with some small modifications by me : recently some color and priv escalation parts but more notably: /etc/slapt-get/slapt-modrc where various stripping options can be set:

Code: Select all

## config file for slapt-mod wrapper for slapt-get
## locale ? 0 or language code eg. de (german) all others will be removed
locale=0
## man pages ? 1 keep or 0 remove
man=0
## headers ? 1 keep or 0 remove
headers=0
## docs ? 1 keep or 0 remove
docs=0
the renaming was to make it clearer what it is wrapping.
Forum Rules : https://forum.porteus.org/viewtopic.php?f=35&t=44

rych
Warlord
Warlord
Posts: 677
Joined: 04 Jan 2014, 04:27
Distribution: Porteus 5.0 x64 OpenBox
Location: NZ
Contact:

Package Managers, Module Builders

Post#14 by rych » 15 Jun 2024, 13:23

ncmprhnsbl wrote:
15 Jun 2024, 04:42
t is the same script babam provided with some small modifications
Thanks for the new tool. Looks like it inherited some problems of getmod, for example, if you (deactivate your current vlc module first?) and run these:

Code: Select all

root@porteus:~# slapt-mod -s vlc
vlc-3.0.17.3-x86_64-3salix15.0  (VLC media player)
vlc-3.0.19-x86_64-1alien  (multimedia player for various audio and video formats)
vlc-3.0.20-x86_64-1ponce  (VLC media player)
vlsub-0.10.2-x86_64-1salix15.0  (VLC extension)
root@porteus:~# slapt-mod -m vlc-3.0.20
Reading Package Lists...Done
No such package: vlc-3.0.20
root@porteus:~# slapt-mod -m vlc-3.0.20-x86_64-1ponce
Reading Package Lists...Done
The following NEW packages will be installed:
  vlc 
0 upgraded, 0 reinstalled, 1 newly installed, 0 to remove, 0 not upgraded.
Need to get 10.6MB of archives.
Do you want to continue? [y/N] y
1/1 Get http://ponce.cc/slackware/slackware64-15.0/packages/ vlc 3.0.20-x86_64-1ponce [10.6MB]...Done

Done
... you can't really find the .xzm file anywhere because it was not built. Something is "Done" but no module built :( I don't remember how I ended up getting the latest vlc module after all, perhaps pmod helped in this case at least getting tkz file for it at least...

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

Package Managers, Module Builders

Post#15 by Ed_P » 15 Jun 2024, 15:38

rych wrote:
15 Jun 2024, 13:23
you can't really find the .xzm file anywhere
Did you check the /tmp folder?
Ed

Post Reply