Hi,
I have posted a patch with the suggested workaround [1].
If need anything else, please let me know.
[1]
Harel
On Thu, Oct 28, 2021 at 2:08 PM Marcin Sobczyk <msobczyk(a)redhat.com> wrote:
Hi,
On 10/28/21 11:59, Sandro Bonazzola wrote:
> hi,
> I'm trying to enable copr builds for vdsm (
>
https://gerrit.ovirt.org/c/vdsm/+/117368
> <
https://gerrit.ovirt.org/c/vdsm/+/117368> )
>
> And it's currently failing to rebuild src.rpm (generated on Fedora 34)
> for el8 with the following error:
> (
https://download.copr.fedorainfracloud.org/results/ovirt/ovirt-master-sna...
> <
https://download.copr.fedorainfracloud.org/results/ovirt/ovirt-master-sna...
> )
>
> make[2]: Entering directory
'/builddir/build/BUILD/vdsm-4.50.0.1/lib/vdsm'
> Making all in api
> make[3]: Entering directory
'/builddir/build/BUILD/vdsm-4.50.0.1/lib/vdsm/api'
> Generate vdsm-api.html
> chmod u+w .
> PYTHONPATH=./../../:./../../vdsm \
> ./schema_to_html.py vdsm-api ./vdsm-api.html
> Traceback (most recent call last):
> File "./schema_to_html.py", line 250, in <module>
> main()
> File "./schema_to_html.py", line 245, in main
> api_schema = vdsmapi.Schema((schema_type,), strict_mode=False)
> File "/builddir/build/BUILD/vdsm-4.50.0.1/lib/vdsm/api/vdsmapi.py",
line 145, in __init__
> loaded_schema = pickle.loads(f.read())
> ValueError: unsupported pickle protocol: 5
> make[3]: *** [Makefile:697: vdsm-api.html] Error 1
> make[3]: Leaving directory
'/builddir/build/BUILD/vdsm-4.50.0.1/lib/vdsm/api'
> make[2]: *** [Makefile:644: all-recursive] Error 1
> make[2]: Leaving directory '/builddir/build/BUILD/vdsm-4.50.0.1/lib/vdsm'
> make[1]: *** [Makefile:466: all-recursive] Error 1
> make[1]: Leaving directory '/builddir/build/BUILD/vdsm-4.50.0.1/lib'
> make: *** [Makefile:539: all-recursive] Error 1
> error: Bad exit status from /var/tmp/rpm-tmp.nDfLzv (%build)
>
> Sounds like the make dist process ran on Fedora 34 brings a source file
used at build time on el8 in a cpickle format which is not backward
compatible.
>
> Seems to be a bug, the cpickle shouldn't be included in the tar.gz, it
should be generated at build time.
>
> Comments?
The pickles were introduced here:
https://gerrit.ovirt.org/c/vdsm/+/94196
AFAIR they were added to the vdsm-api package because previously we were
generating them in during rpm installation in %post section which caused
issues with oVirt Node.
I'm not sure how easy will it be to not have them in the srpm/tar.gz but
have them in the rpm. As a quick workaround I can change the pickle
protocol version that we use [1] to '4', which should work for both
Fedora 34 and el8.
Regards, Marcin
[1]
https://github.com/oVirt/vdsm/blob/1969ab99c371ad498ea8693671cec60e2d0d49...
>
> --
>
> Sandro Bonazzola
>
> MANAGER, SOFTWARE ENGINEERING, EMEA R&D RHV
>
> Red Hat EMEA <
https://www.redhat.com/>
>
> sbonazzo(a)redhat.com <mailto:sbonazzo@redhat.com>
>
> <
https://www.redhat.com/>
>
> **
> *Red Hat respects your work life balance. Therefore there is no need to
> answer this email out of your office hours.
> *
> *
>
> *