diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8644ff4..71fdbba 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -76,7 +76,7 @@ jobs: REMOTE_IMAGE_DIGEST: ${{ steps.push.outputs.remote_image_digest }} COSIGN_EXPERIMENTAL: false COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} - run: cosign sign -y --key env://COSIGN_PRIVATE_KEY "${IMAGE_REGISTRY}/${IMAGE_NAME}@${REMOTE_IMAGE_DIGEST}" + run: cosign sign -y --new-bundle-format=false --use-signing-config=false --key env://COSIGN_PRIVATE_KEY "${IMAGE_REGISTRY}/${IMAGE_NAME}@${REMOTE_IMAGE_DIGEST}" - name: Create Job Outputs if: github.event_name != 'pull_request' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) @@ -239,5 +239,5 @@ jobs: podman manifest push --all=false --digestfile=/tmp/digestfile "${TARGET_MANIFEST}" "${TARGET_MANIFEST}:${TAG}" done <<< "${TAGS}" - cosign sign -y --key env://COSIGN_PRIVATE_KEY "${TARGET_MANIFEST}@$(< /tmp/digestfile)" + cosign sign -y --new-bundle-format=false --use-signing-config=false --key env://COSIGN_PRIVATE_KEY "${TARGET_MANIFEST}@$(< /tmp/digestfile)" done diff --git a/README.md b/README.md index f8ee8bd..4b17cad 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ This repository builds an OCI container image that packages: - Security limits and tmpfiles configuration The image is designed to be consumed by custom bootc-based container images. +## Dependencies + +[See upstream Docs](https://docs.brew.sh/Homebrew-on-Linux) ## Using in Custom bootc Images @@ -21,14 +24,23 @@ To include Homebrew in your custom bootc image, copy the files from this reposit ```dockerfile # Copy Homebrew files from the brew image +# And enable COPY --from=ghcr.io/ublue-os/brew:latest /system_files / +RUN --mount=type=cache,dst=/var/cache \ + --mount=type=cache,dst=/var/log \ + --mount=type=tmpfs,dst=/tmp \ + /usr/bin/systemctl preset brew-setup.service && \ + /usr/bin/systemctl preset brew-update.timer && \ + /usr/bin/systemctl preset brew-upgrade.timer + ``` This will: 1. Install the Homebrew tarball to `/usr/share/homebrew.tar.zst` 2. Install all systemd services and timers -3. Add shell integration scripts -4. Configure system limits and tmpfiles +3. Enable all systemd services and timers +4. Add shell integration scripts +5. Configure system limits and tmpfiles On first boot, `brew-setup.service` will automatically: 1. Extract Homebrew to `/var/home/linuxbrew/.linuxbrew` diff --git a/system_files/usr/share/fish/vendor_conf.d/ublue-brew.fish b/system_files/usr/share/fish/vendor_conf.d/ublue-brew.fish index bb6d10d..76c2cc1 100644 --- a/system_files/usr/share/fish/vendor_conf.d/ublue-brew.fish +++ b/system_files/usr/share/fish/vendor_conf.d/ublue-brew.fish @@ -2,7 +2,7 @@ #shellcheck disable=all if status --is-interactive if [ -d /home/linuxbrew/.linuxbrew ] - eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" + eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv fish)" if test -d (brew --prefix)/share/fish/completions set -p fish_complete_path (brew --prefix)/share/fish/completions end