testing brl fetch exherbo-musl
No problems during `brl fetch`, but when I executed first command
Code:
# cave help --all Seems something went wrong during step '[11/18 ( 61%)] Modifying paludisbuild' |
I can reproduce the issue, and I think I see the associated bug. The code step you correctly called out as problematic is:
Code:
chroot "${target_dir}" usermod -a -G "$(stat -c %G /dev/tty)" ${paludis_user} Fixing it should just entail making the group change outside of the chroot on the actual /etc/group and swapping usermod out for some busybox utility such as addgroup. Catching this kind of thing is exactly what the beta releases are for, many thanks for being proactive here. I'll see if I can fix it and push another beta this weekend. |
Maintainer of the Exherbo fetcher here: This issue is fixed in git. Thanks for catching it!
|
@Philantrop Thanks for Exherbo fetcher, nice to try Exherbo using bedrock linux.
I've just checked how cave command works with latest Exherbo commits on github. User paludisbuild is in group 5 now. Above issue is fixed, but next one appeared. Code:
# strat exherbo-musl cave sync |
Looks to me like:
To debug what the command that's being forwarded is, install `strace` in some stratum then run as root: Code:
strace -o/tmp/log strat exherbo-musl cave sync I can think of two short-term work arounds:
And two corresponding longer term solutions:
Philantrop would be know better than I do if it's a missing dependency that exherbo should have come with or not. |
Quote:
|
Seems I found the reason. I had pinned bin/git to void-musl, when I commented this line in bedrock.conf the problem gone.
|
Quote:
|
Ah, that's interesting. I guess we need to fine-tune Bedrock's rules a bit for your situation. I see a number of possible workflows to consider which might help:
None of these are perfect, sadly. There issues where you may have to play wack-a-mole where you may run into other programs that will need to be restricted, pinned to avoid, or have their local git uninstalled. I'll put some time into thinking of a way to improve the Bedrock to handle this situation better. |
What do you think about extend pin configuration, e.g.:
Code:
pin/bin/git = void:/usr/bin/git |
As described, that will add both non-trivial amount of complexity and a non-trivial runtime performance hit. It could be worthwhile if the use case was strong enough, but I don't really understand the use case here at all.
You could get a similar effect by creating a file with Code:
#!/bin/sh If that's insufficient for your needs, can you elaborate on what you're trying to do here? It's hard to provide a solution when I don't actually know what you're trying to do. |
I want to pin some apps from other strata than hijacked.
e.g. I have hijacked artix, but I prefer to use firefox-esr from void strata. Create a file at /bedrock/strata/artix/usr/local/bin/firefox with proper content is sufficient for me. Thanks for the tip. |
This stuff is definitely confusing if you're not used to thinking in this manner. One can make relatively complex webs of what-from-where.
There's nothing special about the hijacked stratum that gives it priority over anything else. Once the hijack is over, it's the same as all the other strata. If the local stratum provides something, that takes precedence over non-pinned cross-stratum stuff. If you get bash from the hijacked stratum, then launching stuff from the bash will prioritize the hijacked stratum's stuff, but that's not because it's the hijacked stratum. I think my current install was a hijacked Fedora, but I get zsh from Debian, so when I run `ls` I get Debian's `ls`. Also everything from Fedora has since been removed. This is the second thing you've mentioned that you want to come from Void. If you want most things to come from Void, consider making it your shell provider. If you don't need another firefox around, the easiest solution is to just only have one firefox. If you have multiple instances of firefox but want Void's to be the default, pinning should be fine. Something like this should get the job done: Code:
pin/bin/firefox = void:/usr/bin/firefox If you always want processes from artix to use void's firefox while processes from other strata could default to another, the /bedrock/strata/<stratum>/usr/local/bin/ thing would work, but I'm having difficulty imagining a workflow which would have this specific requirement. What you described here: Quote:
That having been said, if it gets the job done for you, do feel free to use it. As long as you have something that works for you here, I'm happy. |
All times are GMT -5. The time now is 12:47 PM. |