void-linux / void-linux/void-packages
Build options leak when building a target's dependency.
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 3.4k
- Forks
- 2.8k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 299
Description
My test case is with efl and enlightenment; to reproduce, you simply need to increase the revision in both packages, then try to build enlightenment, with ./xbps-src pkg enlightenment. When it doesn't find the up to date efl dependency, it will attempt to build it, and fail, as seen here:
=> xbps-src: updating repositories for host (x86_64)...
[*] Updating repository `https://mirror.clarkson.edu/voidlinux/current/x86_64-repodata' ...
[*] Updating repository `https://mirror.clarkson.edu/voidlinux/current/nonfree/x86_64-repodata' ...
[*] Updating repository `https://mirror.clarkson.edu/voidlinux/current/debug/x86_64-repodata' ...
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/multilib/x86_64-repodata' ...
[*] Updating repository `https://alpha.de.repo.voidlinux.org/current/multilib/nonfree/x86_64-repodata' ...
=> xbps-src: updating software in / masterdir...
=> xbps-src: cleaning up / masterdir...
=> enlightenment-0.24.2_1: removing autodeps, please wait...
=> enlightenment-0.24.2_1: the following build options are set:
wayland: Enable support for the Wayland backend (ON)
=> enlightenment-0.24.2_1: building [meson] for x86_64...
[host] efl-1.24.4_1: not found
[host] pkg-config-0.29.2_2: found (https://mirror.clarkson.edu/voidlinux/current)
[host] gettext-0.21_2: found (https://mirror.clarkson.edu/voidlinux/current)
[host] xorg-server-xwayland-1.20.10_2: found (https://mirror.clarkson.edu/voidlinux/current)
[host] meson-0.55.3_3: found (https://mirror.clarkson.edu/voidlinux/current)
[target] gettext-devel-0.21_2: found (https://mirror.clarkson.edu/voidlinux/current)
[target] efl-devel-1.24.4_1: not found
[target] pam-devel-1.3.0_2: found (https://mirror.clarkson.edu/voidlinux/current)
[target] xkeyboard-config-2.31_1: found (https://mirror.clarkson.edu/voidlinux/current)
[target] libxkbcommon-devel-1.0.3_1: found (https://mirror.clarkson.edu/voidlinux/current)
[target] MesaLib-devel-20.3.1_1: found (https://mirror.clarkson.edu/voidlinux/current)
[target] wayland-devel-1.18.0_3: found (https://mirror.clarkson.edu/voidlinux/current)
[runtime] desktop-file-utils-0.26_1: found (https://mirror.clarkson.edu/voidlinux/current)
[runtime] hicolor-icon-theme-0.17_3: found (https://mirror.clarkson.edu/voidlinux/current)
[runtime] xkeyboard-config-2.31_1: found (https://mirror.clarkson.edu/voidlinux/current)
[runtime] xorg-server-xwayland-1.20.10_2: found (https://mirror.clarkson.edu/voidlinux/current)
[runtime] efl-devel-1.24.4_1: not found
=> ERROR: efl-1.24.4_1: cannot be built, it's currently broken; see the build log:
=> ERROR: efl-1.24.4_1: wayland requires drm
I assume this happens because enlightenment has build_options_default=wayland, while efl has build_options_default="elogind harfbuzz pulseaudio gstreamer x11 wayland opengl gles2 drm glib ibus". efl's options are overridden, and we (luckily) get an error, because the wayland build option requires drm.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the ./xbps-src pkg enlightenment entry point and trace how build options are passed when the efl dependency is built. Reproduce with the efl and enlightenment revisions increased, then verify that efl retains its own default options and the dependency build no longer fails with “wayland requires drm”.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100