From 3d793323c3357e77583a60c9c16d5e541bdd9cab Mon Sep 17 00:00:00 2001 From: Anne Nicolas Date: Sun, 6 May 2012 09:12:03 +0000 Subject: rc configuration --- BCD/CheckMedia.pm | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++ create_dual.sh | 73 +++++++++++++++++++++++----- dual.xml | 10 ++-- dual64.xml | 8 +-- dvd_free32.xml | 8 +-- dvd_free64.xml | 8 +-- lists/basesystem_mini | 15 ++++++ lists/exclude | 5 -- lists/exclude_free | 23 --------- lists/exclude_mini | 5 +- lists/input_cat | 66 ++++++++++++++++++++++++- 11 files changed, 293 insertions(+), 60 deletions(-) create mode 100644 BCD/CheckMedia.pm diff --git a/BCD/CheckMedia.pm b/BCD/CheckMedia.pm new file mode 100644 index 0000000..f116c61 --- /dev/null +++ b/BCD/CheckMedia.pm @@ -0,0 +1,132 @@ +package BCD::CheckMedia; + +use strict; +use MDK::Common; + +use BCD::Common qw(:DEFAULT $isoconf $version $arch $repo $builddir $distrib_path $error_color $DISTRIB $THEME $rpmcheck_list_pkg $file_rpmcheck_log $file_smartcheck_log $smartcheck_list_pkg $smartcheck_dir $chroot_path); +use BCD::Media; + +our @ISA = qw(Exporter); +our @EXPORT = qw(check_repo_hdlist rpmcheck_launch smartcheck_launch rpmcheck_list smartcheck_list check_launch); + +my $LOG="CHECKMEDIA -"; +my $color = "blue"; + +my $chroot_path = "/tmp/$isoconf->{nameid}-$version-$isoconf->{arch}"; + +sub rpmcheck_list { + my @toget = cat_($rpmcheck_list_pkg); + my $todo = @toget; + if ($todo ne "0") { + print_color("$LOG calculate deps from the auto-generated rpmcheck list file", $error_color); + my $list_filename = "$isoconf->{tocopy_file}_todo_rpmcheck"; + my $list = "$chroot_path/urpmq/$list_filename"; + my $urpmq_options = "--requires-recursive -c --sources $isoconf->{mediainfo}{urpmi_option}"; + my $pkgs; + foreach (@toget) { $_ or next; chomp($_); $pkgs = "$_ " . $pkgs } + my $cmd_do_it = "LC_ALL=C sudo -P chroot $chroot_path urpmq --prefer $DISTRIB,$THEME $urpmq_options --no-suggests"; + do_fork($pkgs, $list_filename, $list, $cmd_do_it); + } else { + print_color("$LOG No rpmcheck error", $error_color); + } +} + +sub smartcheck_list { + my @toget = cat_($smartcheck_list_pkg); + my $todo = @toget; + if ($todo ne "0") { + print_color("$LOG calculate deps from the auto-generated smart list file", $error_color); + my $list_filename = "$isoconf->{tocopy_file}_todo_smartcheck"; + my $list = "$chroot_path/urpmq/$list_filename"; + my $urpmq_options = "--requires-recursive -c --sources $isoconf->{mediainfo}{urpmi_option}"; + my $pkgs; + foreach (@toget) { $_ or next; chomp($_); $pkgs = "$_ " . $pkgs } + my $cmd_do_it = "LC_ALL=C sudo -P chroot $chroot_path urpmq --prefer $DISTRIB,$THEME $urpmq_options --no-suggests"; + do_fork($pkgs, $list_filename, $list, $cmd_do_it); + } else { + print_color("$LOG No smart check error", $error_color); + } +} + +sub rpmcheck_launch { + my $options = "-explain -failures"; + my $destmedia = "0"; + print_color("$LOG launch rpmcheck to check hdlists", $color); + foreach my $media (@{$isoconf->{media}{list}}) { + $media->{name} or next; + $media->{drop} =~ /yes/ and BCD::Media::drop_media("$media->{name}-release"); + if ($destmedia eq $media->{destmedia}) { next } + $destmedia = $media->{destmedia}; + system("cp $builddir/media/$destmedia/media_info/hdlist.cz $builddir/media/media_info/hdlist_$media->{name}.cz"); + } + my $cmd = "zcat $builddir/media/media_info/hdlist*.cz | rpmcheck $options"; + print_color("$LOG $cmd", $color); + system("$cmd 2> /dev/null > $file_rpmcheck_log") == 0 or die "$LOG system $cmd failed: $?\n"; + open my $LIST_FAILURE, ">$rpmcheck_list_pkg.tmp"; + my @list_failure = cat_($file_rpmcheck_log); + foreach my $package (@list_failure) { + print $package; + my ($package2) = $package =~ /^\s+(\S*)\s/; + $package2 and print $LIST_FAILURE "$package2\n"; + } + close $LIST_FAILURE; + system("cat $rpmcheck_list_pkg.tmp | sort | uniq > $rpmcheck_list_pkg"); + print_color("$LOG check this file $file_rpmcheck_log", $color); + print_color("$LOG check this file $rpmcheck_list_pkg", $color); +} + +sub smartcheck_launch { + my $options = "-o sync-urpmi-medialist=no --data-dir $smartcheck_dir"; + system("rm -rf $smartcheck_dir $smartcheck_list_pkg"); + my $destmedia = "0"; + my $MEDIAS; my $MEDIASWITHCOMMA; + print_color("$LOG launch smart to check synthesys", $color); + foreach my $media (@{$isoconf->{media}{list}}) { + $media->{name} or next; + $media->{drop} =~ /yes/ and BCD::Media::drop_media("$media->{name}-release"); + if ($destmedia eq $media->{destmedia}) { next } + $destmedia = $media->{destmedia}; + $MEDIAS = $MEDIAS . " " . $media->{name}; + $MEDIASWITHCOMMA = $media->{name} . "," . $MEDIASWITHCOMMA; + my $cmd = "smart channel --yes $options --add $media->{name} type=urpmi baseurl=$builddir/media/$media->{destmedia}/ hdlurl=media_info/synthesis.hdlist.cz"; + system($cmd); + } + system("smart update $options $MEDIAS"); + chop($MEDIASWITHCOMMA); + my $cmd = "smart check $options --channels=$MEDIASWITHCOMMA 2>&1 | egrep -v '(Loading cache|Updating cache)' | awk -F 'requires' '{print \$2}' | sort | uniq >> $smartcheck_list_pkg"; + system("du $smartcheck_list_pkg"); + print_color("$LOG $cmd", $color); + system("$cmd > $file_smartcheck_log") == 0 or die "$LOG system $cmd failed: $?\n"; + open my $LIST_FAILURE, ">$smartcheck_list_pkg.tmp"; + my @list_failure = cat_($file_smartcheck_log); + foreach my $package (@list_failure) { + print $package; + my ($package2) = $package =~ /^\s+(\S*)\s/; + $package2 and print $LIST_FAILURE "$package2\n"; + } + close $LIST_FAILURE; + system("cat $smartcheck_list_pkg.tmp | sort | uniq > $smartcheck_list_pkg"); + print_color("$LOG check this file $file_smartcheck_log", $color); + print_color("$LOG check this file $smartcheck_list_pkg", $color); +} + +sub check_launch { + if (!defined($isoconf->{checktool})) { + print_color("$LOG BCD will use rpmcheck to verify hdlist. You can use choose between smart or rpmcheck, just add the option smart/rpmcheck in the XML configuration file", $color); + rpmcheck_launch; + } elsif ($isoconf->{checktool} =~ /rpmcheck/) { + print_color("$LOG BCD will use rpmcheck to verify hdlist.", $color); + rpmcheck_launch; + } else { + print_color("$LOG BCD will use smart check to verify hdlist.", $color); + smartcheck_launch; + } +} + +sub check_repo_hdlist { + my $options = "-explain -failures"; + print_color("$LOG check media repositery hdlists in $repo/$version/$arch", $color); + system("zcat $repo/$version/$arch/media/media_info/hdlist*ain.cz | rpmcheck $options"); +} + +1; diff --git a/create_dual.sh b/create_dual.sh index 69848c4..fa4b7d5 100755 --- a/create_dual.sh +++ b/create_dual.sh @@ -1,23 +1,70 @@ #!/bin/sh -DISTRIB=mageia-dual +DISTRIB=Mageia TAG=manon -VERSION=2-beta1 +VERSION=2-rc +SUPPORT=dual-CD VV=1 MEDIAMAIN=media/core PIECES="$HOME/build_bcd/pieces" -BUILDPATH="$HOME/build_bcd/build/$DISTRIB-$VERSION" -BUILDISOPATH="$HOME/build_bcd/iso/$DISTRIB-$VERSION" +OLDBUILDPATH="$HOME/build_bcd/build/mageia-dual-$VERSION" +BUILDPATH="$HOME/build_bcd/build/$DISTRIB-$VERSION-$SUPPORT" +BUILDISOPATH="$HOME/build_bcd/iso/$DISTRIB-$VERSION-$SUPPORT" # genisoimage options -AGENISO="$DISTRIB - 2 beta1" +AGENISO="$DISTRIB - 2 rc" PUBLISHER="Mageia.Org" SYSID="$PUBLISHER" TOOL="$SYSID BCD" VOLSET="$SYSID $DISTRIB - $VERSION" VOLUME="$DISTRIB-$VERSION" +echo $BUILDPATH/x86_64/$MEDIAMAIN +# build both arch +./bcd.pl dual.xml all copy noiso +./bcd.pl dual64.xml all copy noiso + +# clean +rm -rf $BUILDPATH +rm -rvf $BUILDISOPATH +mkdir -p $BUILDPATH +mkdir -p $BUILDISOPATH + +# remove stuff to make size fit +for i in i586 x86_64 +do + cp -af $OLDBUILDPATH-$i/$i $BUILDPATH + rm -vf $BUILDPATH/$i/install/images/boot.iso $BUILDPATH/$i/install/images/*nonfree* + rm -rvf $BUILDPATH/$i/install/images/alternatives + rm -rvf $BUILDPATH/$i/isolinux +done +sync +cp -r $PIECES/iso/dual/isolinux $BUILDPATH + +# use symbolic links on noarch +cd $BUILDPATH/x86_64/$MEDIAMAIN + +for i in *noarch.rpm +do + if [ -f "../../../i586/$MEDIAMAIN/$i" ];then + echo $i + echo "erase package $i" + rm -vf $i + echo "link with the i586 one" + ln -sf ../../../i586/$MEDIAMAIN/$i . + else + echo "no ../../../i586/$MEDIAMAIN/$i package" + fi +done + +# build idx file +for i in i586 x86_64 +do + cat $BUILDOLDPATH-$i/$i/pkg-$VERSION-$TAG.idx >> $BUILDPATH/$DISTRIB-$VERSION-$SUPPORT.idx +done + +# build iso genisoimage -f -r -J -hide-rr-moved -nobak -cache-inodes -no-emul-boot -boot-load-size 4 \ -A "$AGENISO" \ -publisher "$PUBLISHER" \ @@ -25,16 +72,16 @@ genisoimage -f -r -J -hide-rr-moved -nobak -cache-inodes -no-emul-boot -boot-loa -p "$TOOL" \ -volset "$VOLSET" \ -V "$VOLUME" \ - -o "$BUILDISOPATH/$DISTRIB-$VERSION.iso" \ + -o "$BUILDISOPATH/$DISTRIB-$VERSION-$SUPPORT.iso" \ -b isolinux/isolinux.bin \ -boot-info-table \ -quiet \ $BUILDPATH/ -du -sh $BUILDPATH/$DISTRIB-$VERSION.iso -echo "$BUILDPATH/$DISTRIB-$VERSION.idx" -cd $BUILDPATH/ -isohybrid -fatfirst $BUILDPATH/$DISTRIB-$VERSION.iso -cp $BUILDPATH/$DISTRIB-$VERSION.idx . -md5sum $DISTRIB-$VERSION-dual.iso > $DISTRIB-$VERSION.iso.md5 -sha1sum $DISTRIB-$VERSION.iso > $DISTRIB-$VERSION.iso.sha1 +du -sh $BUILDISOPATH/$DISTRIB-$VERSION-$SUPPORT.iso +echo "$BUILDISOPATH/$DISTRIB-$VERSION-$SUPPORT.idx" +cd $BUILDISOPATH/ +isohybrid -o 1 $BUILDISOPATH/$DISTRIB-$VERSION-$SUPPORT.iso +cp $BUILDISOPATH/$DISTRIB-$VERSION-$SUPPORT.idx . +md5sum $DISTRIB-$VERSION-$SUPPORT.iso > $DISTRIB-$VERSION-$SUPPORT.iso.md5 +sha1sum $DISTRIB-$VERSION-$SUPPORT.iso > $DISTRIB-$VERSION-$SUPPORT.iso.sha1 diff --git a/dual.xml b/dual.xml index ff55b68..1dcb963 100644 --- a/dual.xml +++ b/dual.xml @@ -74,6 +74,8 @@ lists/exclude_mini + + yes @@ -91,7 +93,7 @@ - 2-beta1 + 2-rc /home/bcd/build_bcd/pieces/cauldron/i586/media/media_info media/media_info @@ -128,11 +130,11 @@ yes
Mageia - Mageia - mageia dual 2 - beta1 - Mageia - 2 - dual - beta1 + Mageia - mageia dual 2 - rc + Mageia - 2 - dual - rc Mageia.Org Mageia BCD - mageia-dual - 2 - beta1 + mageia-dual - 2 - rc Mageia.Org
diff --git a/dual64.xml b/dual64.xml index 3ec386b..e708afc 100644 --- a/dual64.xml +++ b/dual64.xml @@ -93,7 +93,7 @@ - 2-beta1 + 2-rc /home/bcd/build_bcd/pieces/cauldron/x86_64/media/media_info media/media_info @@ -130,11 +130,11 @@ yes
Mageia - Mageia - mageia dual 2 - beta1 - Mageia - 2 - beta1 + Mageia - mageia dual 2 - rc + Mageia - 2 - rc Mageia.Org Mageia BCD - mageia-dual - 2 - beta1 + mageia-dual - 2 - rc Mageia.Org
diff --git a/dvd_free32.xml b/dvd_free32.xml index 7a1f015..7c4f797 100644 --- a/dvd_free32.xml +++ b/dvd_free32.xml @@ -104,7 +104,7 @@ - 2-beta1 + 2-rc /home/bcd/build_bcd/pieces/cauldron/i586/media/media_info media/media_info @@ -140,11 +140,11 @@ yes
Mageia - Mageia-2-i586-beta1 - Mageia 2 - Beta 1 - i586 DVD + Mageia-2-i586-rc + Mageia 2 - RC - i586 DVD Mageia Mageia BCD - Mageia 2 - Beta 1 + Mageia 2 - RC Mageia
diff --git a/dvd_free64.xml b/dvd_free64.xml index 26144d7..53d8693 100644 --- a/dvd_free64.xml +++ b/dvd_free64.xml @@ -107,7 +107,7 @@ - 2-beta1 + 2-rc /home/bcd/build_bcd/pieces/cauldron/x86_64/media/media_info media/media_info @@ -143,11 +143,11 @@ yes
Mageia - Mageia-2-x86_64-beta1 - Mageia 2 - Beta 1 - x86_64 DVD + Mageia-2-x86_64-rc + Mageia 2 - RC - x86_64 DVD Mageia Mageia BCD - Mageia 2 - Beta 1 + Mageia 2 - RC Mageia
diff --git a/lists/basesystem_mini b/lists/basesystem_mini index 5e7ee7a..208a4e2 100644 --- a/lists/basesystem_mini +++ b/lists/basesystem_mini @@ -119,3 +119,18 @@ sudo lvm2 mdadm task-lxde + +oxygen-gtk +oxygen-gtk3 + +bridge-utils +mc +martmontools +bash-completion +lshw +screen +iftop +tcpdump +freeipmi +samba-client +midori diff --git a/lists/exclude b/lists/exclude index b498ce0..a5127b0 100644 --- a/lists/exclude +++ b/lists/exclude @@ -111,17 +111,13 @@ maniadrive-data lmms mediawiki opencity -enlightenment -ethemes bootsplash-themes ardour mysql-workbench-oss entrance festvox-suopuhe-lj festvox-suopuhe-mv -hugin cacao -kaffe syslog-ng wine-doors task-xfce-devel @@ -132,7 +128,6 @@ uClibc-zlib1-devel # bugged ! drakfon -xguest perl-LaTeX-Driver texlive lilypond diff --git a/lists/exclude_free b/lists/exclude_free index bb856b2..dfb60f2 100644 --- a/lists/exclude_free +++ b/lists/exclude_free @@ -1,24 +1 @@ -# theme -#mandriva-theme-Free -mandriva-theme-Powerpack -mandriva-theme-One -mandriva-theme-Flash -mandriva-theme-Mini -#mandriva-release-Free -mandriva-release-Powerpack -mandriva-release-One -mandriva-release-Flash -mandriva-release-Mini -powerpack-kde4-config -one-kde4-config -flash-kde4-config -discovery-kde4-config -mandriva-lxde-config-Powerpack -mandriva-lxde-config-One -mandriva-lxde-config-Flash -mandriva-lxde-config-Mini -mandriva-xfce-config-Powerpack -mandriva-xfce-config-One -mandriva-xfce-config-Flash -mandriva-xfce-config-Mini mercurial diff --git a/lists/exclude_mini b/lists/exclude_mini index fb15e66..79c1456 100644 --- a/lists/exclude_mini +++ b/lists/exclude_mini @@ -9,9 +9,10 @@ kernel-rt kernel-tmb kernel-vserver kernel-server +kernel-desktop586 rsbac-admin apache-mod_rsbac apache-mpm-rsbac -samba- hpli - +kernel-source +kernel-desktop-devel diff --git a/lists/input_cat b/lists/input_cat index 92248c5..29c1afa 100644 --- a/lists/input_cat +++ b/lists/input_cat @@ -145,4 +145,68 @@ icedtea-web gnumeric abiword -genhdlist2 +usbutils +akregator +kontact +xguest +oxygen-gtk +oxygen-gtk3 +smplayer +mplayer-gui +kdegames4 +gcompris- +enigma +sushi +baobab +gnome-boxes +gnome-screenshot +gnome-contacts +gnome-documents +gnome-disk-utility +icewm +xli +simple-scan +python-at-spi + +kipi-common +kipi-plugins +kipi-plugins-acquireimages +kipi-plugins-advancedslideshow +kipi-plugins-batchprocess +kipi-plugins-calendar +kipi-plugins-debianscreenshot +kipi-plugins-dngconverter +kipi-plugins-expoblending +kipi-plugins-facebook +kipi-plugins-flashexport +kipi-plugins-flickr +kipi-plugins-galleryexport +kipi-plugins-gpssync +kipi-plugins-htmlexport +kipi-plugins-imageshackexport +kipi-plugins-imageviewer +kipi-plugins-ipodexport +kipi-plugins-jpeglossless +kipi-plugins-kioexportimport +kipi-plugins-kmlexport +kipi-plugins-kopete +kipi-plugins-metadataedit +kipi-plugins-panorama +kipi-plugins-photolayouts-editor +kipi-plugins-picasa +kipi-plugins-piwigoexport +kipi-plugins-printimages +kipi-plugins-rajceexport +kipi-plugins-rawconverter +kipi-plugins-removeredeyes +kipi-plugins-sendimages +kipi-plugins-shwup +kipi-plugins-smug +kipi-plugins-timeadjust +kipi-plugins-vkontakte +kipi-plugins-wikimedia +kipi-plugins-yandexfotki +kipi-plugins-youtube +hugin +vnstat +python-at-spi -- cgit v1.2.1