• Fwd: build profile proposal: nogir

    From =?UTF-8?Q?Jeremy_B=C3=ADcha?=@21:1/5 to All on Mon Apr 17 15:20:02 2023
    I'm forwarding to the other Debian GNOME mailing list since pkg-gnome-maintainers gets so much email that it's not as useful for discussion.

    Thank you,
    Jeremy Bicha

    ---------- Forwarded message ---------
    From: Helmut Grohne <helmut@subdivi.de>
    Date: Mon, Apr 17, 2023 at 9:13 AM
    Subject: build profile proposal: nogir
    To: <debian-devel@lists.debian.org>
    Cc: <pkg-gnome-maintainers@lists.alioth.debian.org>

    Hi,

    when adding new general build profiles, we're supposed to consult with debian-devel. Thus I propose the "nogir" profile. This profile is
    supposed to skip building "gir*" packages containing typelib files.

    Why?

    gobject-introspection is one of the few and high popcon components that
    poses resistant to cross compilation. gir packages are often added to
    existing source packages for e.g. libraries and their presence makes
    cross building fail. Often enough, these gir packages are not needed for
    a particular application, so skipping them would allow cross building
    the library. The profile also allows fixing cross build problems in
    packages shipping typelib files such that when we get a solution for
    typelib generation, those packages will not have other bugs.

    Precise scope

    There are two major ways to define this profile.

    1. narrow and reproducible
    The profile inhibits generation of "gir*" packages. It does not
    affect other kinds of packages. As such, it cannot be applied to
    source packages that happen to not split out their typelib files to
    separate packages (libraries libcjs0 and libgjs0g as well as a few
    applications such as gnome-calculator or liferea). On the flip side,
    the profile is called "reproducible" and it can be mechanically
    validated for correctness using reproducible builds.

    2. wide and unreproducible
    The profile inhibits the generation of typelib files and also
    disables packages that would become mostly empty as a result (such as
    gir* packages). This covers more use cases, but the profile no longer
    is reproducible.

    The first approach would cover 282 binary packages at present and the
    second approach would affect 21 additional packages. Given that the
    majority of those 21 packages are applications, I prefer the narrow
    approach.

    As such I propose the following addition:

    profile name: nogir
    content changes: N
    package set changes: Y
    description: Disable building packages containing mainly
    GObject introspection data

    If there are no objections to this, I'd like to get at least one reply
    from a pkg-gnome team member. Bear in mind that gnome packages may
    receive patches adding nogir profile support if this is accepted, so if
    you expect rejecting such patches, please speak up.

    Helmut

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)