BlueBuild

B

BlueBuild

Join the community to ask questions about BlueBuild and get answers from other members.

Join

Can we `brew install` after using the brew module?

To install brew packages into the image?
Solution:
it's a runtime module, like default-flatpaks is, so it's not possible to directly integrate brew packages into the image

Pin current version then pull latest

After running sudo ostree admin pin 2, if I run ujust update will my pin still be respected or will a reboot send me back to the latest update?
Solution:
So doing pin just makes it so that particular image stays on your machine so you can roll back to it.

Is there a way to run Pull Request builds?

Sort of like how bluefin does it, where uploads and signing are disabled, but everything else runs

How is the best way to design and test my system?

In NixOs i saw that is possible to rebuild and use the changes in realtime, is or is planned something simalr? When i am configuring my system is a bit annoying waiting for the whole gh action to succeed and then reboot the system
Solution:
If the GitHub Action is too slow for you, though, you could try building locally with the bluebuild cli

Cannot Rebase to Local Image

Running sudo bluebuild rebase ./recipes/recipe.yml results in the following error. Rebasing onto images built via the github workflow work just fine. ```...

How to rebase back to normal fedora atomic?

Is this just a matter of rpm-ostree reset and then rebase to vanilla fedora?
Solution:
Pretty much. I'm unsure of where fedora keeps there public keys so if you can't find that, you might have to rebase to an unsigned image

Unable to get version via inspection

I'm building a custom image based on bazzite-nvidia:testing `bluebuild build ./recipes/recipe.yml INFO => Templating for recipe at ./recipes/recipe.yml INFO => Retrieving OS version from ghcr.io/ublue-os/bazzite-nvidia:testing. This might take a bit...
Solution:
Unfortunately, no, currently the only way we can get the version information is through a label or through actually executing inside the image to get the information

rpm-ostree replace

Using the replace option with a repo that has the following appended ?arch=x86_64, seems to break the module. ``` replace: - from-repo: https://copr.fedorainfracloud.org/coprs/kylegospo/bazzite-multilib/repo/fedora-%OS_VERSION%/kylegospo-bazzite-multilib-fedora-%OS_VERSION%.repo?arch=x86_64...
Solution:
Got the fix out in a PR (https://github.com/blue-build/modules/pull/351) and I tested the change on your recipe at that point in time. It appears to solve the issue

Can't install package via script?

Waveterm isn't in Fedora repos, doesn't have a flatpak, etc, but they do release an rpm file. So I made a script that greps the URL and rpm-ostree installs the latest rpm package. Logs say: [14:09:18 g.i/k/charoite:latest] => #32 12.46 Installing 1 packages: [14:09:18 g.i/k/charoite:latest] => #32 12.46 waveterm-0.8.11-1.x86_64 (@commandline) [14:09:18 g.i/k/charoite:latest] => #32 13.38 Installing: waveterm-0.8.11-1.x86_64 (local) And no errors, the image builds fine, but the application is nowhere to be seen when updating....
Solution:
I've had this issue with other rpms that install to /opt. If that's the case, you need to use the optfix option in your recipe. You'll likely also need to modify the .desktop file so it appears in your menu. Here's how I do it with enpass which installs to /opt/enpass/...: In my recipe under the rpm-ostree module, I add:...

Debian/Ubuntu image with Ostree

Would it be possible to create a debian or ubuntu image with ostree like endless os? https://github.com/dbnicholson/deb-ostree-builder https://github.com/endlessm/eos-updater https://github.com/go-debos/debos...
Solution:
also fyi, vanillaos is based on debian and abroot, and i have an experimental image building here https://github.com/xynydev/vanillin/

Can't update - skopeo error

When trying to run rpm-ostree upgrade, I get the following error:
error: Creating importer: Failed to invoke skopeo proxy method OpenImage: remote error: cryptographic signature verification failed: invalid signature when validating ASN.1 encoded signature
error: Creating importer: Failed to invoke skopeo proxy method OpenImage: remote error: cryptographic signature verification failed: invalid signature when validating ASN.1 encoded signature
...
Solution:
I'll copy my answer: For anyone who encounters this, those are the steps to solve the issue: Copy new cosign.pub from your repo to /etc/pki/containers/$your_image_name.pub...

Build fails because of missing cosign private key

Was there a change in the github action 6.1.2 that affects the cosign signing secret? My github repo doesn't pick it up anymore after switching to 6.1.2. In the logs the `Run BUILD_OPTS=" tag differs from 6.1.1 to 6.1.2 (see images below)
Solution:
Ok, it works again after merging the dependabot branch into main. It apparently didn't get the secret in a different branch (which is weird, because it's a repository secret?)

vconsole.conf issue

I've been having some issues with the eurlatgr font + tuigreet (not drawing borders correctly) so I thought as a solution I could just place a modified vconsole.conf with another font chosen on my repo's /etc folder to be copied over with everything else. I did a fresh install of Sericea on a VM, rebased to my image, and saw that the font still remained eurlatgr despite the image building successfully and all my other files being there. Is there a better way to do this automatically? Curious enough, I checked the vconsole.conf in /usr/etc and it did have the correct font set, I made sure to copy my files to /etc and not /usr/etc too...

crun : Depends: criu but it is not installable

My images haven't been successfully building since 2 days ago. Build fails at the Build Custom Image step. As far as I could see, nobody else seems to be having this problem. https://github.com/mkkvcs/mkblue/actions/runs/11330376666/job/31508062969...
Solution:
This should be fixed for you now

Can I download the material symbols using the font module?

these fonts: https://fonts.google.com/download?icon.size=24&icon.color=%23e8eaed&icon.platform=web I'm pretty sure I can download it, but I just came to confirm ```yaml...
Solution:
Yes, it is possible to download

%OS_VERSION% in containerfile snippets?

Is there a way to use the release version in a containerfile snippet? For example: ```...

"Package Not Found" in rpm-ostree module

https://github.com/gerblesh/uhypr/actions/runs/11303630376/job/31440976360 Build seems to be failing when using too many repositories(?) in the rpm-ostree module. rpm-ostree seems to complaining about a package missing (gui-scale-applet)from the repos when it clearly does exist in the COPR for gui-scale-applet: https://copr.fedorainfracloud.org/coprs/bhh32/gui-scale-applet/ This is likely some form of upstream issue with rpm-ostree, possibly because the repositories aren't being fully updated attempting installing, or it could be something completely different...

add rpm-fusion to my image?

is there any way i can create a script to install the rpm-ostree rpms to my image? i specifically need MPD to be installed by default but the change to negativo17 end up breaking that in my system

replace negativo17 with rpmfusion?

recently, it seems that the upstream ublue main images replaced the rpmfusion repo with negativo17. my issue is that this repository only includes a really small set of applications, mostly just being used by ublue for patched mesa and the like. my issue is that this repo doesn't provide as many applications as rpmfusion or the ones i use, such as mpd, and from the repo directly:
This repository is NOT compatible with RPMFusion, nor it does attempt to replace it as I have no interest in adding any software out there.
so i'm trying to figure out, is there a clean way to remove negativo17 and readd rpmfusion? since it seems like they did replace some components with packages from that repo, and i'm not sure if simply removing the negativo repo and dropping in rpmfusion would mess around with anything. ...

How to change file permissions of an executeable pulled into an image

In my custom image I'm including the secureblue copr of Chromium, which doesn't ship with widevine included. That can be downloaded from google, but needs to be put into a directory in the read-only area, so it must be included in the image. I have done so with this script: https://github.com/Oakleafknight06/startingleaf/blob/main/files/scripts/install-widevine.sh based on this blog post: https://andreafortuna.org/2019/09/24/how-to-install-latest-widevine-plugin-on-chromium/ Which seems like it should work, but the file is not set as executeable properly. How should i do this?...
Next