# The minimum required osbuild version, note that this used to be 129 # but got bumped to 138 for librepo support which is not strictly # required. So if this needs backport to places where there is no # recent osbuild available we could simply make --use-librepo false # and go back to 129. %global min_osbuild_version 163 %global goipath github.com/osbuild/image-builder-cli Version: 41 %gometa %global common_description %{expand: A local binary for building customized OS artifacts such as VM images and OSTree commits. Uses osbuild under the hood. } Name: image-builder Release: 1.20251119120901240338.pr374.274.g6ba4502%{?dist} Summary: An image building executable using osbuild ExcludeArch: i686 # Upstream license specification: Apache-2.0 # Others generated with: # $ go_vendor_license -C report expression License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-SA-4.0 AND ISC AND MIT AND MPL-2.0 AND Unlicense URL: %{gourl} Source0: image-builder-cli-41.tar.gz BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} # Build requirements of 'theproglottis/gpgme' package BuildRequires: gpgme-devel BuildRequires: libassuan-devel # Build requirements of 'github.com/containers/storage' package BuildRequires: device-mapper-devel BuildRequires: libxcrypt-devel # Build requiremets of 'github.com/osbuild/images' package BuildRequires: libvirt-devel %if 0%{?fedora} # Build requirements of 'github.com/containers/storage' package BuildRequires: btrfs-progs-devel # DO NOT REMOVE the BUNDLE_START and BUNDLE_END markers as they are used by 'tools/rpm_spec_add_provides_bundle.sh' to generate the Provides: bundled list # BUNDLE_START Provides: bundled(golang(dario.cat/mergo)) = 1.0.2 Provides: bundled(golang(github.com/BurntSushi/toml)) = 011fa2b Provides: bundled(golang(github.com/IBM/go-sdk-core/v5)) = 5.21.0 Provides: bundled(golang(github.com/IBM/ibm-cos-sdk-go)) = 1.12.3 Provides: bundled(golang(github.com/Microsoft/go-winio)) = 0.6.2 Provides: bundled(golang(github.com/Microsoft/hcsshim)) = 0.13.0 Provides: bundled(golang(github.com/VividCortex/ewma)) = 1.2.0 Provides: bundled(golang(github.com/acarl005/stripansi)) = 5a71ef0 Provides: bundled(golang(github.com/asaskevich/govalidator)) = a9d515a Provides: bundled(golang(github.com/aws/aws-sdk-go-v2)) = 1.39.6 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream)) = 1.7.3 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/config)) = 1.31.18 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/credentials)) = 1.18.22 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/feature/ec2/imds)) = 1.18.13 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/feature/s3/manager)) = 1.20.5 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/configsources)) = 1.4.13 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/endpoints/v2)) = 2.7.13 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/ini)) = 1.8.4 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/internal/v4a)) = 1.4.13 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/ec2)) = 1.265.0 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding)) = 1.13.3 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/checksum)) = 1.9.4 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/presigned-url)) = 1.13.13 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/internal/s3shared)) = 1.19.13 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/s3)) = 1.90.0 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/sso)) = 1.30.1 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/ssooidc)) = 1.35.5 Provides: bundled(golang(github.com/aws/aws-sdk-go-v2/service/sts)) = 1.40.0 Provides: bundled(golang(github.com/aws/smithy-go)) = 1.23.2 Provides: bundled(golang(github.com/cheggaaa/pb/v3)) = 3.1.7 Provides: bundled(golang(github.com/clipperhouse/stringish)) = 0.1.1 Provides: bundled(golang(github.com/clipperhouse/uax29/v2)) = 2.3.0 Provides: bundled(golang(github.com/containerd/cgroups/v3)) = 3.0.5 Provides: bundled(golang(github.com/containerd/errdefs)) = 1.0.0 Provides: bundled(golang(github.com/containerd/errdefs/pkg)) = 0.3.0 Provides: bundled(golang(github.com/containerd/stargz-snapshotter/estargz)) = 0.18.1 Provides: bundled(golang(github.com/containerd/typeurl/v2)) = 2.2.3 Provides: bundled(golang(github.com/containers/common)) = 0.64.2 Provides: bundled(golang(github.com/containers/image/v5)) = 5.36.2 Provides: bundled(golang(github.com/containers/libtrust)) = c1716e8 Provides: bundled(golang(github.com/containers/ocicrypt)) = 1.2.1 Provides: bundled(golang(github.com/containers/storage)) = 1.59.1 Provides: bundled(golang(github.com/coreos/go-semver)) = 0.3.1 Provides: bundled(golang(github.com/cyberphone/json-canonicalization)) = 19d51d7 Provides: bundled(golang(github.com/cyphar/filepath-securejoin)) = 0.4.1 Provides: bundled(golang(github.com/davecgh/go-spew)) = d8f796a Provides: bundled(golang(github.com/distribution/reference)) = 0.6.0 Provides: bundled(golang(github.com/docker/distribution)) = 2.8.3+incompatible Provides: bundled(golang(github.com/docker/docker)) = 28.3.3+incompatible Provides: bundled(golang(github.com/docker/docker-credential-helpers)) = 0.9.4 Provides: bundled(golang(github.com/docker/go-connections)) = 0.6.0 Provides: bundled(golang(github.com/docker/go-units)) = 0.5.0 Provides: bundled(golang(github.com/fatih/color)) = 1.18.0 Provides: bundled(golang(github.com/felixge/httpsnoop)) = 1.0.4 Provides: bundled(golang(github.com/gabriel-vasile/mimetype)) = 1.4.8 Provides: bundled(golang(github.com/go-jose/go-jose/v4)) = 4.1.3 Provides: bundled(golang(github.com/go-logr/logr)) = 1.4.3 Provides: bundled(golang(github.com/go-logr/stdr)) = 1.2.2 Provides: bundled(golang(github.com/go-openapi/errors)) = 0.22.0 Provides: bundled(golang(github.com/go-openapi/strfmt)) = 0.23.0 Provides: bundled(golang(github.com/go-playground/locales)) = 0.14.1 Provides: bundled(golang(github.com/go-playground/universal-translator)) = 0.18.1 Provides: bundled(golang(github.com/go-playground/validator/v10)) = 10.26.0 Provides: bundled(golang(github.com/gobwas/glob)) = 0.2.3 Provides: bundled(golang(github.com/gogo/protobuf)) = 1.3.2 Provides: bundled(golang(github.com/golang/groupcache)) = 2c02b82 Provides: bundled(golang(github.com/golang/protobuf)) = 1.5.4 Provides: bundled(golang(github.com/google/go-containerregistry)) = 0.20.6 Provides: bundled(golang(github.com/google/go-intervals)) = 0.0.2 Provides: bundled(golang(github.com/google/uuid)) = 1.6.0 Provides: bundled(golang(github.com/gophercloud/gophercloud/v2)) = 2.8.0 Provides: bundled(golang(github.com/gorilla/mux)) = 1.8.1 Provides: bundled(golang(github.com/hashicorp/errwrap)) = 1.1.0 Provides: bundled(golang(github.com/hashicorp/go-cleanhttp)) = 0.5.2 Provides: bundled(golang(github.com/hashicorp/go-multierror)) = 1.1.1 Provides: bundled(golang(github.com/hashicorp/go-retryablehttp)) = 0.7.8 Provides: bundled(golang(github.com/hashicorp/go-version)) = 1.7.0 Provides: bundled(golang(github.com/inconshreveable/mousetrap)) = 1.1.0 Provides: bundled(golang(github.com/jmespath/go-jmespath)) = b0104c8 Provides: bundled(golang(github.com/json-iterator/go)) = 1.1.12 Provides: bundled(golang(github.com/klauspost/compress)) = 1.18.1 Provides: bundled(golang(github.com/klauspost/pgzip)) = 1.2.6 Provides: bundled(golang(github.com/leodido/go-urn)) = 1.4.0 Provides: bundled(golang(github.com/letsencrypt/boulder)) = de9c061 Provides: bundled(golang(github.com/mattn/go-colorable)) = 0.1.14 Provides: bundled(golang(github.com/mattn/go-isatty)) = 0.0.20 Provides: bundled(golang(github.com/mattn/go-runewidth)) = 0.0.19 Provides: bundled(golang(github.com/mattn/go-sqlite3)) = 1.14.28 Provides: bundled(golang(github.com/miekg/pkcs11)) = 1.1.1 Provides: bundled(golang(github.com/mistifyio/go-zfs/v3)) = 3.1.0 Provides: bundled(golang(github.com/mitchellh/mapstructure)) = 1.5.0 Provides: bundled(golang(github.com/moby/docker-image-spec)) = 1.3.1 Provides: bundled(golang(github.com/moby/sys/capability)) = 0.4.0 Provides: bundled(golang(github.com/moby/sys/mountinfo)) = 0.7.2 Provides: bundled(golang(github.com/moby/sys/user)) = 0.4.0 Provides: bundled(golang(github.com/modern-go/concurrent)) = bacd9c7 Provides: bundled(golang(github.com/modern-go/reflect2)) = 1.0.2 Provides: bundled(golang(github.com/oklog/ulid)) = 1.3.1 Provides: bundled(golang(github.com/opencontainers/go-digest)) = 1.0.0 Provides: bundled(golang(github.com/opencontainers/image-spec)) = 1.1.1 Provides: bundled(golang(github.com/opencontainers/runtime-spec)) = 1.3.0 Provides: bundled(golang(github.com/opencontainers/selinux)) = 1.12.0 Provides: bundled(golang(github.com/osbuild/blueprint)) = 1.16.0 Provides: bundled(golang(github.com/osbuild/bootc-image-builder/bib)) = b20891f Provides: bundled(golang(github.com/osbuild/images)) = 0.221.0 Provides: bundled(golang(github.com/pkg/errors)) = 0.9.1 Provides: bundled(golang(github.com/pmezard/go-difflib)) = 5d4384e Provides: bundled(golang(github.com/proglottis/gpgme)) = 0.1.5 Provides: bundled(golang(github.com/secure-systems-lab/go-securesystemslib)) = 0.9.1 Provides: bundled(golang(github.com/sigstore/fulcio)) = 1.8.1 Provides: bundled(golang(github.com/sigstore/protobuf-specs)) = 0.5.0 Provides: bundled(golang(github.com/sigstore/sigstore)) = 181c5d3 Provides: bundled(golang(github.com/sirupsen/logrus)) = 1.9.3 Provides: bundled(golang(github.com/smallstep/pkcs7)) = 0.1.1 Provides: bundled(golang(github.com/spf13/cobra)) = 1.10.1 Provides: bundled(golang(github.com/spf13/pflag)) = 1.0.10 Provides: bundled(golang(github.com/stefanberger/go-pkcs11uri)) = 7828495 Provides: bundled(golang(github.com/stretchr/testify)) = 1.11.1 Provides: bundled(golang(github.com/sylabs/sif/v2)) = 2.21.1 Provides: bundled(golang(github.com/tchap/go-patricia/v2)) = 2.3.3 Provides: bundled(golang(github.com/titanous/rocacheck)) = afe7314 Provides: bundled(golang(github.com/ulikunitz/xz)) = 0.5.15 Provides: bundled(golang(github.com/vbatts/tar-split)) = 0.12.2 Provides: bundled(golang(github.com/vbauerster/mpb/v8)) = 8.10.2 Provides: bundled(golang(go.mongodb.org/mongo-driver)) = 1.17.2 Provides: bundled(golang(go.opencensus.io)) = 0.24.0 Provides: bundled(golang(go.opentelemetry.io/auto/sdk)) = 1.1.0 Provides: bundled(golang(go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp)) = 0.63.0 Provides: bundled(golang(go.opentelemetry.io/otel)) = 1.38.0 Provides: bundled(golang(go.opentelemetry.io/otel/metric)) = 1.38.0 Provides: bundled(golang(go.opentelemetry.io/otel/trace)) = 1.38.0 Provides: bundled(golang(go.yaml.in/yaml/v2)) = 2.4.3 Provides: bundled(golang(go.yaml.in/yaml/v3)) = 3.0.4 Provides: bundled(golang(golang.org/x/crypto)) = 0.43.0 Provides: bundled(golang(golang.org/x/exp)) = a4bb9ff Provides: bundled(golang(golang.org/x/net)) = 0.46.0 Provides: bundled(golang(golang.org/x/sync)) = 0.17.0 Provides: bundled(golang(golang.org/x/sys)) = 0.37.0 Provides: bundled(golang(golang.org/x/term)) = 0.36.0 Provides: bundled(golang(golang.org/x/text)) = 0.30.0 Provides: bundled(golang(google.golang.org/genproto/googleapis/api)) = 3a174f9 Provides: bundled(golang(google.golang.org/genproto/googleapis/rpc)) = 3a174f9 Provides: bundled(golang(google.golang.org/grpc)) = 1.76.0 Provides: bundled(golang(google.golang.org/protobuf)) = 1.36.10 Provides: bundled(golang(gopkg.in/ini.v1)) = 1.67.0 Provides: bundled(golang(gopkg.in/yaml.v3)) = 3.0.1 Provides: bundled(golang(libvirt.org/go/libvirt)) = 1.11006.0 Provides: bundled(golang(sigs.k8s.io/yaml)) = 1.5.0 # BUNDLE_END %endif Requires: osbuild >= %{min_osbuild_version} Requires: osbuild-ostree >= %{min_osbuild_version} Requires: osbuild-lvm2 >= %{min_osbuild_version} Requires: osbuild-luks2 >= %{min_osbuild_version} Requires: osbuild-depsolve-dnf >= %{min_osbuild_version} %description %{common_description} %prep %if 0%{?rhel} %forgeautosetup -p1 %else %goprep -k %endif %build export GOFLAGS="-buildmode=pie" %if 0%{?rhel} GO_BUILD_PATH=$PWD/_build install -m 0755 -vd $(dirname $GO_BUILD_PATH/src/%{goipath}) ln -fs $PWD $GO_BUILD_PATH/src/%{goipath} cd $GO_BUILD_PATH/src/%{goipath} install -m 0755 -vd _bin export PATH=$PWD/_bin${PATH:+:$PATH} export GOPATH=$GO_BUILD_PATH:%{gopath} export GOFLAGS+=" -mod=vendor" %endif %if 0%{?fedora} # Fedora disables Go modules by default, but we want to use them. # Undefine the macro which disables it to use the default behavior. %undefine gomodulesmode %endif # btrfs-progs-devel is not available on RHEL %if 0%{?rhel} GOTAGS="exclude_graphdriver_btrfs" %endif export LDFLAGS="${LDFLAGS} -X 'main.version=%{version}'" %gobuild ${GOTAGS:+-tags=$GOTAGS} -o %{gobuilddir}/bin/image-builder %{goipath}/cmd/image-builder %install install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/image-builder %{buildroot}%{_bindir}/ %check export GOFLAGS="-buildmode=pie" %if 0%{?rhel} export GOFLAGS+=" -mod=vendor -tags=exclude_graphdriver_btrfs" export GOPATH=$PWD/_build:%{gopath} # cd inside GOPATH, otherwise go with GO111MODULE=off ignores vendor directory cd $PWD/_build/src/%{goipath} %gotest ./... %else %gocheck %endif %files %license LICENSE %doc README.md %{_bindir}/image-builder %changelog # the changelog is distribution-specific, therefore there's just one entry # to make rpmlint happy. * Wed Nov 19 2025 Packit - 41-1.20251119120901240338.pr374.274.g6ba4502 - cmd: make bootc-image-builder a multi-call binary of ibcli (Michael Vogt) - bib: rename bib source to prefix bib_ (Michael Vogt) - bib: rename upload to bibUplaod (Michael Vogt) - go.mod: update images to v0.221.0 (Michael Vogt) - bib: update go imports (Michael Vogt) - bib: update for latest image release (Michael Vogt) - bib: use image to generate the rpm ISO (Michael Vogt) - bib: simplify saveManifest() (Michael Vogt) - bib: drop unused workload.go (Michael Vogt) - bib: add support for `--type bootc-installer` (Michael Vogt) - bib: expose new `ova` image type in bib (Michael Vogt) - imagetypes: mark rpm based ISOs as `legacy` (Michael Vogt) - bib: add a new `gce` image type (Michael Vogt) - bib: move main/image to use new `imagetypes` package (Michael Vogt) - internal: add new `imagetypes` package to centralize new img types (Michael Vogt) - bib: add support for `--type bootc-installer` (Michael Vogt) - bib: update for v0.211 api change (Michael Vogt) - main: add regression test for aws upload target arch error (Michael Vogt) - Revert "iso: inhibit `gpt-auto`" (Simon de Vlieger) - iso: images compatibility (Simon de Vlieger) - iso: inhibit `gpt-auto` (Simon de Vlieger) - legacy_iso: update lorax handling for images PR#1886 (Michael Vogt) - bib: update to images version v0.197.0 (Michael Vogt) - imagetypes: mark rpm based ISOs as `legacy` (Michael Vogt) - main: move legacy ISO code into legacy_iso.go (Michael Vogt) - main: put ISO/disk code into proper functions (Michael Vogt) - bib: move helpers into util.go (Michael Vogt) - deps: images 0.191.0 (Simon de Vlieger) - bib: drop tests that moved to "images/pkg/distro/bootc" (Michael Vogt) - bib: remove partition_table.go -> moved to images (Michael Vogt) - many: switch to use manifests from the "images" library (Michael Vogt) - bib: update to the images v0.183.0 API changes (Michael Vogt) - Write boot partition for aboot images (Alexander Larsson) - bib: move bib to new platform.Data{} (Michael Vogt) - bib: fix AWS upload with empty target-arch (Michael Vogt) - bib: enable anaconda Module{Network,Payload,Runtime,Storage} (Michael Vogt) - main: update for v0.177 API changes (Michael Vogt) - image: update blueprint import path (Michael Vogt) - bib: simplify extractTLSKeys() (Michael Vogt) - feat: add support for RISC-V architecture in disk image and partition table (Guoguo) - bib: replace internal/{buildconfig,container,source} with images (Michael Vogt) - Use rootfs when generating ISO (Mbarak Bujra) - image: update bib for latest images (Michael Vogt) - bib: fix `TestManifestSerialization` tests (Michael Vogt) - bib: tweak architecture setting in tests (Michael Vogt) - Clarify we build disk images (Colin Walters) - image: Always enable verity on the rootfs partition (Alexander Larsson) - bib: Add --build-container to run the build in a custom container (Alexander Larsson) - bib: Extract what SELinux policy to us from container (Alexander Larsson) - bib: Update to new osbuild-image arch.FromString() API (Alexander Larsson) - image: Apply disk or filesystem customization from embedded image customization (Alexander Larsson) - image: set ISOBoot to Grub2ISOBoot for x86_64 (Takuya Wakazono) - main: drop rootfs cross-arch disable (Simon de Vlieger) - bib/cmd/bootc-image-builder: check error of file.Close() when writing (Florian Schüller) - bib: fix linter problems (Florian Schüller) - image: set `UseRHELLoraxTemplates` only on rhel/centos/eln (Michael Vogt) - bib: add experimental flag `debug-qemu-user` (Michael Vogt) - imports: get from image-builder (Simon de Vlieger) - main: switch to librepo by default (Michael Vogt) - bib: add support for file/directory customizations (Michael Vogt) - go.mod: update osbuild/images to v0.118.0 (Achilleas Koutsou) - progress: add `progress.OSBuildOptions` struct (Michael Vogt) - bib: use the new uploader interface from images (Michael Vogt) - bib: disable `--tls-verify` flag (Gianluca Zuccarelli) - bib: deprecate the `--local` flag (Gianluca Zuccarelli) - progress: move from an internal package to external (Michael Vogt) - main: add new `--use-librepo` switch (Michael Vogt) - image: port to latest images API change (Michael Vogt) - main: add --verbose,-v persistent flag that increases verbosity (Michael Vogt) - main,test: tweak cmdVersion (Michael Vogt) - bib: rename "plain" progress to "verbose" progress (Michael Vogt) - bib: make `--progress=auto` the default (Michael Vogt) - main: add example `--progress` values in the help string (Michael Vogt) - bib: use plain squashfs for the ISO rootfs (Michael Vogt) - bib: remove usage of `BootcLegacyDiskImage` (for qemu-9.1) (Michael Vogt) - cmd/bootc-image-builder/main: Introduce error handling (Florian Schüller) - cmd/bootc-image-builder/main: Change version output parser friendly (Florian Schüller) - bootc-image-builder/main: extend version command (Florian Schüller) - bootc-image-builder/main: improve command line help (Florian Schüller) - cloud: temporary stop progress before uploading (Michael Vogt) - cmd: tweak/clarify the lifecycle of the progressbar (Michael Vogt) - progress: simplify/tweak Progress interface (Michael Vogt) - main,osbuildprogress: add `--progress=term,plain,debug` support (Michael Vogt) - bib: improve the "/" size calculation for LVM (Michael Vogt) - bib: add hardcoded `requiredDirectorySizes` in custom partitions (Michael Vogt) - bib: load repo keys using external paths (Achilleas Koutsou) - image: run ValidateLayoutConstraints() when using DiskCustomizations (Michael Vogt) - bib: extract new partition table helpers and add new DiskCustomization (Michael Vogt) - fix: set fips in manifest according to our customizations (Steven Peralta) - bib: update "gpt" -> disk.PT_GPT (Michael Vogt) - image: add platform support for s390x, ppc64le in the ISO (Michael Vogt) - internal: move `cntdnf` code back into `container` (Michael Vogt) - bib: add new `cntdnf` go module and move container dnf logic in there (Michael Vogt) - bib: add test for DNF solver inside the container for subscribed content (Michael Vogt) - bib: run "dnf" inside the container again (Michael Vogt) - fix: use remove-signatures in skopeo copy stages (Miguel Martín) - feat: use a libosinfo compatible label format (Miguel Martín) - bib: add final newline after `bib manifest` (Michael Vogt) - bib: update code to support images API change from PR#930 (Michael Vogt) - bib: move main/image to use new `imagetypes` package (Michael Vogt) - bib: add `vhd` to supported image types (Michael Vogt) - bib: fix injecting default "build" arg into root for flags like --local (Michael Vogt) - bib: update to images v0.78 and update for API changes (Michael Vogt) - bib: make build the default subcommand (Ondřej Budai) - image: extract genPartitionTable() helper and add unit tests (Michael Vogt) - bib: set filesystem type for all filesystems to match rootfs (Achilleas Koutsou) - bib: update the comment about filesystem types in cross-arch builds (Achilleas Koutsou) - bib: set the RootFSType for cross-arch builds (Achilleas Koutsou) - bib: enforce rootfs to be non-empty (Achilleas Koutsou) - bib: fix typo in warning: prefered -> preferred (Achilleas Koutsou) - bib: test UpdateFilesystemSizes() (Achilleas Koutsou) - image: correctly set root minsize and type (Achilleas Koutsou) - bib: pass only fs customizations to checkFilesystemCustomizations() (Achilleas Koutsou) - bib: propagate error messages from policy.Check() (Achilleas Koutsou) - bib: allow only minimal filesystem customizations for btrfs (Achilleas Koutsou) - bib: move base partition table checks into tests (Achilleas Koutsou) - bib: test the mountpoint policy checker (Achilleas Koutsou) - bib: new custom mountpoint policy (allow /var subdirs) (Achilleas Koutsou) - go.mod: update images to v0.76.0 (Achilleas Koutsou) - bib: enable customizing anaconda modules (Achilleas Koutsou) - bib: use anaconda package constants for module names (Achilleas Koutsou) - bib: support multiple distro versions in a distrodef (Michael Vogt) - test: fix test for `bootc-image-builder --version` when in non-git (Michael Vogt) - partitions: Switch aarch64 to GPT, fully deduplicate (Colin Walters) - bib: skip rootfs handling when building ISOs (Achilleas Koutsou) - Use the dnf repos from the container for depsolving the manifest (Brian C. Lane) - bib: Add support for ppc64le partition table (Sachin Sant) - Add support for ppc64le architecture (Sachin Sant) - bib: Add support for s390x architecture (Yohei Ueda) - bib: enable Anaconda Services and Security modules (Achilleas Koutsou) - bib: enable Anaconda Users module for ISO (Achilleas Koutsou) - main: allow running outside of a container (Michael Vogt) - bootc-image-builder: add img.OSVersion to container installer (Michael Vogt) - bib: add btrfs support (Ondřej Budai) - bib: change octal literal prefix (bstrausser) - bib/internal/setup: validate container tags early (bstrausser) - bib: when doing a `podman pull` connect stderr (Michael Vogt) - bootc-image-builder: set Kickstart options on image (Achilleas Koutsou) - bib: add (hidden) `bootc-image-builder version` command (Michael Vogt) - bib: use `util.OutputErr()` in manifestFromCobra() (Michael Vogt) - main: set `SilenceErrors` to avoid double error printing (Michael Vogt) - bib: improve error when a container does not contain a default rootfs (Michael Vogt) - bib: use RHEL lorax templates only for el-like systems and eln (Ondřej Budai) - go.mod: bump images (Ondřej Budai) - image: only allow tweaks to /, /boot for now (Michael Vogt) - bib: make image_test.go follow the $pkg_test go pattern (Michael Vogt) - Check blueprint mountpoints against OSTree mountpoint policies (Brian C. Lane) - Use blueprint filesystem customizations to create partitions (Brian C. Lane) - README,bib: hide `--config` from users, remove from docs (Michael Vogt) - bib: detect missing qemu-user early (Michael Vogt) - bib: add --roofs to be able to select the root fs type (Ondřej Budai) - buildconfig: make buildconfig blueprint compatible and support legacy (Michael Vogt) - bib: tweak target arch check (Michael Vogt) - bib: allow blueprints in toml as well (Michael Vogt) - main: Wire up --log-level, add some debug logging (Colin Walters) - bib: workaround missing BLKBSZSET in cross arch build (Michael Vogt) - bib: respect the root fs type from the container (Ondřej Budai) - partitions: Also make `/` ro by default (Colin Walters) - bib: check that architecture is expected arch (Michael Vogt) - Fix passing the --tls-verify flag to podman pull (Ondřej Budai) - image: bring back distro-specific runners (Ondřej Budai) - internal/source: Factor our OSRelease from Info (Ondřej Budai) - bib: get mTLS keys from the repositories and pass them to osbuild (Ondřej Budai) - bib: propagate repos to serialization (Ondřej Budai) - bib: init DNF before depsolving to get RHEL repos (Ondřej Budai) - bib: use the container itself as a depsolving root (Ondřej Budai) - bib: factor out the ISO packages into YAML definitions (Ondřej Budai) - bib: use a generic distribution for the iso manifest (Ondřej Budai) - bib: use UEFI vendor and product name from the image (Ondřej Budai) - bib: read the distro information from os-release (Ondřej Budai) - main: move container pulling one-layer up (Ondřej Budai) - bib: enable kernel options and network on boot in ISO installer (Michael Vogt) - image: enable `org.fedoraproject.Anaconda.Modules.Users` if needed (Michael Vogt) - bib: simplify getContainerSize() (Michael Vogt) - bib: show error details from podman if `podman pull` fails (Michael Vogt) - bib: ignore --target-arch if it is the same as the running arch (Michael Vogt) - main: decorate more errors with context and avoid panics (Michael Vogt) - bib: always set an architecture in the go unit tests (Michael Vogt) - bib: use "legacy" build pipeline when doing a cross arch build (Michael Vogt) - bib: update test to match latest implementation in images (Michael Vogt) - bib: port to latest "images" lib version with bootc customizations (Michael Vogt) - tests: rename nexpStages to notExpectedStages (Michael Vogt) - Automatically pick up `/config.json` if it exists (Colin Walters) - bib: use target architecture for buildroot as well (Michael Vogt) - bib: use logrus.Info() for the AWS check reporting (Michael Vogt) - bib: extract handleAWSFlags() helper (Michael Vogt) - main: check s3 bucket access before starting HMS-3099 (Florian Schüller) - bib: check /var/lib/containers/storage when using "--local" (Michael Vogt) - bib: tweak docstrings and vars (thanks Colin!) (Michael Vogt) - main: double container size as the min size of "/" (Michael Vogt) - bib: move to cheggaaa/pb/v3 (Michael Vogt) - Updated missing types in help and docs (Andrew Block) - main: Add a missing new-line to a debug print (Ondřej Budai) - image: deduplicate containerSource (Ondřej Budai) - main: switch to using containers-storage even without --local (Ondřej Budai) - bib: convert image types to BuildType (Michael Vogt) - bib: drop image format and set filename as "disk" (Achilleas Koutsou) - bib: select the first image type for generating manifest (Achilleas Koutsou) - bib: append the vmdk pipeline to the exports (Achilleas Koutsou) - deps: update osbuild/images to v0.46.0 (Achilleas Koutsou) - main: enable containers-storage (Gianluca Zuccarelli) - bib: append all image types to manifest filename (Achilleas Koutsou) - bib: use the right export path for uploading the ami (Achilleas Koutsou) - bib: map the image types to their export pipelines (Achilleas Koutsou) - bib: generate qcow2 manifest as superset of all disk builds (Achilleas Koutsou) - bib: replace anaconda-iso with iso internally (Achilleas Koutsou) - Allow users to specify multipe types (Daniel J Walsh) - Add support for vmdk (Colin Walters) - bib: add err prefix to chownR() (Michael Vogt) - Sort strings, to make them look cleaner (Daniel J Walsh) - Allow caller to specify the --chown UID:GID of the output directory. (Daniel J Walsh) - Ensure root_t label for /store (Colin Walters) - bib: adjust to the latest images changes (Ondřej Budai) - bib: show progress on ami upload (Michael Vogt) - bib: support uploading to `--target-arch` as well (Michael Vogt) - bib: avoid duplicating resolvers (Michael Vogt) - Rename `iso` -> `anaconda-iso` (Colin Walters) - Mount /boot ro by default (Colin Walters) - Drain logic from entrypoint into Go code (Colin Walters) - bib: test for non-existent users stage with base config (Achilleas Koutsou) - bib: add stage checks to manifest serialization test (Achilleas Koutsou) - bib: add some manifest serialization unit tests (Achilleas Koutsou) - bib: add some manifest generation unit tests (Achilleas Koutsou) - bib: add cross arch building (Michael Vogt) - bib: use the Linux runner for building disk images (Achilleas Koutsou) - bib: use container based buildroot when building bootc disk images (Michael Vogt) - fedora-eln.json: move to snapshot repos (Michael Vogt) - main: `SilenceUsage: true` by default (Colin Walters) - main: use `return err` in most places instead of `log.Fatalf()` (Michael Vogt) - image: return errors to caller instead of log.Fatalf() (Michael Vogt) - many: use `if err` and log.Fatalf() instead of check()/fail() (Michael Vogt) - bib: implemnt `bootc-image-builder manifest` (Michael Vogt) - bib: add "raw" iamge format (Michael Vogt) - main: check credentials by listing regions HMS-3329 (Florian Schüller) - bib/image: set the product name for the ISO (Ondřej Budai) - image: remove `ref` (Simon de Vlieger) - bib: document `iso` option for `type` (Simon de Vlieger) - iso: compress squashfs with `zstd` (Simon de Vlieger) - iso: consolidate package lists (Simon de Vlieger) - bug: tlsverify pointer (Simon de Vlieger) - iso: be able to build the ISO (Simon de Vlieger) - Validate that we're in rootful podman (Colin Walters) - Move some helpers into modules (Colin Walters) - Move `prepare.sh` into Go code (Colin Walters) - Move build logic into `build` sub-command verb (Colin Walters) - bib/cmd/bootc-image-builder: more detailed error output. HMS-3305 (Florian Schüller) - bib: using awscloud.NewDefault() to cover all usecases. HMS-3305 (Florian Schüller) - bib: test chown checker (Achilleas Koutsou) - bib: check if we can chown in the output path (Achilleas Koutsou) - image: Add a TODO for kargs (Colin Walters) - Remove extraneous newlines from errors (Colin Walters) - image: Hoist up hardcoded constant, add TODO (Colin Walters) - cmd/bootc-image-builder: upload AMI when flags are specified (Achilleas Koutsou) - cmd/bootc-image-builder: uploadAMI() helper function (Achilleas Koutsou) - bib: remove explicit depsolver path (Achilleas Koutsou) - bib: add --tls-verify argument (Ondřej Budai) - bib: make the seed random (Ondřej Budai) - bib: create a ManifestConfig struct to hold all configuration (Ondřej Budai) - bib: prune BuildConfig (Ondřej Budai) - bib: suppress warnings from logrus (Achilleas Koutsou) - bib: don't print the config name (Achilleas Koutsou) - bib: add ami image type (Achilleas Koutsou) - bib: use img.ContainerBuildable = true (Michael Vogt) - bib: create users and groups defined in config (Achilleas Koutsou) - rename odc to bib (Ondřej Budai) - github: disable gomod updates with dependabot (Achilleas Koutsou) - ghaction/release: Pass Slack bot token instead of webhook (Simon Steinbeiss) - ghaction/release: Switch to `main` branch of the action (Simon Steinbeiss) - ci: split gobump into two PRs (Lukas Zapletal) - many: metrics option for stage durations (Lukas Zapletal) - progress: allow printing after progress is done (Lukas Zapletal) - github: pull pyproject.toml as well (Michael Vogt) - go.mod: move to images v0.218 (Michael Vogt) - Post release version bump (schutzbot) * Fri Jan 24 2025 Image Builder team - 0-1 - On this day, this project was born and the RPM created.