On 6/2/23 12:50, Richard W.M. Jones wrote:
On Fri, Jun 02, 2023 at 04:35:06AM +0400, shiftag wrote:
On 6/1/23 15:21, Richard W.M. Jones wrote:
On Thu, Jun 01, 2023 at 07:07:45AM +0400, shiftag wrote:
Hello,

I'm experimenting with a Software using supermin. However, it look
like supermin cannot work because of Slackware package manager.

$ supermin --list-drivers
arch/pacman               not-detected
debian/dpkg                 not-detected
openmandriva/rpm    not-detected
mageia/rpm                  not-detected
opensuse/rpm              not-detected
ibm_powerkvm/rpm    not-detected
fedora/rpm                    not-detected

Is there any workaround to make the following command works :

$ supermin --prepare bash coreutils ethtool iproute iputils kmod
net-tools pciutils perf procps-ng python strace strace systemd
systemd-udev util-linux vim -o supermin.d
supermin fundamentally relies on having a package manager supporting a
few operations (not all are required):

https://github.com/libguestfs/supermin/blob/057ea99a3211057d2cb2c9971afe56e0a85e0f78/src/package_handler.mli#L90

It's been a while since I used Slackware.  Does it have a package
manager which keeps track of packages, files installed by packages,
and provide a way to list installed packages and files used by
installed packages, etc?

Rich.

There are two principals package manager "slackpkg" and "sbopkg" and
both store installed packages information in "/var/log/packages"
using a file format.

For example, to check some information related to "hivex" installed package:

$ ls /var/log/packages/hivex*
/var/log/packages/hivex-1.3.23-x86_64-1_SBo

So the package is installed.

$ cat /var/log/packages/hivex-1.3.23-x86_64-1_SBo

PACKAGE NAME:     hivex-1.3.23-x86_64-1_SBo
COMPRESSED PACKAGE SIZE:     184K
UNCOMPRESSED PACKAGE SIZE:     610K
PACKAGE LOCATION: /tmp/hivex-1.3.23-x86_64-1_SBo.tgz
PACKAGE DESCRIPTION:
hivex: hivex (Windows Registry Extractor System)
hivex:
hivex: Hivex is a tool for reading windows registry
hivex: Hive binary files. It uses C API or exports
hivex: it to a XML file.
hivex:
hivex:
hivex: Homepage:https://libguestfs.org
hivex:
hivex:
hivex:
FILE LIST:
./
install/
install/doinst.sh
install/slack-desc
usr/
usr/bin/
usr/bin/hivexget
usr/bin/hivexml
usr/bin/hivexregedit
usr/bin/hivexsh
usr/doc/
usr/doc/hivex-1.3.23/
usr/doc/hivex-1.3.23/FUZZING
usr/doc/hivex-1.3.23/LICENSE
usr/doc/hivex-1.3.23/README.md
usr/doc/hivex-1.3.23/SECURITY
usr/doc/hivex-1.3.23/hivex.SlackBuild
usr/include/
usr/include/hivex.h
usr/lib64/
usr/lib64/libhivex.so.0.0.0
usr/lib64/ocaml/
usr/lib64/ocaml/hivex/
usr/lib64/ocaml/hivex/METAusr/lib64/ocaml/hivex/hivex.cmx
usr/lib64/ocaml/hivex/hivex.mli
usr/lib64/ocaml/hivex/libmlhivex.a
usr/lib64/ocaml/hivex/mlhivex.a
usr/lib64/ocaml/hivex/mlhivex.cma
usr/lib64/ocaml/hivex/mlhivex.cmxa
usr/lib64/ocaml/stublibs/
usr/lib64/ocaml/stublibs/dllmlhivex.so
usr/lib64/ocaml/stublibs/dllmlhivex.so.owner
usr/lib64/perl5/
usr/lib64/perl5/Win/
usr/lib64/perl5/Win/Hivex.pm
usr/lib64/perl5/Win/Hivex/
usr/lib64/perl5/Win/Hivex/Regedit.pm
usr/lib64/perl5/auto/
usr/lib64/perl5/auto/Win/
usr/lib64/perl5/auto/Win/Hivex/
usr/lib64/perl5/auto/Win/Hivex/Hivex.so
usr/lib64/pkgconfig/
usr/lib64/pkgconfig/hivex.pc

[...]

However, this cannot be requested from the package manager, its
essentially a manual task.
It seems sort of possible though?

Another thing which would be good (not strictly required) is to
resolve dependencies between packages, ie. if hivex requires perl,
have some way to list the dependencies of hivex which would include
perl.

Rich.

Unfortunately, there is some uncertainty for the dependencies. The accuracy for the required dependencies is up to the person who wrote the scripts ("package.SlackBuild" file). But its still possible to get that information by using "-R" switch which "sbopkg".

For example, with hivex:

```

# sbopkg -Ri hivex

+----------------------+
| The active queue is: |
| hivex                |
+----------------------+


+-------+
| hivex |
+-------+

libhivex is a self-contained library for
reading and writing Windows Registry "hive" binary files.

Unlike many other tools in this area,
it doesn't use the textual .REG format for output, because parsing
that is as much trouble as parsing the original binary format. Instead
it makes the file available through a C API, or there is a
separate program to export the hive as XML.

REQUIRES="ocaml ocaml-findlib ocamlbuild perl-IO-stringy perl-Test-Simple"

```

Here the variable "REQUIRES" contains the dependencies for building the package.


_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to