Open gouravkhunger opened 2 months ago
You have to follow some steps to bootstrap glib and gojbect-introspection (GI). See https://gitlab.gnome.org/GNOME/glib/-/blob/2.80.0/docs/reference/glib/building.md?ref_type=tags
-Dintrospection=disabled
option.-Dintrospection=enabled
using GI from step2.I can try to add a bootstrap flag in glib or GI build script but I do not know how to check if glib is being bootstrapped. Otherwise, user has to pass the bootstrap flag manually.
@Biswa96 I understand, thank you! I get how termux uses the already built gobject-introspection
package from past builds and thus the workflow succeeds.
But it would be really helpful to have these steps automated for cases where dependencies need rebuilding too. How about using TERMUX_FORCE_BUILD_DEPENDENCIES
to use the option -Dintrospection=disabled
first, and somehow run the logic for step 2. and 3. as you mentioned, right after the build is done.
I have started at PR that achieves the former in #20081. This makes the build pass. But to rebuild glib
with -Dintrospection=enabled
, I'll need some insight on how to dynamically add more packages to be built with specific parameters after the current one succeeds.
Maybe something could be added in the termux_step_post_make_install
or termux_step_post_massage
functions.
I am not sure if TERMUX_FORCE_BUILD_DEPENDENCIES
variable should be used. It is not documented and not used in any other build script. That variable is true when -F
option is passed to build-package.sh. I would follow simple steps from Alpine Linux to replace the cyclic dependency https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/main/glib/APKBUILD (if feasible). Those steps would increase build time significantly.
Problem description
The build for package
glib
fails with the error:This seems to be introduced since 4ccbae1cec294cdf0c2dff25fc3a0227d493f456 in line:
https://github.com/termux/termux-packages/blob/4ccbae1cec294cdf0c2dff25fc3a0227d493f456/packages/glib/build.sh#L73-L74
On inspection, I found that the build system didn't download
gobject-introspection
for building even if it is defined in theTERMUX_PKG_BUILD_DEPENDS
forglib
:https://github.com/termux/termux-packages/blob/bb4bdf2294cc22c4eb88ae1913421b8901def97d/packages/glib/build.sh#L10
Thus the file is missing.
What steps will reproduce the bug?
Build the package
glib
onmaster
with command:Because
gobject-introspection
was not downloaded, I tried building it right beforeglib
. But that resulted in an infinite pause:But well,
gobject-introspection
depends onglib
so maybe that caused the loop:https://github.com/termux/termux-packages/blob/e6edae346502fb933dd3940ee78345afb6a2147e/packages/gobject-introspection/build.sh#L8
What is the expected behavior?
I am unable to replicate the successful builds as in termux workflow builds.
System information
N/A