Re: Modularity: New modulemd-packager format for building modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



V Fri, Sep 10, 2021 at 02:26:20PM +0200, Petr Pisar napsal(a):
> I'm relieved to announce an availability of the new module packaging format,
> modulemd-packager, version 3.
> 
[...]
> WHAT IS CHANGING
> ================
> 
> Since there was no place for the contexts in the old module format, a new,
> input-only format "modulemd-packager", version 3, was designed and implemented
> in MBS and other tools. At the opportunity of the format change, some other
> pet peeves of the old format were solved.
> 
> Changes in the format include:
> 
> New document type and version:
> 
>     document: modulemd-packager
>     version: 3
> 
[...]
> DNF handles outputs of both of them (the output format is distinguished with
> "static_context: true" field), but it behaves differently. With the old
> format, DNF can produce weird warnings or errors. Especially when your module
> is required by another module.
> 
> Will the old format be supporterd forever? I don't know.
> 
> Does have the new format some drawbacks?

A new drawback came out <https://bugzilla.redhat.com/show_bug.cgi?id=2004853>:

Fedora 33 G.A. libmodulemd-2.9.4-3.fc33 does not yet support the new
static_context field. Because DNF strictly validates modules found in
repositories, libmodulemd will reject modules with the unknown field:

    Module yaml error: Unexpected key in data: static_context [line 9 col 3]

and will ignore the module. That implies that DNF will handle packages of
those module builds as non-modular before checking an RPM transaction:

	Installing:
	 autoconf                noarch  2.69-34.fc33                              fedora           666 k
	Installing dependencies:
	 perl-B                  x86_64  1.80-471.module_f33+12592+71aff0e2        updates-modular  189 k

But then the transaction will be rejected because a strayed modular package is
found:

    Running transaction check
    No available modular metadata for modular package 'perl-B-1.80-471.module_f33+12592+71aff0e2.x86_64', it cannot be installed on the system

In short, Fedora 33 users who have not updated their system since 2020-12-16,
won't be able to install packages which were (also) built in a module with the
new format. This affects e.g. fresh off-line installations.

A workaround is simple: update your system:

    # dnf upgrade

or explicitly upgrade libmodulemd:

    # dnf --disable-repo 'updates*modular' upgrade libmodulemd

before installing any packages.

Since we cannot change G.A. installation media (ISO and qcow2 images), there
is no remedy possible other than not pushing these updates to Fedora 33
repositories.

You have two options: Either postpone the migration to the new format until
Fedora 33 reaches its end of life (December, 2021?), or do not build the
module for Fedora 33 (i.e. remove a context section with platform: f33).

(That already happened with perl and perl-bootstrap modules. I will rebuild
them and repush to stable, unless relengs untag them.)

(That already happened with swig:4.0. Unpushing it from updates-testing should
help.)

I'm deeply sorry for this faux pas.

-- Petr

Attachment: signature.asc
Description: PGP signature

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux