sub build_label { my ($build) = @_; join('-', 'Mageia', $build->{settings}{release}, $build->{settings}{arch}); } sub build_title { my ($build) = @_; join(' ', 'Mageia', $build->{settings}{release}); } my $arch = $build->{settings}{arch}; # This is only needed for finding the boot images in the isolinux directory. my $arch2 = $arch eq 'i586' ? 'i386' : $arch; my $config = { urpmi_media => { enabled_sections => [ qw(core nonfree) ], enabled_subsections => [ qw(release updates) ], }, media_cfg => { askmedia => 1, suppl => 1, }, group_include_lists => [ 'config/group-include.lst', ], package_include_lists => [ 'config/pkg-include-core.lst', 'config/pkg-include-nonfree.lst', 'config/pkg-include-to-review.lst', ], package_exclude_lists => [ 'config/pkg-exclude.lst', 'config/pkg-exclude-to-review.lst', 'config/pkg-exclude-to-fix.lst', ], biarch_packages => [ if_($arch eq 'x86_64', 'grub2-efi') ], system => { vga_mode => '791', }, media => { label => build_label($build), bootloader_title => build_title($build), bootloader_theme => 'bootloader/maggy', bootloader_font => 'bootloader/unicode.pf2', bootloader_langs => 'bootloader/lang-names.txt', bootloader_messages => 'bootloader/messages', bootloader_default => 0, bootloader_timeout => 10, bootloader_entries => [ 'Install Mageia' => { append => 'automatic=method:cdrom audit=0 noiswmd splash quiet' }, 'Rescue System' => { append => 'automatic=method:cdrom audit=0 noiswmd rescue' }, 'Memory Test' => { command => 'linux16', image => '/boot/memtest', initrd => '' }, ], mbr_boot_img => 'bootloader/images/boot_hybrid.img', eltorito_img => 'bootloader/images/eltorito.img', if_($arch eq 'i586', iso_part_start => 1, iso_part_type => '0x17', efi_type => '32bit', boot32_efi => 'bootloader/images/bootia32.efi' ), if_($arch eq 'x86_64', efi_type => 'all', boot32_efi => 'bootloader/images/bootia32.efi', boot64_efi => 'bootloader/images/bootx64.efi' ), copy_from_repo => [ 'autorun.inf' => 'files/autorun.inf', 'dosutils' => 'files/dosutils', "isolinux/$arch2/all.rdz" => "boot/all.rdz", "isolinux/$arch2/vmlinuz" => "boot/vmlinuz", 'isolinux/memtest' => "boot/memtest", 'doc' => "files/$arch/doc", 'install/extra' => "files/$arch/install/extra", 'install/stage2/mdkinst.sqfs' => "files/$arch/install/stage2/mdkinst.sqfs", 'install/stage2/rescue.sqfs' => "files/$arch/install/stage2/rescue.sqfs", 'install/stage2/VERSION' => "files/$arch/install/stage2/VERSION", 'misc' => "files/$arch/misc", 'release-notes.txt' => "files/$arch/release-notes.txt", 'release-notes.html' => "files/$arch/release-notes.html", ], }, };