On 25.04.2017 16:04, Richard W.M. Jones wrote:
On Tue, Apr 25, 2017 at 03:58:45PM +0300, Pavel Butsykin wrote:
> On 25.04.2017 15:11, Richard W.M. Jones wrote:
>> On Tue, Apr 25, 2017 at 02:35:26PM +0300, Pavel Butsykin wrote:
>>> The patch changes the order of the steps to search for fixed/supermin
>>> appliance in accordance with documentation:
>>>
>>> "If the fixed appliance is found, libguestfs skips supermin entirely
>>> and just runs qemu with the kernel, initrd and root disk from the
>>> fixed appliance."
>>
>> Does anyone rely on the path-like behaviour of LIBGUESTFS_PATH? It
>> was a mistake to allow that originally, but we're stuck with it now
>> unfortunately.
>
> Sorry, but I don't understand what you mean. What is
> "path-like behaviour"? What is the mistake ? The mistake is to use the
> location of supermin.d directory for the decision on build appliance.?
I mean, the mistake was that I allowed search paths in
LIBGUESTFS_PATH, ie.
LIBGUESTFS_PATH=/a:/b
(rather than just forcing it to be a single path).
> I was faced with the problem that if in appliance directory there is
> supermin.d then libguestfs is trying to build appliance. Even if
> supermin.d is empty, even if libguestfs was built with options
> --disable-appliance --disable-daemon. But as it turned out, the
> behaviour build_appliance() is contrary to the documentation.
Can you see what:
guestfish get-path
/usr/lib64/guestfs
prints? Are you setting LIBGUESTFS_PATH at all?
No.
# ls /usr/lib64/guestfs
initrd kernel README.fixed root supermin.d
libguestfs by default uses a single path to search fixed appliance and
supermin.d. It seemed to me that the presence of options "--disable
appliance --disable-daemon" must exclude the use of
build_supermin_appliance.
But libguestfs in any case trying to find supermin.d. Maybe it's not
quite right to make such decisions based on the contents of the
directory.
Also, I still don't understand what the priority of the search
appliances was supposed to actually use. Because in the documentation
the first step is to search for fixed appliance, but is actually
supermin.d(for building appliance).
Rich.