Bug #406
opensplitted system packages in isolated prefixes
Description
Hi,
I'm wondering if and how we could use splitted system packages in isolated prefixes.
Here is an example on archivers/bzip2/depend.mk. Both RedHat and Debian provide one package for the executable, and another one for the header, but they are installed in the same prefix, so SYSTEM_SEARCH.bzip2 is happy to find this prefix.
But with package managers that isolate each package, and which also split this kind of package, we get eg. on NixOS:
$ tree $PREFIX_BZIP2 /nix/store/b0gdx2hz2nyf9ap2n0zixczc7k2kqk9j-bzip2-1.0.8-bin └── bin ├── bunzip2 -> bzip2 ├── bzcat -> bzip2 ├── bzcmp -> bzdiff ├── bzdiff ├── bzegrep -> bzgrep ├── bzfgrep -> bzgrep ├── bzgrep ├── bzip2 ├── bzip2recover ├── bzless -> bzmore └── bzmore 2 directories, 11 files $ tree $PREFIX_BZIP2_DEV /nix/store/kh542xlg6mgb14xwz22mvqpm8810aidp-bzip2-1.0.8-dev ├── include │ └── bzlib.h ├── lib │ └── pkgconfig │ └── bzip2.pc └── nix-support └── propagated-build-inputs 5 directories, 3 files
Therefore, building pkgtools/pkg_install fail with:
Missing system package bzip2: searching in /nix/store/kh542xlg6mgb14xwz22mvqpm8810aidp-bzip2-1.0.8-dev missing: /nix/store/kh542xlg6mgb14xwz22mvqpm8810aidp-bzip2-1.0.8-dev/bin/bzip2 searching in /nix/store/b0gdx2hz2nyf9ap2n0zixczc7k2kqk9j-bzip2-1.0.8-bin found: /nix/store/b0gdx2hz2nyf9ap2n0zixczc7k2kqk9j-bzip2-1.0.8-bin/bin/bzip2 missing: /nix/store/b0gdx2hz2nyf9ap2n0zixczc7k2kqk9j-bzip2-1.0.8-bin/include/bzlib.h Please install the Ubuntu package bzip2 libbz2-dev. - SYSTEM_PREFIX or PREFIX.bzip2 can be set to the installation prefix of this package in robotpkg.conf. - If no bzip2 package can be made available in your system, you can use the robotpkg version, by setting in robotpkg.conf PREFER.bzip2= robotpkg
I guess one option would be to split this package on robotpkg… But I think that's way too much work for nothing.
Another option is to define that we don't support this use case, and it would be fine for me. And in the case of bzip2 here, I can just follow the instructions and PREFER.bzip2=robotpkg.
But if you have other options in mind, which would not require a ton of work, and would allow me to use my system packages, feel free to share !
Best,
Guilhem