[Libguestfs] supermin in Fedora Rawhide switched (again) to using dnf instead of yum

Kashyap Chamarthy kchamart at redhat.com
Mon May 25 20:22:35 UTC 2015


On Thu, May 21, 2015 at 02:37:31PM +0100, Richard W.M. Jones wrote:
> 
> Previous attempt:
> https://www.redhat.com/archives/libguestfs/2015-April/msg00013.html
> 
> supermin needs to download packages (eg. RPMs) when preparing the
> appliance.
> 
> After a lot of work, 'dnf download' can now be used as a replacement
> for the (deprecated) 'yumdownloader' program.
> 
> This only affects the 'supermin --prepare' phase, which means it only
> affects people building libguestfs from source.  Ordinary use of
> libguestfs, even in Rawhide, should be unaffected.
> 
> If you are building libguestfs from source on Fedora please try the
> new supermin + dnf, and let me know if you find any problems.

I just built `supermin` from source on my Fedora 22 machine, and somehow
it can't seem to detect RPM (but `supermin` from Rawhide detects it).
Exact error:

    supermin: could not detect package manager used by this system or
    distro.

which is coming from: supermin/src/package_handler.ml.

Test
----

Build `supermin` from source:

    $ git clone https://github.com/libguestfs/supermin.git
    $ ./bootstrap
    $ ./autogen.sh
    $ ./configure 
    $ make
    $ echo $?
    0


Try to build a `supermin` appliance:

    $ ../src/supermin --prepare bash coreutils -o basic-supermin.d
    supermin: could not detect package manager used by this system or distro.
    
    If this is a new Linux distro, or not Linux, or a Linux distro that uses
    an unusual packaging format then you may need to port supermin.  If
    you are expecting that supermin should work on this system or distro
    then it may be that the package detection code is not working.
    
    To list which package handlers are compiled into this version of
    supermin, do:
    
      supermin --list-drivers


List `supermin` drivers:

    $ ../src/supermin --list-drivers | grep -fedora
    fedora/rpm      not-detected


Build an appliance from rawhide-installed `supermin` proceeds further,
because RPM was detected, however it seems to fail due to cache
synchronization issue on my Fedora 22 machine (but obtained `supermin`
from Rawhide):  

    $ rpm -q supermin
    supermin-5.1.12-11.fc23.x86_64

    $ supermin --list-drivers | grep fedora
    fedora/rpm      detected

    $ supermin --prepare bash coreutils -o supermin.d                                                                                               
    Error: Failed to synchronize cache for repo 'fedora' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-22&arch=x86_64': Cannot prepare internal mirrorlist: Curl error (28): Timeout was reached for https://mirrors.fedoraproject.org/metalink?repo=fedora-22&arch=x86_64 [Connection timed out after 120002 milliseconds]
    supermin: /usr/bin/dnf download -q --destdir '/tmp/supermin8ff696.tmpdir/o64gk00o' 'bash.x86_64' 'coreutils.x86_64' 'glibc.x86_64' 'info.x86_64' 'grep.x86_64' 'libattr.x86_64' 'openssl-libs.x86_64' 'glibc-common.x86_64' 'ca-certificates.noarch' 'crypto-policies.noarch' 'krb5-libs.x86_64' 'setup.noarch' 'fedora-release.noarch' 'fedora-repos.noarch': command failed, see earlier errors


What am I missing?

-- 
/kashyap




More information about the Libguestfs mailing list