From f7d35b5e13d69f57e2713ffab1129092287c5e73 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Sun, 16 Sep 2001 19:58:22 +0000 Subject: - cleanup packages appearing twice in rpmsrate - handle a few case of packages appearing twice - special case for packages appearing in INSTALL section (flag dropped) - new special flag ALL for compssUsersChoice --- perl-install/pkgs.pm | 22 ++++++++++++++++++++-- perl-install/share/rpmsrate | 35 +++++++++++++++++------------------ 2 files changed, 37 insertions(+), 20 deletions(-) diff --git a/perl-install/pkgs.pm b/perl-install/pkgs.pm index 3b14e298b..14e0ff633 100644 --- a/perl-install/pkgs.pm +++ b/perl-install/pkgs.pm @@ -583,6 +583,7 @@ sub getProvides($) { sub read_rpmsrate { my ($packages, $f) = @_; my $line_nb = 0; + my $fatal_error; my (@l); while (<$f>) { $line_nb++; @@ -630,7 +631,21 @@ sub read_rpmsrate { my @m2 = map { if_($_ && packageName($_) =~ /locales-(.*)/, qq(LOCALES"$1")) } map { packageById($packages, $_) } packageDepsId($p); - packageSetRateRFlags($p, $rate, (grep { !/^\d$/ } @m), @m2); + + @m = ((grep { !/^\d$/ } @m), @m2); + if (packageRate($p)) { + next if @m == 1 && $m[0] eq 'INSTALL'; + + my ($rate2, @m3) = packageRateRFlags($p); + if (@m3 > 1 || @m > 1) { + log::l("can't handle complicate flags for packages appearing twice ($_)"); + $fatal_error++; + } + log::l("package $_ appearing twice with different rates ($rate != $rate2)") if $rate != $rate2; + packageSetRateRFlags($p, $rate, "$m[0]||$m3[0]"); + } else { + packageSetRateRFlags($p, $rate, @m); + } } else { print "$_ = ", join(" && ", @m), "\n"; } @@ -640,6 +655,7 @@ sub read_rpmsrate { push @l, [ $l2[0][0], $l2[$#l2][1] ]; } } + $fatal_error and die "$fatal_error fatal errors in rpmsrate"; } sub readCompssUsers { @@ -690,7 +706,9 @@ sub setSelectedFromCompssList { my $nb = selectedSize($packages); foreach my $p (sort { packageRate($b) <=> packageRate($a) } values %{$packages->{names}}) { my ($rate, @flags) = packageRateRFlags($p); - next if !$rate || $rate < $min_level || grep { !grep { /^!(.*)/ ? !$compssUsersChoice->{$1} : $compssUsersChoice->{$_} } split('\|\|') } @flags; + next if + !$rate || $rate < $min_level || + !$compssUsersChoice->{ALL} && grep { !grep { /^!(.*)/ ? !$compssUsersChoice->{$1} : $compssUsersChoice->{$_} } split('\|\|') } @flags; #- determine the packages that will be selected when #- selecting $p. the packages are not selected. diff --git a/perl-install/share/rpmsrate b/perl-install/share/rpmsrate index 0abc36ef5..8cce10c3c 100644 --- a/perl-install/share/rpmsrate +++ b/perl-install/share/rpmsrate @@ -17,7 +17,7 @@ KDE 5 kdebase 5 kde-i18n-ca kde-i18n-cs kde-i18n-da kde-i18n-de kde-i18n-el kde-i18n-es kde-i18n-et kde-i18n-fi kde-i18n-fr kde-i18n-he kde-i18n-hu kde-i18n-is kde-i18n-it kde-i18n-ja kde-i18n-ko kde-i18n-nl kde-i18n-no kde-i18n-no_NY kde-i18n-pl kde-i18n-pt kde-i18n-pt_BR kde-i18n-ro kde-i18n-ru kde-i18n-sk kde-i18n-sr kde-i18n-sv kde-i18n-tr kde-i18n-uk kde-i18n-zh_CN.GB2312 kde-i18n-zh_TW.Big5 4 kdeaddutils kdeadmin kdegraphics kdemultimedia kdenetwork krozat - kdepim kdetoys kdeutils quanta kdebase-nsplugins netscape-plugins + kdepim kdetoys kdeutils quanta kdebase-nsplugins 2 kdesdk kdoc @@ -40,8 +40,8 @@ OFFICE 2 units lyx phpgroupware GNOME 4 gnome-pim gnome-pim-conduits gnumeric - 3 gnome-pilot-conduits - 2 dia ggv gnucash + 3 dia gnome-pilot-conduits + 2 ggv gnucash KDE 5 koffice 5 koffice-i18n-az koffice-i18n-hu koffice-i18n-ro koffice-i18n-cs koffice-i18n-it koffice-i18n-ru koffice-i18n-da @@ -64,7 +64,9 @@ AUDIO playmidi playmidi-X11 space_sounds timidity-instruments xmms-esd xmms-kjofol-skins xmms-mikmod xmms-more-vis-plugins 3 GNOME gnome-audio-extra - 2 rio500 grio500 + + 4 HW"Rio 500" rio500 grio500 + 1 viavoicemenu_de viavoicemenu_fr viavoicemenu_us DEVELOPMENT 4 ViaVoice_sdk @@ -81,9 +83,9 @@ PUBLISHING 1 BOOKS docbook-style-dsssl-doc 5 CUPS - foomatic cups-drivers xpp + cups-drivers xpp KDE kups - 5 LPR foomatic + 5 CUPS || LPR foomatic 1 CUPS hpoj SHELLS @@ -197,7 +199,7 @@ NETWORKING_OTHER_SERVER 3 intimed mcserv nscd imap pidentd rdate bootparamd - cleanfeed ucd-snmp leafnode vnc-server + cleanfeed ucd-snmp leafnode cvsweb finger-server mars-nwe XFree86-Xvfb XFree86-Xnest 2 heartbeat diald @@ -239,7 +241,7 @@ NETWORKING_FILE_SERVER NETWORKING_WWW 5 lynx 4 netscape-communicator wget links mozilla mozilla-psm netscape-plugins - 4 GNOME screem galeon nautilus nautilus-mozilla netscape-plugins + 4 GNOME screem galeon nautilus-mozilla 3 plugger opera bluefish 4 netscape-castellano netscape-catalan netscape-chinese_gb2312 netscape-chinese_big5 netscape-euskara netscape-francais netscape-german netscape-japanese netscape-polish netscape-russian netscape-walon NETWORKING_WWW_SERVER @@ -252,7 +254,7 @@ NETWORKING_WWW_SERVER GRAPHICS 4 blender - 4 ImageMagick giftrans gimp gphoto gphoto2 qiv xli ac3d dia + 4 ImageMagick giftrans gimp gphoto gphoto2 qiv xli ac3d 3 gimp-data-extras gqview sketch xloadimage xpcd xwpick 2 gif2png gimp-perl xfig xpcd-gimp gd-utils cameleo VariCAD VariCAD_de VariCAD_it VariCAD_es 1 libgr-progs libungif-progs qcad transfig zgv xpaint xmorph @@ -265,7 +267,7 @@ ARCHIVING 5 dump ncompress sharutils unzip mt-st 4 gtkzip 3 unarj unstuff - 2 zip mt-st taper + 2 zip taper 1 lha GNOME 4 gnozip @@ -284,19 +286,16 @@ SCANNER 4 gimp PHOTO - 5 gphoto - -HW"Rio 500" - 4 rio500 grio500 + 4 gphoto DATABASES 5 postgresql - 3 MySQL-client MySQL-shared postgresql + 3 MySQL-client MySQL-shared DATABASES_SERVER 4 postgresql-server 3 MySQL 3 postgresql-perl postgresql-python - 2 postgresql-jdbc postgresql-tk postgresql-tcl postgresql-odbc postgresql-tcl postgresql-test + 2 postgresql-jdbc postgresql-tk postgresql-odbc postgresql-tcl postgresql-test DEVELOPMENT 4 perl-Mysql 3 postgresql-devel @@ -400,7 +399,7 @@ DEVELOPMENT alsa-lib-devel audiofile-devel cups-devel e2fsprogs-devel egcs-objc-devel g-wrap-devel gkrellm-devel ibtk libPropList-devel licq-devel openldap-devel parted-devel pciutils-devel pilot-link-devel svgalib-devel - recode-devel aspell-devel cdrecord-devel cracklib-devel faces-devel fnlib-devel + recode-devel aspell-devel cracklib-devel faces-devel fnlib-devel freetype-devel gtk+mdk-devel gtkglarea-devel XFree86-static-libs imap-devel php-devel pth-devel sane-devel swig-devel xdelta-devel isapnptools-devel pango-devel readline-devel @@ -508,7 +507,7 @@ INSTALL XFree86 XFree86-glide-module Device3Dfx Glide_V3-DRI Glide_V5 Mesa XFree86-3DLabs XFree86-FBDev kernel kernel-smp kernel-enterprise kernel22 kernel22-smp kernel22-secure - autologin foomatic ntp cups-drivers lpr samba ncpfs ghostscript-utils + autologin ntp cups-drivers lpr samba ncpfs ghostscript-utils reiserfsprogs jfsprogs xfsprogs ipchains printer-utils rlpr samba-client ncpfs nc xpp LPRng pdq kups printer-testpages autologin ntp ipchains lvm -- cgit v1.2.1