Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade jhbuild dependencies #51

Conversation

nikolaszimmermann
Copy link
Member

Switch to new libwpe/wpebackend-fdo releases, upgrade libdex/libpanel/etc.
Make sure to always attach tags to checkouts, to guarantee a certain version is used, independant of the image build time (where possible).

This includes the PR #50, and needs to rebased, once it's merged to main.

@dpino
Copy link
Member

dpino commented Sep 27, 2024

Looks good to me. A nitpick would be to put the tag attribute in a new line, since it's in a newline in some modules and it's the same line as attribute module in others.

A follow-up would be to add the version number to all modules and the corresponding pkg-config filename. Whe the pkg-config and version numbers are present, JHBuild determines whether the module is already provided by system libraries, and if that's the case the module is not built. If either the version or pkg-config are not present, JHBuild always builds the module. So, for instance in the case of the module openh264:

   <meson id="openh264" mesonargs="-Dtests=disabled">
    <branch repo="github.com"
            checkoutdir="openh264"
            module="cisco/openh264.git"
            tag="v2.4.1" >
    </branch>
  </meson>

Ubuntu 24.04 features this version of openh264:

$ apt-cache madison libopenh264-dev
libopenh264-dev | 2.4.1+dfsg-1 | http://mirrors.kernel.org/ubuntu noble/universe amd64 Packages

If version and pkg-config were present in the module configuration, JHBuild would compare the version stated in pkg-config with the required version of the JHBuild module. And if both versions match (or pkg-config's version is superior), the module is skipped. The configuration would be:

   <meson id="openh264" mesonargs="-Dtests=disabled">
    <pkg-config>openh264.pc</pkg-config>
    <branch repo="github.com"
            checkoutdir="openh264"
            module="cisco/openh264.git"
            tag="v2.4.1" 
            version="2.4.1">
    </branch>
  </meson>

The pkg-config file is usually under /usr/:

$ find /usr -name "*.pc" | grep -m1 264
/usr/lib/x86_64-linux-gnu/pkgconfig/openh264.pc
$ grep -i version /usr/lib/x86_64-linux-gnu/pkgconfig/openh264.pc
Version: 2.4.1

So, since openh264's pkg-config version matches the required module version, the module is skipped.

Anyway, I think it's better to do this in a separated pull-request.

And re-add support for tools, otherwhise sysprof-cli is missing.
Switch to new libwpe/wpebackend-fdo releases, upgrade libdex/libpanel/etc.
Make sure to always attach tags to checkouts, to guarantee a certain
version is used, independant of the image build time (where possible).
@nikolaszimmermann nikolaszimmermann force-pushed the nzimmermann/switch_to_latest_deps_after_gnome_47_release branch from 20fd146 to e93376a Compare September 27, 2024 10:43
@nikolaszimmermann nikolaszimmermann merged commit d2cdd52 into main Sep 27, 2024
1 check passed
@nikolaszimmermann nikolaszimmermann deleted the nzimmermann/switch_to_latest_deps_after_gnome_47_release branch September 27, 2024 10:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants