From d008f6b961401933b15c95090b95460c22d530fb Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sat, 23 Dec 2017 20:19:25 +0000 Subject: Initial config for building classic installer ISOs using drakclassic. --- build_one.sh | 8 ++++ config/build.cfg | 85 +++++++++++++++++++++++++++++++++++ config/known_conflicts.lst | 4 ++ config/pkg-core-32.lst | 23 ++++++++++ config/pkg-core-64.lst | 3 ++ config/pkg-core.lst | 103 +++++++++++++++++++++++++++++++++++++++++++ config/pkg-exclude-tofix.lst | 4 ++ config/pkg-exclude.lst | 27 ++++++++++++ config/pkg-groups.lst | 67 ++++++++++++++++++++++++++++ config/pkg-nonfree.lst | 15 +++++++ config/rpmsrate-tofix.lst | 10 +++++ config/settings.cfg | 11 +++++ update_bootloader_files.sh | 22 +++++++++ 13 files changed, 382 insertions(+) create mode 100755 build_one.sh create mode 100644 config/build.cfg create mode 100644 config/known_conflicts.lst create mode 100644 config/pkg-core-32.lst create mode 100644 config/pkg-core-64.lst create mode 100644 config/pkg-core.lst create mode 100644 config/pkg-exclude-tofix.lst create mode 100644 config/pkg-exclude.lst create mode 100644 config/pkg-groups.lst create mode 100644 config/pkg-nonfree.lst create mode 100644 config/rpmsrate-tofix.lst create mode 100644 config/settings.cfg create mode 100755 update_bootloader_files.sh diff --git a/build_one.sh b/build_one.sh new file mode 100755 index 0000000..63656e6 --- /dev/null +++ b/build_one.sh @@ -0,0 +1,8 @@ +#!/bin/sh +./update_bootloader_files.sh +drakclassic='perl -I ../drakiso/lib ../drakiso/drakclassic' +if [ $# -gt 0 ] ; then + $drakclassic $* +else + $drakclassic --clean --all +fi diff --git a/config/build.cfg b/config/build.cfg new file mode 100644 index 0000000..f299f04 --- /dev/null +++ b/config/build.cfg @@ -0,0 +1,85 @@ +#!/usr/bin/perl -cw + +use MDK::Common; + +sub build_label { + my ($build) = @_; + + join('-', 'Mageia', $build->{settings}{version}, $build->{settings}{product}, $build->{settings}{arch}); +} + +sub build_title { + my ($build) = @_; + + join(' ', 'Mageia', $build->{settings}{version}, $build->{settings}{product}); +} + +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 $_c = { + repo => { + classes => [ qw(core nonfree) ], + types => [ qw(release updates) ], + }, + media_cfg => { + askmedia => 1, + suppl => 1, + }, + group_include_lists => [ + 'config/pkg-groups.lst', + ], + group_exclude_lists => [ + 'config/rpmsrate-tofix.lst', + ], + package_include_lists => [ + 'config/pkg-core.lst', + if_($arch ne 'x86_64', 'config/pkg-core-32.lst'), + if_($arch eq 'x86_64', 'config/pkg-core-64.lst'), + 'config/pkg-nonfree.lst', + ], + package_exclude_lists => [ + 'config/pkg-exclude.lst', + 'config/pkg-exclude-tofix.lst', + ], + known_conflicts => + 'config/known_conflicts.lst', + 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' => "files/$arch/install/stage2", + 'misc' => "files/$arch/misc", + 'release-notes.txt' => "files/$arch/release-notes.txt", + 'release-notes.html' => "files/$arch/release-notes.html", + ], + system => { + vga_mode => '791', + }, + media => { + storage => 'iso', + 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_kbds => 'bootloader/kbd-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', + bootx64_efi => 'bootloader/images/bootx64.efi', + }, + mount => MGA::DrakISO::Mounts::volatile_squash_union(0), +}; diff --git a/config/known_conflicts.lst b/config/known_conflicts.lst new file mode 100644 index 0000000..86bd071 --- /dev/null +++ b/config/known_conflicts.lst @@ -0,0 +1,4 @@ +# These are expected +broadcom-bcma-config +broadcom-ssb-config +guile1.8 diff --git a/config/pkg-core-32.lst b/config/pkg-core-32.lst new file mode 100644 index 0000000..dff4366 --- /dev/null +++ b/config/pkg-core-32.lst @@ -0,0 +1,23 @@ +kernel-desktop586-latest +kernel-desktop586-devel-latest +vboxadditions-kernel-desktop586-latest +virtualbox-kernel-desktop586-latest +libmozjs185_1.0 +libdirectfb1.5_0 +libgtk+-x11-2.0_0 +libjscore-gir3.0 +libwebkit-gir1.0 +libcares2 +libuClibc0.9.30.3 +libdirectfb-devel +libgnome-media-profiles0 +libSDL_net1.2_0 +libfonts +libkmf0 +liblayout +libossp_uuid-devel +libmate-polkit1_0 +liblightdm-gobject1_0 +libglapi0 +libunimrcp-deps +wine diff --git a/config/pkg-core-64.lst b/config/pkg-core-64.lst new file mode 100644 index 0000000..83c0007 --- /dev/null +++ b/config/pkg-core-64.lst @@ -0,0 +1,3 @@ +lib64SDL_net1.2_0 +lib64ossp_uuid-devel +lib64unimrcp-deps diff --git a/config/pkg-core.lst b/config/pkg-core.lst new file mode 100644 index 0000000..3880402 --- /dev/null +++ b/config/pkg-core.lst @@ -0,0 +1,103 @@ +# the minimal system +basesystem + +# kernel devel +kernel-desktop-devel-latest +kernel-server-devel-latest + +# X11 drivers +x11-driver-input-acecad +x11-driver-input-evdev +x11-driver-input-evdev-devel +x11-driver-input-evtouch +x11-driver-input-fpit +x11-driver-input-hyperpen +x11-driver-input-joystick +x11-driver-input-mutouch +x11-driver-input-penmount +x11-driver-input-synaptics +x11-driver-input-vmmouse +x11-driver-input-void + +# VM support +virtualbox +dkms-virtualbox +virtualbox-kernel-desktop-latest +virtualbox-kernel-server-latest +dkms-vboxadditions +vboxadditions-kernel-desktop-latest +vboxadditions-kernel-server-latest + +# fonts +google-noto-fonts-common +samyak-devanagari-fonts +samyak-gujarati-fonts +samyak-malayalam-fonts +samyak-oriya-fonts +samyak-tamil-fonts +sazanami-fonts-common +x11-font-wqy-bitmapfont + +# others +afterstep +baobab +bsf +chromium-browser-stable +colorprompt +corosync +cpufreqd +cronie-anacron +dansguardian +Default-kde4-config +drakguard +drbd-utils +efibootmgr +enigma +fluid-soundfont-common +gnome-boxes +gnome-disk-utility +gnome-screenshot +gnome-terminal-nautilus +grub2 +grub2-mageia-theme +guile1.8 +icewm +kipi-plugins- +lib64cares2 +#lib64gtk+-x11-2.0_0 +#lib64lightdm-gobject1_0 +#lib64mozjs185_1.0 +#lib64ossp_uuid-devel +#lib64SDL_net1.2_0 +#lib64unimrcp-deps +#lib64webkit-gir1.0 +libreoffice-kde4 +mageiawelcome +marble +mariadb-extra +mariadb-feedback +mariadb-obsolete +mathplot +midori +minicom +mplayer-gui +msec-gui +net_monitor +netprofile-plugin-network +openssh-askpass-common +openvpn +os-prober +pacemaker +perl-Test-Mock-LWP +phonon +pidgin +python-at-spi +quassel +rsyslog +smplayer +sushi +system-config-printer +taskwarrior +vnstat +vpnc +xawtv diff --git a/config/pkg-exclude-tofix.lst b/config/pkg-exclude-tofix.lst new file mode 100644 index 0000000..7f765f1 --- /dev/null +++ b/config/pkg-exclude-tofix.lst @@ -0,0 +1,4 @@ +2mandvd +celestia +#gcc3.3 +xfig diff --git a/config/pkg-exclude.lst b/config/pkg-exclude.lst new file mode 100644 index 0000000..ece3878 --- /dev/null +++ b/config/pkg-exclude.lst @@ -0,0 +1,27 @@ +# kernel +kernel-tmb- +kernel-linus- +kernel-source- + +# others +anjuta +apper +bijiben +exaile +flash-player- +gimp-help- +hugs98 +icedtea-web +kde-l10n-handbooks- +kipi-plugins-dropbox +kipi-plugins-googleservices +kipi-plugins-imgurexport +kipi-plugins-jalbum +kipi-plugins-piwigo +kipi-plugins-remotestorage +manslide +scilab +scribus +stellarium +task-windowmaker +x11-font-bh-type1 diff --git a/config/pkg-groups.lst b/config/pkg-groups.lst new file mode 100644 index 0000000..d77c41a --- /dev/null +++ b/config/pkg-groups.lst @@ -0,0 +1,67 @@ +# Basic system +INSTALL 1 +CAT_SYSTEM 1 +CAT_X 1 +# DEs +CAT_GRAPHICAL_DESKTOP 4 +CAT_CINNAMON 1 +CAT_GNOME 1 +CAT_LXDE 1 +CAT_PLASMA5 1 +CAT_XFCE 1 +# Applications +CAT_ACCESSIBILITY 3 +CAT_ARCHIVING 1 +CAT_AUDIO 1 +CAT_BOOKS 3 +CAT_COMMUNICATIONS 3 +CAT_CONFIG 1 +CAT_EDITORS 4 +CAT_EDUCATION 3 +CAT_EMULATORS 4 +CAT_GRAPHICS 1 +CAT_DATABASES 4 +CAT_DEVELOPMENT 2 +CAT_FILE_TOOLS 1 +CAT_MINIMAL_DOCS 3 +CAT_MONITORING 3 +CAT_NETWORKING_CHAT 3 +CAT_NETWORKING_CHAT_SERVER 5 +CAT_NETWORKING_DNS 3 +CAT_NETWORKING_DNS_SERVER 3 +CAT_NETWORKING_FILE 3 +CAT_NETWORKING_FILE_SERVER 3 +CAT_NETWORKING_FILE_TRANSFER 3 +CAT_NETWORKING_FILE_TRANSFER_SERVER 3 +CAT_NETWORKING_FIREWALLING_SERVER 3 +CAT_NETWORKING_INSTANT_MESSAGING 3 +CAT_NETWORKING_IRC 3 +CAT_NETWORKING_LDAP_SERVER 3 +CAT_NETWORKING_MAIL 4 +CAT_NETWORKING_MAIL_SERVER 5 +CAT_NETWORKING_OTHER 3 +CAT_NETWORKING_OTHER_SERVER 3 +CAT_NETWORKING_REMOTE_ACCESS 3 +CAT_NETWORKING_REMOTE_ACCESS_SERVER 3 +CAT_NETWORKING_WWW 4 +CAT_NETWORKING_WWW_SERVER 5 +CAT_OFFICE 5 +CAT_PRINTER 1 +CAT_PUBLISHING 4 +CAT_SCIENCES 3 +CAT_SHELLS 3 +CAT_SPELLCHECK 5 +CAT_TERMINALS 2 +CAT_TEXT_TOOLS 3 +CAT_TV 3 +CAT_VIDEO 3 +CAT_VIDEO_EDITING 3 +CAT_WIZARDS 3 +PHOTO 3 +SCANNER 4 +# Meta-tasks +task-gnome +task-mate-minimal +task-plasma5 +task-printing-scanning +task-obsolete diff --git a/config/pkg-nonfree.lst b/config/pkg-nonfree.lst new file mode 100644 index 0000000..e383ff0 --- /dev/null +++ b/config/pkg-nonfree.lst @@ -0,0 +1,15 @@ +bluez-firmware +dkms-nvidia304 +dkms-nvidia340 +dkms-nvidia-current +microcode +#nvidia304-cuda-opencl +#nvidia304-devel +nvidia304-doc-html +nvidia340-cuda-opencl +nvidia340-devel +nvidia340-doc-html +nvidia-current-cuda-opencl +nvidia-current-devel +nvidia-current-doc-html +radeon-firmware diff --git a/config/rpmsrate-tofix.lst b/config/rpmsrate-tofix.lst new file mode 100644 index 0000000..743d464 --- /dev/null +++ b/config/rpmsrate-tofix.lst @@ -0,0 +1,10 @@ +python-rpm +linuxconsole +kmediafactory +pinentry-qt4 +pluma-plugins +kernel-desktop586-latest +#wine +#lsb-lib +#libmariadb-devel +#libalsa-plugins diff --git a/config/settings.cfg b/config/settings.cfg new file mode 100644 index 0000000..c66ca5b --- /dev/null +++ b/config/settings.cfg @@ -0,0 +1,11 @@ +vendor=Mageia +distro=Mageia +product=CI +type=classic +arch=x86_64 +branch=Devel +version=6 +release=1 +tag=vanda +repository=/home/bcd/build_bcd/pieces/6 +workdir=/home/bcd/build_bcd diff --git a/update_bootloader_files.sh b/update_bootloader_files.sh new file mode 100755 index 0000000..b3d7ff6 --- /dev/null +++ b/update_bootloader_files.sh @@ -0,0 +1,22 @@ +#!/bin/sh +repository=$(grep repository config/settings.cfg | sed s/repository=//) + +# Remove old files +rm -rf bootloader + +# The 64-bit packge contains everything we need. The non-UEFI grub2 images +# are built for i386, and everything else should be architecture-independent +path=`ls -1v $repository/x86_64/media/core/{release,updates}/drakiso-bootloader-files*.rpm 2> /dev/null | tail -1` +if [ -z $path ] ; then + echo "ERROR: couldn't find drakiso-bootloader-files RPM in $repository" + exit 1 +else + echo "Extracting bootloader files from $repository" + rpm2cpio $path | cpio -idm + if [ $? -ne 0 ] ; then + echo "ERROR: failed to extract files from archive" + exit 1 + fi + mv usr/share/drakiso-bootloader bootloader + rm -r usr +fi -- cgit v1.2.1