[Libguestfs] Add support for slackware in supermin

Richard W.M. Jones rjones at redhat.com
Tue Nov 11 18:49:15 UTC 2014


On Tue, Nov 11, 2014 at 06:41:40PM +0000, Richard W.M. Jones wrote:
> On Tue, Nov 11, 2014 at 03:23:40PM +0100, Mathieu Bouillaguet wrote:
> > Hi Pino,
> > 
> > Thanks for your reply and details.
> > 
> > I started looking at the others package manager code and as I see it there
> > is one main problem to port supermin to slackware distro.
> > 
> > Slackware builtin package management tools (pkgtool and slackpkg) do not
> > manage package dependencies. There is no easy solution to solve this
> > problem.
> > There are third party packet manager which manage dependencies but they are
> > not supported and I don't personnaly use it.
> > 
> > It would be possible to make supermin install only the packages entered on
> > the command line by the user for slackware distro but maybe other tools
> > rely on the package dependency installation semantic.
> > 
> > What is your opinion about this ? How supermin is used by other tools like
> > libguestfs ?
> 
> From a libguestfs p.o.v it'll be fine to list all packages needed (ie
> including dependencies) in libguestfs.git/appliance/packagelist.in.
> That should mean that the complete list of packages is passed to
> supermin on the cmdline, so the supermin slackware dependency resolver
> can be a no-op.

Reading further in the thread - I agree with Pino that this is not
ideal.  It would be better to have the package manager db store deps.
But I don't have any problems with a big list in libguestfs
packagelist.in (defended by `if SLACKWARE ...')

Rich.

> Rich.
> 
> > Thanks for your reply
> > 
> > Mathieu
> >  Le 10 nov. 2014 19:06, "Pino Toscano" <ptoscano at redhat.com> a écrit :
> > 
> > > 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
> > >
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming and virtualization blog: http://rwmj.wordpress.com
> virt-builder quickly builds VMs from scratch
> http://libguestfs.org/virt-builder.1.html
> 
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list