build profile proposal: nogir

Helmut Grohne helmut at subdivi.de
Sun Apr 16 12:22:57 BST 2023


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




More information about the pkg-gnome-maintainers mailing list