summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2001-09-16 19:58:22 +0000
committerPascal Rigaux <pixel@mandriva.com>2001-09-16 19:58:22 +0000
commitf7d35b5e13d69f57e2713ffab1129092287c5e73 (patch)
treeb767b577cd7efb25f1f247da0a11ce165b075982
parent425c0ea4e94fa0ecabd6a6829fdbb8c9bef52774 (diff)
downloaddrakx-f7d35b5e13d69f57e2713ffab1129092287c5e73.tar
drakx-f7d35b5e13d69f57e2713ffab1129092287c5e73.tar.gz
drakx-f7d35b5e13d69f57e2713ffab1129092287c5e73.tar.bz2
drakx-f7d35b5e13d69f57e2713ffab1129092287c5e73.tar.xz
drakx-f7d35b5e13d69f57e2713ffab1129092287c5e73.zip
- 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
-rw-r--r--perl-install/pkgs.pm22
-rw-r--r--perl-install/share/rpmsrate35
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