Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions Schutzfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,21 @@
"centos-9": {
"dependencies": {
"osbuild": {
"commit": "7d59370ca7d727af588471300baeb82e80c8d3a0"
"commit": "f295fc5489eb47d22f97408c33e5a4e7c11e1cd1"
}
}
},
"centos-10": {
"dependencies": {
"osbuild": {
"commit": "7d59370ca7d727af588471300baeb82e80c8d3a0"
"commit": "f295fc5489eb47d22f97408c33e5a4e7c11e1cd1"
}
}
},
"fedora-42": {
"dependencies": {
"osbuild": {
"commit": "7d59370ca7d727af588471300baeb82e80c8d3a0"
"commit": "f295fc5489eb47d22f97408c33e5a4e7c11e1cd1"
}
},
"repos": [
Expand Down Expand Up @@ -73,14 +73,14 @@
"fedora-43": {
"dependencies": {
"osbuild": {
"commit": "7d59370ca7d727af588471300baeb82e80c8d3a0"
"commit": "f295fc5489eb47d22f97408c33e5a4e7c11e1cd1"
}
}
},
"fedora-44": {
"dependencies": {
"osbuild": {
"commit": "7d59370ca7d727af588471300baeb82e80c8d3a0"
"commit": "f295fc5489eb47d22f97408c33e5a4e7c11e1cd1"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion data/dependencies/deps_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ import (
)

func TestMinimumOSBuildVersion(t *testing.T) {
assert.Equal(t, "163", dependencies.MinimumOSBuildVersion())
assert.Equal(t, "167", dependencies.MinimumOSBuildVersion())
}
2 changes: 1 addition & 1 deletion data/dependencies/osbuild
Original file line number Diff line number Diff line change
@@ -1 +1 @@
163
167
24 changes: 20 additions & 4 deletions data/distrodefs/fedora/imagetypes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,6 @@


installer_config: &default_installer_config
iso_rootfs_type: "squashfs"
enabled_anaconda_modules: &install_config_enabled_anaconda_modules
- "org.fedoraproject.Anaconda.Modules.Localization"
- "org.fedoraproject.Anaconda.Modules.Network"
Expand All @@ -549,12 +548,17 @@
lorax_logos_package: fedora-logos
lorax_release_package: fedora-release
install_weak_deps: true
conditions: &default_installer_config_conditions

iso_config: &default_iso_config
preparer: "image-builder - https://osbuild.org/"
publisher: "Fedora Project"
rootfs_type: "squashfs"
conditions:
"x86_64 uses grub2":
when:
arch: "x86_64"
shallow_merge:
iso_boot_type: "grub2"
boot_type: "grub2"

image_config:
iot_enabled_services: &image_config_iot_enabled_services
Expand Down Expand Up @@ -1932,6 +1936,7 @@ image_types:
installer_config:
<<: *default_installer_config
default_menu: 0
iso_config: *default_iso_config
image_config:
<<: *image_config_iot_enabled_services
locale: "en_US.UTF-8"
Expand Down Expand Up @@ -1982,7 +1987,7 @@ image_types:
# them to empty to avoid changing the live-installer definition
additional_dracut_modules: []
# also reset the condition that adds dracut modules

iso_config: *default_iso_config
image_config:
locale: "en_US.UTF-8"
package_sets:
Expand Down Expand Up @@ -2067,6 +2072,7 @@ image_types:
- "org.fedoraproject.Anaconda.Modules.Runtime"
- "org.fedoraproject.Anaconda.Modules.Storage"
- "org.fedoraproject.Anaconda.Modules.Users"
iso_config: *default_iso_config
image_config:
locale: "en_US.UTF-8"
platforms:
Expand Down Expand Up @@ -2302,6 +2308,14 @@ image_types:
installer_config:
<<: *default_installer_config
default_menu: 0
iso_config:
boot_type: "grub2-uefi"
conditions:
"x86_64 uses syslinux":
when:
arch: "x86_64"
shallow_merge:
boot_type: "syslinux"
image_config:
<<: *image_config_iot
ignition_platform: "metal"
Expand Down Expand Up @@ -2435,6 +2449,7 @@ image_types:
- ["/usr/share/licenses/fedora-release-common/Fedora-Legal-README.txt", "/Fedora-Legal-README.txt"]
- ["/usr/share/licenses/fedora-release-common/LICENSE", "/LICENSE"]
install_weak_deps: false
iso_config: *default_iso_config
image_config:
locale: "en_US.UTF-8"
package_sets:
Expand Down Expand Up @@ -2664,6 +2679,7 @@ image_types:
# still keep the config here so that there is a single place for
# all imagetype configs.
installer_config: *default_installer_config
iso_config: *default_iso_config
package_sets:
installer:
- include:
Expand Down
9 changes: 7 additions & 2 deletions data/distrodefs/rhel-10/imagetypes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,6 @@
- "ipmi_devintf"
- "ipmi_msghandler"
default_menu: 1
iso_rootfs_type: "squashfs"
lorax_template_package: lorax-templates-rhel
lorax_templates:
- path: 80-rhel/runtime-postinstall.tmpl
Expand All @@ -173,12 +172,15 @@
lorax_logos_package: redhat-logos
lorax_release_package: redhat-release
install_weak_deps: true

default_iso_config: &default_iso_config
rootfs_type: "squashfs"
conditions:
"x86_64 uses grub2":
when:
arch: "x86_64"
shallow_merge:
iso_boot_type: "grub2"
boot_type: "grub2"

sapapps_image_config: &sapapps_image_config
selinux_config:
Expand Down Expand Up @@ -1724,6 +1726,7 @@ image_types:
exports: ["bootiso"]
required_partition_sizes: *default_required_dir_sizes
installer_config: *default_installer_config
iso_config: *default_iso_config
platforms:
- *x86_64_installer_platform
- *aarch64_platform
Expand Down Expand Up @@ -2168,6 +2171,7 @@ image_types:
exports: ["bootiso"]
required_partition_sizes: *default_required_dir_sizes
installer_config: *default_installer_config
iso_config: *default_iso_config
image_config:
locale: "en_US.UTF-8"
platforms:
Expand Down Expand Up @@ -2299,6 +2303,7 @@ image_types:
# still keep the config here so that there is a single place for
# all imagetype configs.
installer_config: *default_installer_config
iso_config: *default_iso_config
package_sets:
installer:
- include:
Expand Down
10 changes: 8 additions & 2 deletions data/distrodefs/rhel-8/imagetypes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -934,7 +934,6 @@
additional_dracut_modules:
- "ifcfg"
default_menu: 1
iso_rootfs_type: "squashfs-ext4"
lorax_template_package: lorax-templates-rhel
lorax_templates:
- path: 80-rhel/runtime-postinstall.tmpl
Expand All @@ -943,12 +942,15 @@
lorax_logos_package: redhat-logos
lorax_release_package: redhat-release
install_weak_deps: true

default_iso_config: &default_iso_config
rootfs_type: "squashfs-ext4"
conditions:
"x86_64 uses syslinux":
when:
arch: "x86_64"
shallow_merge:
iso_boot_type: "syslinux"
boot_type: "syslinux"

partitioning:
ids:
Expand Down Expand Up @@ -1936,6 +1938,7 @@ image_types:
exports: ["bootiso"]
required_partition_sizes: *default_required_dir_sizes
installer_config: *default_installer_config
iso_config: *default_iso_config
platforms:
# TODO: Use x86_64_installer_platform for all anaconda images
- <<: *x86_64_bios_platform
Expand Down Expand Up @@ -2232,6 +2235,7 @@ image_types:
installer_config:
<<: *default_installer_config
default_menu: 0
iso_config: *default_iso_config
platforms:
- *x86_64_uefi_platform
- *aarch64_platform
Expand Down Expand Up @@ -2315,6 +2319,7 @@ image_types:
additional_dracut_modules:
- "prefixdevname"
- "prefixdevname-tools"
iso_config: *default_iso_config
platforms:
- <<: *x86_64_uefi_platform
- <<: *aarch64_platform
Expand Down Expand Up @@ -2860,6 +2865,7 @@ image_types:
exports: ["bootiso"]
required_partition_sizes: *default_required_dir_sizes
installer_config: *default_installer_config
iso_config: *default_iso_config
image_config:
locale: "en_US.UTF-8"
platforms:
Expand Down
10 changes: 9 additions & 1 deletion data/distrodefs/rhel-9/imagetypes.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1230,12 +1230,15 @@
lorax_logos_package: redhat-logos
lorax_release_package: redhat-release
install_weak_deps: true

default_iso_config: &default_iso_config
conditions:
"x86_64 uses syslinux":
when:
arch: "x86_64"
shallow_merge:
iso_boot_type: "syslinux"
boot_type: "syslinux"

supported_options_lists:
# Common options supported by all disk image types.
# This includes everything that is not specific to installers or
Expand Down Expand Up @@ -2299,6 +2302,7 @@ image_types:
- <<: *aarch64_platform
fips_menu: true
installer_config: *default_installer_config
iso_config: *default_iso_config
image_config:
locale: "C.UTF-8"
package_sets:
Expand Down Expand Up @@ -2896,6 +2900,7 @@ image_types:
installer_config:
<<: *default_installer_config
default_menu: 0
iso_config: *default_iso_config
image_config:
enabled_services: *enabled_services_edge
locale: "en_US.UTF-8"
Expand Down Expand Up @@ -2938,6 +2943,7 @@ image_types:
additional_dracut_modules:
- "prefixdevname"
- "prefixdevname-tools"
iso_config: *default_iso_config
platforms:
- <<: *x86_64_uefi_platform
- <<: *aarch64_platform
Expand Down Expand Up @@ -3235,6 +3241,7 @@ image_types:
exports: ["bootiso"]
required_partition_sizes: *default_required_dir_sizes
installer_config: *default_installer_config
iso_config: *default_iso_config
image_config:
locale: "en_US.UTF-8"
platforms:
Expand Down Expand Up @@ -3404,6 +3411,7 @@ image_types:
# still keep the config here so that there is a single place for
# all imagetype configs.
installer_config: *default_installer_config
iso_config: *default_iso_config
package_sets:
installer:
- include:
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ require (
github.com/opencontainers/go-digest v1.0.0
github.com/opencontainers/image-spec v1.1.1
github.com/oracle/oci-go-sdk/v54 v54.0.0
github.com/osbuild/blueprint v1.20.0
github.com/osbuild/blueprint v1.22.0
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.9.1
github.com/spf13/pflag v1.0.7
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -378,8 +378,8 @@ github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplU
github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U=
github.com/oracle/oci-go-sdk/v54 v54.0.0 h1:CDLjeSejv2aDpElAJrhKpi6zvT/zhZCZuXchUUZ+LS4=
github.com/oracle/oci-go-sdk/v54 v54.0.0/go.mod h1:+t+yvcFGVp+3ZnztnyxqXfQDsMlq8U25faBLa+mqCMc=
github.com/osbuild/blueprint v1.20.0 h1:O1FzTXhCxxwquROttv2nC827JYUJCT0rLypAltV2MpM=
github.com/osbuild/blueprint v1.20.0/go.mod h1:HPlJzkEl7q5g8hzaGksUk7ifFAy9QFw9LmzhuFOAVm4=
github.com/osbuild/blueprint v1.22.0 h1:b3WicGjCFzEwOm/YwPH7w9YioCcehGejdOTkjJ3Fyz0=
github.com/osbuild/blueprint v1.22.0/go.mod h1:HPlJzkEl7q5g8hzaGksUk7ifFAy9QFw9LmzhuFOAVm4=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
Expand Down
6 changes: 3 additions & 3 deletions pkg/distro/bootc/bootc.go
Original file line number Diff line number Diff line change
Expand Up @@ -443,12 +443,12 @@ func (t *BootcImageType) initAnacondaInstallerBaseFromSourceInfo(img *image.Anac
img.RootfsCompression = "zstd"

if t.arch.Name() == arch.ARCH_X86_64.String() {
img.InstallerCustomizations.ISOBoot = manifest.Grub2ISOBoot
img.ISOCustomizations.BootType = manifest.Grub2ISOBoot
}

img.InstallerCustomizations.Product = sourceInfo.OSRelease.Name
img.InstallerCustomizations.OSVersion = sourceInfo.OSRelease.VersionID
img.InstallerCustomizations.ISOLabel = LabelForISO(&sourceInfo.OSRelease, t.arch.Name())
img.ISOCustomizations.Label = LabelForISO(&sourceInfo.OSRelease, t.arch.Name())

img.InstallerCustomizations.FIPS = customizations.GetFIPS()
var err error
Expand Down Expand Up @@ -489,7 +489,7 @@ func (t *BootcImageType) initAnacondaInstallerBaseFromSourceInfo(img *image.Anac
}

// see https://github.com/osbuild/bootc-image-builder/issues/733
img.InstallerCustomizations.ISORootfsType = manifest.SquashfsRootfs
img.ISOCustomizations.RootfsType = manifest.SquashfsRootfs

// Enabled by default to keep backwards compatibility
img.InstallerCustomizations.InstallWeakDeps = true
Expand Down
25 changes: 25 additions & 0 deletions pkg/distro/defs/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,7 @@ type ImageTypeYAML struct {

ImageConfigYAML imageConfig `yaml:"image_config,omitempty"`
InstallerConfigYAML installerConfig `yaml:"installer_config,omitempty"`
ISOConfigYAML isoConfig `yaml:"iso_config,omitempty"`

Filename string `yaml:"filename"`
MimeType string `yaml:"mime_type"`
Expand Down Expand Up @@ -574,11 +575,21 @@ type installerConfig struct {
Conditions map[string]*conditionsInstallerConf `yaml:"conditions,omitempty"`
}

type isoConfig struct {
*distro.ISOConfig `yaml:",inline"`
Conditions map[string]*conditionsISOConf `yaml:"conditions,omitempty"`
}

type conditionsInstallerConf struct {
When whenCondition `yaml:"when,omitempty"`
ShallowMerge *distro.InstallerConfig `yaml:"shallow_merge,omitempty"`
}

type conditionsISOConf struct {
When whenCondition `yaml:"when,omitempty"`
ShallowMerge *distro.ISOConfig `yaml:"shallow_merge,omitempty"`
}

type packageSet struct {
Include []string `yaml:"include"`
Exclude []string `yaml:"exclude"`
Expand Down Expand Up @@ -698,3 +709,17 @@ func (imgType *ImageTypeYAML) InstallerConfig(id distro.ID, archName string) *di

return installerConfig
}

// ISOConfig returns the ISOConfig for the given imgType
// Note that on conditions the ISOConfig is fully replaced, do
// any merging in YAML
func (imgType *ImageTypeYAML) ISOConfig(id distro.ID, archName string) *distro.ISOConfig {
isoConfig := imgType.ISOConfigYAML.ISOConfig
for _, cond := range imgType.ISOConfigYAML.Conditions {
if cond.When.Eval(id, archName) {
isoConfig = cond.ShallowMerge.InheritFrom(isoConfig)
}
}

return isoConfig
}
Loading
Loading