[PATCH 0/2] Add mformat and xorriso dependencies in containers

Ani Sinha posted 2 patches 12 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230503145547.202251-1-anisinha@redhat.com
Maintainers: Ed Maste <emaste@freebsd.org>, Li-Wen Hsu <lwhsu@freebsd.org>, "Alex Bennée" <alex.bennee@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Thomas Huth <thuth@redhat.com>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>
.gitlab-ci.d/cirrus/freebsd-13.vars                   | 2 +-
.gitlab-ci.d/cirrus/macos-12.vars                     | 2 +-
tests/docker/dockerfiles/alpine.docker                | 2 ++
tests/docker/dockerfiles/centos8.docker               | 2 ++
tests/docker/dockerfiles/debian-amd64-cross.docker    | 2 ++
tests/docker/dockerfiles/debian-amd64.docker          | 2 ++
tests/docker/dockerfiles/debian-arm64-cross.docker    | 2 ++
tests/docker/dockerfiles/debian-armel-cross.docker    | 2 ++
tests/docker/dockerfiles/debian-armhf-cross.docker    | 2 ++
tests/docker/dockerfiles/debian-mips64el-cross.docker | 2 ++
tests/docker/dockerfiles/debian-mipsel-cross.docker   | 2 ++
tests/docker/dockerfiles/debian-ppc64el-cross.docker  | 2 ++
tests/docker/dockerfiles/debian-s390x-cross.docker    | 2 ++
tests/docker/dockerfiles/fedora-win32-cross.docker    | 2 ++
tests/docker/dockerfiles/fedora-win64-cross.docker    | 2 ++
tests/docker/dockerfiles/fedora.docker                | 2 ++
tests/docker/dockerfiles/opensuse-leap.docker         | 2 ++
tests/docker/dockerfiles/ubuntu2004.docker            | 2 ++
tests/docker/dockerfiles/ubuntu2204.docker            | 2 ++
tests/lcitool/libvirt-ci                              | 2 +-
tests/lcitool/projects/qemu.yml                       | 2 ++
21 files changed, 39 insertions(+), 3 deletions(-)
[PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago
mformat and xorriso tools are needed by biosbits avocado tests. This patchset
adds those two tools in the docker container images.
Patch 1 pulls in the latest changes in lcitool in order to add mappings
for these packages in various distros.
Patch 2 updates all Dockerfiles in QEMU repository to add these two
tools.

CC: mst@redhat.com
CC: berrange@redhat.com

Ani Sinha (2):
  tests: libvirt-ci: Update to commit 'c8971e90ac' to pull in mformat
    and xorriso
  tests/lcitool: Add mtools and xorriso as dependency for bios bits
    avocado tests

 .gitlab-ci.d/cirrus/freebsd-13.vars                   | 2 +-
 .gitlab-ci.d/cirrus/macos-12.vars                     | 2 +-
 tests/docker/dockerfiles/alpine.docker                | 2 ++
 tests/docker/dockerfiles/centos8.docker               | 2 ++
 tests/docker/dockerfiles/debian-amd64-cross.docker    | 2 ++
 tests/docker/dockerfiles/debian-amd64.docker          | 2 ++
 tests/docker/dockerfiles/debian-arm64-cross.docker    | 2 ++
 tests/docker/dockerfiles/debian-armel-cross.docker    | 2 ++
 tests/docker/dockerfiles/debian-armhf-cross.docker    | 2 ++
 tests/docker/dockerfiles/debian-mips64el-cross.docker | 2 ++
 tests/docker/dockerfiles/debian-mipsel-cross.docker   | 2 ++
 tests/docker/dockerfiles/debian-ppc64el-cross.docker  | 2 ++
 tests/docker/dockerfiles/debian-s390x-cross.docker    | 2 ++
 tests/docker/dockerfiles/fedora-win32-cross.docker    | 2 ++
 tests/docker/dockerfiles/fedora-win64-cross.docker    | 2 ++
 tests/docker/dockerfiles/fedora.docker                | 2 ++
 tests/docker/dockerfiles/opensuse-leap.docker         | 2 ++
 tests/docker/dockerfiles/ubuntu2004.docker            | 2 ++
 tests/docker/dockerfiles/ubuntu2204.docker            | 2 ++
 tests/lcitool/libvirt-ci                              | 2 +-
 tests/lcitool/projects/qemu.yml                       | 2 ++
 21 files changed, 39 insertions(+), 3 deletions(-)

-- 
2.31.1
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Thomas Huth 12 months ago
On 03/05/2023 16.55, Ani Sinha wrote:
> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
> adds those two tools in the docker container images.

tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and 
the containers already have that tool installed. Could you maybe switch the 
biosbits test to use that tool? Or the other way round? ... at least having 
two tools to create ISO images in our containers sounds IMHO excessive.

  Thomas
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Daniel P. Berrangé 12 months ago
On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
> On 03/05/2023 16.55, Ani Sinha wrote:
> > mformat and xorriso tools are needed by biosbits avocado tests. This patchset
> > adds those two tools in the docker container images.
> 
> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
> the containers already have that tool installed. Could you maybe switch the
> biosbits test to use that tool? Or the other way round? ... at least having
> two tools to create ISO images in our containers sounds IMHO excessive.

It looks like this series wasn't tested, because it doesn't even install
the alpine image:

ERROR: unable to select packages:
  cdrkit-1.1.11-r3:
    conflicts: xorriso-1.5.4-r2[cmd:mkisofs=1.1.11-r3]
    satisfies: world[cdrkit]
  xorriso-1.5.4-r2:
    conflicts: cdrkit-1.1.11-r3[cmd:mkisofs=1.5.4-r2]
    satisfies: world[xorriso]


We definitely need to have either biosbits or cdrom-test.c changed to
use the same tool. We can't be requiring deps that are conflicting at
install time.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago

> On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 
> On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
>> On 03/05/2023 16.55, Ani Sinha wrote:
>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>> adds those two tools in the docker container images.
>> 
>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
>> the containers already have that tool installed. Could you maybe switch the
>> biosbits test to use that tool? Or the other way round? ... at least having
>> two tools to create ISO images in our containers sounds IMHO excessive.
> 
> It looks like this series wasn't tested, because it doesn't even install
> the alpine image:
> 
> ERROR: unable to select packages:
>  cdrkit-1.1.11-r3:
>    conflicts: xorriso-1.5.4-r2[cmd:mkisofs=1.1.11-r3]
>    satisfies: world[cdrkit]
>  xorriso-1.5.4-r2:
>    conflicts: cdrkit-1.1.11-r3[cmd:mkisofs=1.5.4-r2]
>    satisfies: world[xorriso]
> 
> 
> We definitely need to have either biosbits or cdrom-test.c changed to
> use the same tool.

Wait, it seems xorriso package also provides geninsoimage?

xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
Repo        : @System
Matched from:
Filename    : /usr/bin/genisoimage

xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
Repo        : rhel-9-for-x86_64-appstream-rpms
Matched from:
Filename    : /usr/bin/genisoimage

$ rpm -ql  xorriso-1.5.4-4.el9.x86_64 | grep bin
/usr/bin/cdrecord
/usr/bin/genisoimage
/usr/bin/mkisofs
/usr/bin/osirrox
/usr/bin/wodim
/usr/bin/xorrecord
/usr/bin/xorriso
/usr/bin/xorriso-dd-target
/usr/bin/xorrisofs



> We can't be requiring deps that are conflicting at
> install time.
> 
> With regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
> 
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Daniel P. Berrangé 12 months ago
On Thu, May 04, 2023 at 02:19:21PM +0530, Ani Sinha wrote:
> 
> 
> > On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > 
> > On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
> >> On 03/05/2023 16.55, Ani Sinha wrote:
> >>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
> >>> adds those two tools in the docker container images.
> >> 
> >> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
> >> the containers already have that tool installed. Could you maybe switch the
> >> biosbits test to use that tool? Or the other way round? ... at least having
> >> two tools to create ISO images in our containers sounds IMHO excessive.
> > 
> > It looks like this series wasn't tested, because it doesn't even install
> > the alpine image:
> > 
> > ERROR: unable to select packages:
> >  cdrkit-1.1.11-r3:
> >    conflicts: xorriso-1.5.4-r2[cmd:mkisofs=1.1.11-r3]
> >    satisfies: world[cdrkit]
> >  xorriso-1.5.4-r2:
> >    conflicts: cdrkit-1.1.11-r3[cmd:mkisofs=1.5.4-r2]
> >    satisfies: world[xorriso]
> > 
> > 
> > We definitely need to have either biosbits or cdrom-test.c changed to
> > use the same tool.
> 
> Wait, it seems xorriso package also provides geninsoimage?
> 
> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
> Repo        : @System
> Matched from:
> Filename    : /usr/bin/genisoimage
> 
> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
> Repo        : rhel-9-for-x86_64-appstream-rpms
> Matched from:
> Filename    : /usr/bin/genisoimage
> 
> $ rpm -ql  xorriso-1.5.4-4.el9.x86_64 | grep bin
> /usr/bin/cdrecord
> /usr/bin/genisoimage
> /usr/bin/mkisofs
> /usr/bin/osirrox
> /usr/bin/wodim
> /usr/bin/xorrecord
> /usr/bin/xorriso
> /usr/bin/xorriso-dd-target
> /usr/bin/xorrisofs

That is not the case in Fedora.  xorriso does not provide any
genisoimage binary, that's provided by a 'genisoimage' RPM
which was created from cdrkit src RPM.

Alpine likewise has no 'genisoimage' binary provided by
xorriso.

For even more fun, xorriso is now a sub-RPM of the libisoburn
source RPM


If we could make cdrom-test  use 'mkisofs' binary then we could
likely use the xorriso package on all platforms IIUC.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Thomas Huth 12 months ago
On 04/05/2023 11.35, Daniel P. Berrangé wrote:
> On Thu, May 04, 2023 at 02:19:21PM +0530, Ani Sinha wrote:
>>
>>
>>> On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>>
>>> On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
>>>> On 03/05/2023 16.55, Ani Sinha wrote:
>>>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>>>> adds those two tools in the docker container images.
>>>>
>>>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
>>>> the containers already have that tool installed. Could you maybe switch the
>>>> biosbits test to use that tool? Or the other way round? ... at least having
>>>> two tools to create ISO images in our containers sounds IMHO excessive.
>>>
>>> It looks like this series wasn't tested, because it doesn't even install
>>> the alpine image:
>>>
>>> ERROR: unable to select packages:
>>>   cdrkit-1.1.11-r3:
>>>     conflicts: xorriso-1.5.4-r2[cmd:mkisofs=1.1.11-r3]
>>>     satisfies: world[cdrkit]
>>>   xorriso-1.5.4-r2:
>>>     conflicts: cdrkit-1.1.11-r3[cmd:mkisofs=1.5.4-r2]
>>>     satisfies: world[xorriso]
>>>
>>>
>>> We definitely need to have either biosbits or cdrom-test.c changed to
>>> use the same tool.
>>
>> Wait, it seems xorriso package also provides geninsoimage?
>>
>> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
>> Repo        : @System
>> Matched from:
>> Filename    : /usr/bin/genisoimage
>>
>> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
>> Repo        : rhel-9-for-x86_64-appstream-rpms
>> Matched from:
>> Filename    : /usr/bin/genisoimage
>>
>> $ rpm -ql  xorriso-1.5.4-4.el9.x86_64 | grep bin
>> /usr/bin/cdrecord
>> /usr/bin/genisoimage
>> /usr/bin/mkisofs
>> /usr/bin/osirrox
>> /usr/bin/wodim
>> /usr/bin/xorrecord
>> /usr/bin/xorriso
>> /usr/bin/xorriso-dd-target
>> /usr/bin/xorrisofs
> 
> That is not the case in Fedora.  xorriso does not provide any
> genisoimage binary, that's provided by a 'genisoimage' RPM
> which was created from cdrkit src RPM.
> 
> Alpine likewise has no 'genisoimage' binary provided by
> xorriso.
> 
> For even more fun, xorriso is now a sub-RPM of the libisoburn
> source RPM
> 
> 
> If we could make cdrom-test  use 'mkisofs' binary then we could
> likely use the xorriso package on all platforms IIUC.

I assume it shoul be pretty easy to replace it in crom-test.c ... genisofs 
is a successor of the old mkisofs, so the commandd line parameter should be 
very similar or even the same.
Ani, could you add a patch to your series to replace it there?

  Thanks,
   Thomas


Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago

> On 04-May-2023, at 3:43 PM, Thomas Huth <thuth@redhat.com> wrote:
> 
> On 04/05/2023 11.35, Daniel P. Berrangé wrote:
>> On Thu, May 04, 2023 at 02:19:21PM +0530, Ani Sinha wrote:
>>> 
>>> 
>>>> On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>>> 
>>>> On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
>>>>> On 03/05/2023 16.55, Ani Sinha wrote:
>>>>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>>>>> adds those two tools in the docker container images.
>>>>> 
>>>>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
>>>>> the containers already have that tool installed. Could you maybe switch the
>>>>> biosbits test to use that tool? Or the other way round? ... at least having
>>>>> two tools to create ISO images in our containers sounds IMHO excessive.
>>>> 
>>>> It looks like this series wasn't tested, because it doesn't even install
>>>> the alpine image:
>>>> 
>>>> ERROR: unable to select packages:
>>>>  cdrkit-1.1.11-r3:
>>>>    conflicts: xorriso-1.5.4-r2[cmd:mkisofs=1.1.11-r3]
>>>>    satisfies: world[cdrkit]
>>>>  xorriso-1.5.4-r2:
>>>>    conflicts: cdrkit-1.1.11-r3[cmd:mkisofs=1.5.4-r2]
>>>>    satisfies: world[xorriso]
>>>> 
>>>> 
>>>> We definitely need to have either biosbits or cdrom-test.c changed to
>>>> use the same tool.
>>> 
>>> Wait, it seems xorriso package also provides geninsoimage?
>>> 
>>> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
>>> Repo        : @System
>>> Matched from:
>>> Filename    : /usr/bin/genisoimage
>>> 
>>> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
>>> Repo        : rhel-9-for-x86_64-appstream-rpms
>>> Matched from:
>>> Filename    : /usr/bin/genisoimage
>>> 
>>> $ rpm -ql  xorriso-1.5.4-4.el9.x86_64 | grep bin
>>> /usr/bin/cdrecord
>>> /usr/bin/genisoimage
>>> /usr/bin/mkisofs
>>> /usr/bin/osirrox
>>> /usr/bin/wodim
>>> /usr/bin/xorrecord
>>> /usr/bin/xorriso
>>> /usr/bin/xorriso-dd-target
>>> /usr/bin/xorrisofs
>> That is not the case in Fedora.  xorriso does not provide any
>> genisoimage binary, that's provided by a 'genisoimage' RPM
>> which was created from cdrkit src RPM.
>> Alpine likewise has no 'genisoimage' binary provided by
>> xorriso.
>> For even more fun, xorriso is now a sub-RPM of the libisoburn
>> source RPM
>> If we could make cdrom-test  use 'mkisofs' binary then we could
>> likely use the xorriso package on all platforms IIUC.
> 
> I assume it shoul be pretty easy to replace it in crom-test.c ... genisofs is a successor of the old mkisofs, so the commandd line parameter should be very similar or even the same.

In my RHEL 9 box, funny that cdrom-test is actually using xorriso even today since genisoimage is eventually a symlink to xorriso and it works just fine :

$ QTEST_QEMU_BINARY=./qemu-system-x86_64 ./tests/qtest/cdrom-test
# random seed: R02S8027650089f37c7be48a579c1b3bdeaa
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

xorriso 1.5.4
ISO 9660 Rock Ridge filesystem manipulator and CD/DVD/BD burn program
Copyright (C) 2019, Thomas Schmitt <scdbackup@gmx.net>, libburnia project.
xorriso version   :  1.5.4
Version timestamp :  2021.01.30.150001
Build timestamp   :  -none-given-
libisofs   in use :  1.5.4  (min. 1.5.4)
libburn    in use :  1.5.4  (min. 1.5.4)
libburn OS adapter:  internal GNU/Linux SG_IO adapter sg-linux
libisoburn in use :  1.5.4  (min. 1.5.4)
Provided under GNU GPL version 3 or later, due to libreadline license.
There is NO WARRANTY, to the extent permitted by law.
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project.

> Ani, could you add a patch to your series to replace it there?

Just sent the updated patch. Yes replacing genisoimage with xorrisfs is good enough. Exact same arguments work just fine.
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago

> On 04-May-2023, at 2:19 PM, Ani Sinha <anisinha@redhat.com> wrote:
> 
> 
> 
>> On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
>> 
>> On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
>>> On 03/05/2023 16.55, Ani Sinha wrote:
>>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>>> adds those two tools in the docker container images.
>>> 
>>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
>>> the containers already have that tool installed. Could you maybe switch the
>>> biosbits test to use that tool? Or the other way round? ... at least having
>>> two tools to create ISO images in our containers sounds IMHO excessive.
>> 
>> It looks like this series wasn't tested, because it doesn't even install
>> the alpine image:
>> 
>> ERROR: unable to select packages:
>> cdrkit-1.1.11-r3:
>>   conflicts: xorriso-1.5.4-r2[cmd:mkisofs=1.1.11-r3]
>>   satisfies: world[cdrkit]
>> xorriso-1.5.4-r2:
>>   conflicts: cdrkit-1.1.11-r3[cmd:mkisofs=1.5.4-r2]
>>   satisfies: world[xorriso]
>> 
>> 
>> We definitely need to have either biosbits or cdrom-test.c changed to
>> use the same tool.
> 
> Wait, it seems xorriso package also provides geninsoimage?
> 
> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
> Repo        : @System
> Matched from:
> Filename    : /usr/bin/genisoimage
> 
> xorriso-1.5.4-4.el9.x86_64 : ISO-9660 and Rock Ridge image manipulation tool
> Repo        : rhel-9-for-x86_64-appstream-rpms
> Matched from:
> Filename    : /usr/bin/genisoimage
> 
> $ rpm -ql  xorriso-1.5.4-4.el9.x86_64 | grep bin
> /usr/bin/cdrecord
> /usr/bin/genisoimage
> /usr/bin/mkisofs
> /usr/bin/osirrox
> /usr/bin/wodim
> /usr/bin/xorrecord
> /usr/bin/xorriso
> /usr/bin/xorriso-dd-target
> /usr/bin/xorrisofs
> 

Ah

$ file /usr/bin/genisoimage
/usr/bin/genisoimage: symbolic link to /etc/alternatives/mkisofs-genisoimage
$ vi /etc/alternatives/mkisofs-genisoimage
$ file /etc/alternatives/mkisofs-genisoimage
/etc/alternatives/mkisofs-genisoimage: symbolic link to /usr/bin/xorrisofs


But the one provided by cdrkit is actually a elf binary in its own right. So if we replace genisoimage with xorriso, we need to check that the iso file for cdrom-test in a way that does not break it.
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago

> On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 
> On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
>> On 03/05/2023 16.55, Ani Sinha wrote:
>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>> adds those two tools in the docker container images.
>> 
>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
>> the containers already have that tool installed. Could you maybe switch the
>> biosbits test to use that tool? Or the other way round? ... at least having
>> two tools to create ISO images in our containers sounds IMHO excessive.
> 
> It looks like this series wasn't tested,

Oh I wasn’t sure which tests I were to run to verify this because https://www.qemu.org/docs/master/devel/testing.html does not mention any specific tests to run after:

	• Once the merge request is accepted, go back to QEMU and update the tests/lcitool/libvirt-ci submodule to point to a commit that contains the mappings.yml update. Then add the prerequisite and run make lcitool-refresh.

Is it “make docker-all-tests” ? Maybe we can update the doc. This is the first time me updating the docker images with new packages and I doing not touch this infrastructure part at all.

> because it doesn't even install
> the alpine image:
> 
> ERROR: unable to select packages:
>  cdrkit-1.1.11-r3:
>    conflicts: xorriso-1.5.4-r2[cmd:mkisofs=1.1.11-r3]
>    satisfies: world[cdrkit]
>  xorriso-1.5.4-r2:
>    conflicts: cdrkit-1.1.11-r3[cmd:mkisofs=1.5.4-r2]
>    satisfies: world[xorriso]
> 
> 
> We definitely need to have either biosbits or cdrom-test.c changed to
> use the same tool.

From what I found out so far, xorriso has more fine grained options and can be run with "-as mkisofs” to generate the bootable iso. But it requires more experimentation. 

> We can't be requiring deps that are conflicting at
> install time.
> 
> With regards,
> Daniel
> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
> 
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Daniel P. Berrangé 12 months ago
On Thu, May 04, 2023 at 01:52:36PM +0530, Ani Sinha wrote:
> 
> 
> > On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> > 
> > On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
> >> On 03/05/2023 16.55, Ani Sinha wrote:
> >>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
> >>> adds those two tools in the docker container images.
> >> 
> >> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
> >> the containers already have that tool installed. Could you maybe switch the
> >> biosbits test to use that tool? Or the other way round? ... at least having
> >> two tools to create ISO images in our containers sounds IMHO excessive.
> > 
> > It looks like this series wasn't tested,
> 
> Oh I wasn’t sure which tests I were to run to verify this because https://www.qemu.org/docs/master/devel/testing.html does not mention any specific tests to run after:
> 
> 	• Once the merge request is accepted, go back to QEMU and update the tests/lcitool/libvirt-ci submodule to point to a commit that contains the mappings.yml update. Then add the prerequisite and run make lcitool-refresh.
> 
> Is it “make docker-all-tests” ? Maybe we can update the doc. This is the first time me updating the docker images with new packages and I doing not touch this infrastructure part at all.

By testing, I mean run the CI pipeline in GitLab to see if everything
still passes. I expect the alpine job will fail the container build.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago

> On 04-May-2023, at 1:55 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 
> On Thu, May 04, 2023 at 01:52:36PM +0530, Ani Sinha wrote:
>> 
>> 
>>> On 04-May-2023, at 1:32 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>> 
>>> On Thu, May 04, 2023 at 08:35:53AM +0200, Thomas Huth wrote:
>>>> On 03/05/2023 16.55, Ani Sinha wrote:
>>>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>>>> adds those two tools in the docker container images.
>>>> 
>>>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and
>>>> the containers already have that tool installed. Could you maybe switch the
>>>> biosbits test to use that tool? Or the other way round? ... at least having
>>>> two tools to create ISO images in our containers sounds IMHO excessive.
>>> 
>>> It looks like this series wasn't tested,
>> 
>> Oh I wasn’t sure which tests I were to run to verify this because https://www.qemu.org/docs/master/devel/testing.html does not mention any specific tests to run after:
>> 
>> 	• Once the merge request is accepted, go back to QEMU and update the tests/lcitool/libvirt-ci submodule to point to a commit that contains the mappings.yml update. Then add the prerequisite and run make lcitool-refresh.
>> 
>> Is it “make docker-all-tests” ? Maybe we can update the doc. This is the first time me updating the docker images with new packages and I doing not touch this infrastructure part at all.
> 
> By testing, I mean run the CI pipeline in GitLab to see if everything
> still passes. I expect the alpine job will fail the container build.

Ah that makes sense. As I told you offline, I regenerated the centos8 container image in my fork with those two packages and made sure avocado-system-centos job passed. I did not run all the pipelines.
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago

> On 04-May-2023, at 12:05 PM, Thomas Huth <thuth@redhat.com> wrote:
> 
> On 03/05/2023 16.55, Ani Sinha wrote:
>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>> adds those two tools in the docker container images.
> 
> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and the containers already have that tool installed. Could you maybe switch the biosbits test to use that tool? Or the other way round? ... at least having two tools to create ISO images in our containers sounds IMHO excessive.

The dependency comes from the use of grub-mkrescue in the avocado test in order to generate the iso with the bios bits enabled grub and boot off with it. Grub-mkrescue is a bash script that uses mformat and xorriso. 
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Daniel P. Berrangé 12 months ago
On Thu, May 04, 2023 at 12:40:12PM +0530, Ani Sinha wrote:
> 
> 
> > On 04-May-2023, at 12:05 PM, Thomas Huth <thuth@redhat.com> wrote:
> > 
> > On 03/05/2023 16.55, Ani Sinha wrote:
> >> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
> >> adds those two tools in the docker container images.
> > 
> > tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and the containers already have that tool installed. Could you maybe switch the biosbits test to use that tool? Or the other way round? ... at least having two tools to create ISO images in our containers sounds IMHO excessive.
> 
> The dependency comes from the use of grub-mkrescue in the avocado
> test in order to generate the iso with the bios bits enabled grub
> and boot off with it. Grub-mkrescue is a bash script that uses
> mformat and xorriso.

Where does grub-mkrescue come from ?  IIUC, we don't have a dep
on the grub package in our dockerfiles.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Ani Sinha 12 months ago

> On 04-May-2023, at 2:28 PM, Daniel P. Berrangé <berrange@redhat.com> wrote:
> 
> On Thu, May 04, 2023 at 12:40:12PM +0530, Ani Sinha wrote:
>> 
>> 
>>> On 04-May-2023, at 12:05 PM, Thomas Huth <thuth@redhat.com> wrote:
>>> 
>>> On 03/05/2023 16.55, Ani Sinha wrote:
>>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>>> adds those two tools in the docker container images.
>>> 
>>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and the containers already have that tool installed. Could you maybe switch the biosbits test to use that tool? Or the other way round? ... at least having two tools to create ISO images in our containers sounds IMHO excessive.
>> 
>> The dependency comes from the use of grub-mkrescue in the avocado
>> test in order to generate the iso with the bios bits enabled grub
>> and boot off with it. Grub-mkrescue is a bash script that uses
>> mformat and xorriso.
> 
> Where does grub-mkrescue come from ?  IIUC, we don't have a dep
> on the grub package in our dockerfiles.

Bios bits runs from grub and builds grub utilities as a part of the build process which the test uses. That being said, mkrescue is just a bash script that uses those two utilities - mformat and xorriso from the docker environment. It also has some dependencies on the grub binaries generated as a part of the build process.
Re: [PATCH 0/2] Add mformat and xorriso dependencies in containers
Posted by Thomas Huth 12 months ago
On 04/05/2023 09.10, Ani Sinha wrote:
> 
> 
>> On 04-May-2023, at 12:05 PM, Thomas Huth <thuth@redhat.com> wrote:
>>
>> On 03/05/2023 16.55, Ani Sinha wrote:
>>> mformat and xorriso tools are needed by biosbits avocado tests. This patchset
>>> adds those two tools in the docker container images.
>>
>> tests/qtest/cdrom-test.c already uses genisoimage to create ISO images, and the containers already have that tool installed. Could you maybe switch the biosbits test to use that tool? Or the other way round? ... at least having two tools to create ISO images in our containers sounds IMHO excessive.
> 
> The dependency comes from the use of grub-mkrescue in the avocado test in order to generate the iso with the bios bits enabled grub and boot off with it. Grub-mkrescue is a bash script that uses mformat and xorriso.

Ok, then we could maybe try to convert the cdrom-test.c file to use xorriso 
instead?

  Thomas