Packaging lix for openSUSE: is the coreutils binary really needed? #470

Closed
opened 2024-08-16 06:45:52 +00:00 by kastl-ars · 3 comments

Hi,

I am trying to package lix for openSUSE. One issue I ran into was the dependency on the coreutils binary (not the package).

coreutils = find_program('coreutils', native : true)

https://git.lix.systems/lix-project/lix/src/branch/main/meson.build#L339

When searching for usage of the coreutils binary, I fail to spot any actual usage.
https://git.lix.systems/lix-project/lix/search?q=coreutils

Can it be that the requirement is for the coreutils tools to be installed, specifically the id and env binaries?

The reason why I ask is that it is a little harder to get the actual coreutils binary on openSUSE, while the coreutils package containing all the different binaries is installed pretty much by default...

Kind Regards,
Johannes

Hi, I am trying to package lix for openSUSE. One issue I ran into was the dependency on the coreutils binary (not the package). ``` coreutils = find_program('coreutils', native : true) ``` https://git.lix.systems/lix-project/lix/src/branch/main/meson.build#L339 When searching for usage of the coreutils binary, I fail to spot any actual usage. https://git.lix.systems/lix-project/lix/search?q=coreutils Can it be that the requirement is for the coreutils tools to be installed, specifically the `id` and `env` binaries? The reason why I ask is that it is a little harder to get the actual `coreutils` binary on openSUSE, while the coreutils package containing all the different binaries is installed pretty much by default... Kind Regards, Johannes
Owner

I speculate this is possibly a badly written guard against BSD coreutils, maybe inherited from the since removed make build system. @qyriad may know more.

I speculate this is possibly a badly written guard against BSD coreutils, maybe inherited from the since removed make build system. @qyriad may know more.

I tried some crude hacks before building, which at least starts the compilation process:

sed -i "/^coreutils/a id = find_program('id', native: true)" meson.build
sed -i "/^coreutils/a id = find_program('env', native: true)" meson.build
sed -i '/coreutils/d' meson.build
sed -i '/coreutils/d' tests/functional/meson.build

This makes meson look for id and env instead of the coreutils binary.

And it removes the apparently unused variable from tests/functional/meson.build.

This way the compilation starts up (it fails later due to unrelated reasons, but at least it starts).

I tried some crude hacks before building, which at least starts the compilation process: ``` sed -i "/^coreutils/a id = find_program('id', native: true)" meson.build sed -i "/^coreutils/a id = find_program('env', native: true)" meson.build sed -i '/coreutils/d' meson.build sed -i '/coreutils/d' tests/functional/meson.build ``` This makes meson look for `id` and `env` instead of the `coreutils` binary. - https://git.lix.systems/lix-project/lix/src/commit/41a0b08e646b54b27ae49fb4c23e0c45c60369ca/tests/nixos/setuid/setuid.nix#L54 ff. - https://git.lix.systems/lix-project/lix/src/commit/41a0b08e646b54b27ae49fb4c23e0c45c60369ca/docker.nix#L292 And it removes the apparently unused variable from `tests/functional/meson.build`. This way the compilation starts up (it fails later due to unrelated reasons, but at least it starts).
jade added the
Area/build-packaging
label 2024-08-21 09:11:19 +00:00
Member

FYI this is a duplicate of #376

FYI this is a duplicate of https://git.lix.systems/lix-project/lix/issues/376
jade added the
Status
invalid
label 2024-08-30 00:22:37 +00:00
jade closed this issue 2024-08-30 00:22:39 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#470
No description provided.