What is the `main` image in cli module documentation?
Some modules such as https://blue-build.org/reference/modules/copy/ say that
This module is currently only available with the use_unstable_cli option on the GHA or using the main image.
When building locally, what does the main image
here refer to? Is this tied to using only ublue-main images? I've tried using each of the following 4 images in distrobox.ini
, and none of these 4 seems to have any --help
option to enable use of type: copy
. Building images locally seems to ignore these modules altogether.
The four images I've tried and the distrobox.ini configuration:
Solution:Jump to solution
it's about the order of your $PATH, i add .local/bin/ in my config.fish so it takes precedence
8 Replies
:main should be it
the github action uses :main with the unstable cli option
it's from the main branch
did you re-assemble the distrobox with every change?
this is not related to ublue main images
Thanks @xyny . I did a bit of digging using
bluebuild --version
inside and outside the distrobox, and they reported different versions. Using whereis bluebuild
on the host showed that for some reason, I have /usr/bin/bluebuild
built into the host os, even though I don't see any instructions in my build recipes, files and scripts to install bluebuild to the host image. Not sure where and how this snuck in.
As a result, /usr/bin/bluebuild
has been taking precedence over ~/.local/bin/bluebuild
from the distrobox. Now that I know I have to explicitly call ~/.local/bin/bluebuild
I just have to figure out the next step: dealing with the docker socket error: ERROR: failed to initialize builder bluebuild (bluebuild0): Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
I'm trying to figure that one out now./usr/bin/bluebuild is added to the containerfile by CLI for your convenience
i was not aware of the precedence thing
Seems to be progressing with
--build-driver podman
now.Solution
it's about the order of your $PATH, i add .local/bin/ in my config.fish so it takes precedence
Depends on the way $PATH is set for the running user. Mine is set to add ~/.local/bin at the end of the pre-existing $PATH.
echo $PATH
for this running user shows: /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/home/sukarn/.local/bin:/var/home/sukarn/.local/bin
So /usr/local/bin
was taking precedence.
Fixing this now!
Thanks for the help, @xyny !yeah, but i'm not totally sure if the distrobox images are distrobox-ready yet
maybe you copied the binary out of them into .local or what?
Well, the build is progressing. This is for test-purposes only. I exported the /usr/bin/bluebuild from the distrobox. Manual method:
1.
distrobox-enter bluebuild
2. distrobox-export --bin /usr/bin/bluebuild
Mine is doing it automatically using distrobox-assemble (using the distrobox.ini file above). I run the command distrobox-assemble create --file ~/path/to/distrobox.ini --name bluebuild
and it destroys the previous one, creates the new distrobox, and then exports the bin to ~/.local/bin/bluebuild
I'm using it to run tree /tmp
in the recipe so that I can figure out what files exist and their names and directory structure after using the copy function, so that I then install the right .rpm in the recipe.