[Libguestfs] Add support for slackware in supermin

Pino Toscano ptoscano at redhat.com
Mon Nov 10 18:06:00 UTC 2014


Hi Mathieu,

On Sunday 09 November 2014 16:14:32 Richard W.M. Jones wrote:
> On Sat, Nov 08, 2014 at 02:27:49PM +0100, Mathieu Bouillaguet wrote:
> > Hi,
> > 
> > What needs to be implemented to add support for slackware
> > distribution in supermin ?
> 
> hi Mathieu
> 
> I'm on holiday at the moment and will give a more complete reply
> when I get back.  In brief you need to be able to do a few simple
> package database meta operations such as listing all files in a
> package and listing the installed deps of a named pkg.  This pre-
> supposes that slackware has such a packaging db.  Pino CCd can
> give more details, and you can look at existing pkg systems in
> src/*.ml.

As Rich said briefly, supermin needs to be taught about the package 
manager running on Slackware.  supermin needs it to perform some 
operations on the system, such as:
- query the basic information about a package (name, version, and all
  the basic attributes such as epoch and architecture, if present/needed
  to unequivocally identify a package later) given its name
- get the last time the package system has "changed" (like after an
  update, or having installed/removed some package); this is needed so
  supermin can avoid querying the package system when the set of
  installed packages has not changed since last time supermin was run
- get the list of dependencies of a package
- get the list of files of a package, marking whether a file is
  considered "configuration file" by the package manager; usually this
  is the case for files in /etc, which the admin can edit, and the
  package manager carefully handles when updating packages providing
  them
- download and extract packages from the sources of the package manager;
  this is needed so supermin can pick pristine copies of the files of an
  installed package, usually to have unedited configuration files

supermin supports already few package manager, and you can find in the 
src/ subdirectory their implementations: dpkg.ml, pacman.ml, rpm.ml.

-- 
Pino Toscano




More information about the Libguestfs mailing list