Update of /cvsroot/fink/fink/perlmod/Fink
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1192/perlmod/Fink
Modified Files:
ChangeLog Services.pm Status.pm VirtPackage.pm
Log Message:
virtual packages always exist
Index: VirtPackage.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/VirtPackage.pm,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- VirtPackage.pm 14 Jul 2004 15:52:18 -0000 1.45
+++ VirtPackage.pm 16 Jul 2004 20:55:27 -0000 1.46
@@ -31,6 +31,11 @@
use POSIX qw(uname);
use Fink::Status;
+use constant {
+ STATUS_PRESENT => "install ok installed",
+ STATUS_ABSENT => "purge ok not-installed",
+};
+
use vars qw(
%options
);
@@ -81,72 +86,58 @@
# determine the kernel version
($dummy,$dummy,$darwin_version) = uname();
- # now find the cctools version
- print STDERR "- checking for cctools version... " if ($options{debug});
- if (-x "/usr/bin/ld" and -x "/usr/bin/what") {
- foreach(`/usr/bin/what /usr/bin/ld`) {
- if (/cctools-(\d+)/) {
- $cctools_version = $1;
- last;
- }
- }
- if (defined $cctools_version) {
- print STDERR $cctools_version, "\n" if ($options{debug});
- } else {
- print STDERR "unknown\n" if ($options{debug});
- }
- } else {
- print STDERR "/usr/bin/ld or /usr/bin/what not executable\n" if
($options{debug});
- }
-
- if (-x "/usr/bin/cc" and my $cctestfile = POSIX::tmpnam() and -x
"/usr/bin/touch") {
- system("/usr/bin/touch ${cctestfile}.c");
- my $command = "/usr/bin/cc -o ${cctestfile}.dylib ${cctestfile}.c
-dynamiclib -single_module >/dev/null 2>\&1";
- print STDERR "- running $command... " if ($options{debug});
- if (system($command) == 0) {
- print STDERR "-single_module passed\n" if ($options{debug});
- $cctools_single_module = '1.0';
- } else {
- print STDERR "failed\n" if ($options{debug});
- $cctools_single_module = undef;
- }
- unlink($cctestfile);
- unlink("${cctestfile}.c");
- unlink("${cctestfile}.dylib");
- }
# create dummy object for kernel version
$hash = {};
$hash->{package} = "darwin";
- $hash->{status} = "install ok installed";
+ $hash->{status} = STATUS_PRESENT;
$hash->{version} = $darwin_version."-1";
$hash->{description} = "[virtual package representing the kernel]";
+ $hash->{descdetail} = <<END;
+This package represents the XNU (Darwin) kernel, which is
+a core part of the system for Mac OS X and all other Darwin
+variants.
+END
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
$self->{$hash->{package}} = $hash;
# create dummy object for system version, if this is OS X at all
print STDERR "- checking OSX version... " if ($options{debug});
+
+ $hash = {};
+ $hash->{package} = "macosx";
+ $hash->{description} = "[virtual package representing the system]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
if (Fink::Services::get_sw_vers() ne 0) {
- print STDERR Fink::Services::get_sw_vers(), "\n" if ($options{debug});
- $hash = {};
- $hash->{package} = "macosx";
- $hash->{status} = "install ok installed";
+ $hash->{status} = STATUS_PRESENT;
$hash->{version} = Fink::Services::get_sw_vers()."-1";
- $hash->{description} = "[virtual package representing the system]";
- $self->{$hash->{package}} = $hash;
+ print STDERR $hash->{version}, "\n" if ($options{debug});
} else {
+ $hash->{status} = STATUS_ABSENT;
+ $hash->{version} = '0-0';
print STDERR "unknown\n" if ($options{debug});
}
+ $hash->{descdetail} = <<END;
+This package represents the Mac OS X software release.
+It will not show as installed on pure Darwin systems.
+END
+ $self->{$hash->{package}} = $hash;
# create dummy object for system perl
print STDERR "- checking system perl version... " if ($options{debug});
+
+ $hash = {};
+ $hash->{package} = "system-perl";
+ $hash->{description} = "[virtual package representing perl]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = <<END;
+This package represents the version of perl installed on the
+system in /usr/bin/perl.
+END
+
if (defined Fink::Services::get_system_perl_version()) {
- print STDERR Fink::Services::get_system_perl_version(), "\n" if
($options{debug});
- $hash = {};
- $hash->{package} = "system-perl";
- $hash->{status} = "install ok installed";
$hash->{version} = Fink::Services::get_system_perl_version()."-1";
- $hash->{description} = "[virtual package representing perl]";
- $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php?phpLang=en#virtpackage";
-
+ $hash->{status} = STATUS_PRESENT;
+ print STDERR Fink::Services::get_system_perl_version(), "\n" if
($options{debug});
my $perlver = my $shortver = Fink::Services::get_system_perl_version();
$shortver =~ s/\.//g;
my $perlprovides = 'perl' . $shortver . '-core, system-perl' .
$shortver;
@@ -155,10 +146,12 @@
}
$hash->{provides} = $perlprovides;
- $self->{$hash->{package}} = $hash;
} else {
+ $hash->{version} = '0-0';
+ $hash->{status} = STATUS_ABSENT;
print STDERR "unknown\n" if ($options{debug});
}
+ $self->{$hash->{package}} = $hash;
# create dummy object for java
print STDERR "- checking Java directories:\n" if ($options{debug});
@@ -177,27 +170,43 @@
$ver =~ s/^(..).*$/$1/;
$hash = {};
$hash->{package} = "system-java${ver}";
- $hash->{status} = "install ok installed";
+ $hash->{status} = STATUS_PRESENT;
$hash->{version} = $dir . "-1";
$hash->{description} = "[virtual package representing
Java $dir]";
- $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php?phpLang=en#virtpackage";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
$hash->{provides} = 'system-java';
if ($ver >= 14) {
$hash->{provides} .= ', jdbc, jdbc2, jdbc3,
jdbc-optional';
}
+ $hash->{descdetail} = <<END;
+This package represents the currently installed version
+of Java $dir.
+END
$self->{$hash->{package}} = $hash;
$latest_java = $dir;
+ $hash = {};
+ $hash->{package} = "system-java${ver}-dev";
+ $hash->{status} = STATUS_PRESENT;
+ $hash->{version} = $dir . "-1";
+ $hash->{description} = "[virtual package representing
Java $dir development headers]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = <<END;
+This package represents the development headers for
+Java $dir. If this package shows as not being installed,
+you must download the Java SDK from Apple at:
+
+ http://connect.apple.com/
+
+(free registration required)
+END
+
if (-d $javadir . '/' . $dir . '/Headers') {
print STDERR "$dir/Headers " if
($options{debug});
- $hash = {};
- $hash->{package} = "system-java${ver}-dev";
- $hash->{status} = "install ok installed";
- $hash->{version} = $dir . "-1";
- $hash->{description} = "[virtual package
representing Java $dir development headers]";
- $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php?phpLang=en#virtpackage";
- $self->{$hash->{package}} = $hash;
+ } else {
+ $hash->{status} = STATUS_ABSENT;
}
+ $self->{$hash->{package}} = $hash;
print STDERR "\n" if ($options{debug});
} else {
print STDERR "nothing\n" if ($options{debug});
@@ -216,16 +225,24 @@
}
# create dummy object for Java3D
+ $hash = {};
+ $hash->{package} = "system-java3d";
+ $hash->{status} = STATUS_PRESENT;
+ $hash->{version} = "0-1";
+ $hash->{description} = "[virtual package representing Java3D]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = <<END;
+This package represents the Java3D API. If it does not show
+as installed, you can download it from Apple at:
+
+ http://connect.apple.com/
+
+(free registration required)
+END
+
print STDERR "- searching for java3d... " if ($options{debug});
if (-f '/System/Library/Java/Extensions/j3dcore.jar') {
print STDERR "found /System/Library/Java/Extensions/j3dcore.jar\n" if
($options{debug});
- $hash = {};
- $hash->{package} = "system-java3d";
- $hash->{status} = "install ok installed";
- $hash->{version} = "0-1";
- $hash->{description} = "[virtual package representing Java3D]";
- $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php?phpLang=en#virtpackage";
- $self->{$hash->{package}} = $hash;
if (open(FILEIN, '/Library/Receipts/Java3D.pkg/Contents/Info.plist')) {
local $/ = undef;
if (<FILEIN> =~
/<key>CFBundleShortVersionString<\/key>[\r\n\s]*<string>([\d\.]+)<\/string>/) {
@@ -234,20 +251,31 @@
close(FILEIN);
}
} else {
+ $hash->{status} = STATUS_ABSENT;
+ $hash->{version} = '0-0';
print STDERR "missing /System/Library/Java/Extensions/j3dcore.jar\n"
if ($options{debug});
}
+ $self->{$hash->{package}} = $hash;
# create dummy object for JavaAdvancedImaging
+ $hash = {};
+ $hash->{package} = "system-javaai";
+ $hash->{status} = STATUS_PRESENT;
+ $hash->{version} = "0-1";
+ $hash->{description} = "[virtual package representing Java Advanced Imaging]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = <<END;
+This package represents the Java Advanced Imaging API. If it
+does not show as installed, you can download it from Apple at:
+
+ http://connect.apple.com/
+
+(free registration required)
+END
+
print STDERR "- searching for javaai... " if ($options{debug});
if (-f '/System/Library/Java/Extensions/jai_core.jar') {
print STDERR "found /System/Library/Java/Extensions/jai_core.jar\n" if
($options{debug});
- $hash = {};
- $hash->{package} = "system-javaai";
- $hash->{status} = "install ok installed";
- $hash->{version} = "0-1";
- $hash->{description} = "[virtual package representing Java Advanced
Imaging]";
- $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php?phpLang=en#virtpackage";
- $self->{$hash->{package}} = $hash;
if (open(FILEIN,
'/Library/Receipts/JavaAdvancedImaging.pkg/Contents/Info.plist')) {
local $/ = undef;
if (<FILEIN> =~
/<key>CFBundleShortVersionString<\/key>[\r\n\s]*<string>([\d\.]+)<\/string>/) {
@@ -256,31 +284,100 @@
close(FILEIN);
}
} else {
+ $hash->{status} = STATUS_ABSENT;
+ $hash->{version} = '0-0';
print STDERR "missing /System/Library/Java/Extensions/jai_core.jar\n"
if ($options{debug});
}
+ $self->{$hash->{package}} = $hash;
# create dummy object for cctools version, if version was found in Config.pm
+ print STDERR "- checking for cctools version... " if ($options{debug});
+
+ if (-x "/usr/bin/ld" and -x "/usr/bin/what") {
+ foreach(`/usr/bin/what /usr/bin/ld`) {
+ if (/cctools-(\d+)/) {
+ $cctools_version = $1;
+ last;
+ }
+ }
+ } else {
+ print STDERR "/usr/bin/ld or /usr/bin/what not executable... " if
($options{debug});
+ }
+
+ $hash = {};
+ $hash->{package} = "cctools";
+ $hash->{status} = STATUS_PRESENT;
+ $hash->{description} = "[virtual package representing the developer tools]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{builddependsonly} = "true";
+ $hash->{descdetail} = <<END;
+This package represents the C/C++/ObjC developer tools
+provided by Apple. If it does not show as installed,
+you can download it from Apple at:
+
+ http://connect.apple.com/
+
+(free registration required)
+END
+
if (defined ($cctools_version)) {
- $hash = {};
- $hash->{package} = "cctools";
- $hash->{status} = "install ok installed";
$hash->{version} = $cctools_version."-1";
- $hash->{description} = "[virtual package representing the developer
tools]";
- $hash->{builddependsonly} = "true";
- $self->{$hash->{package}} = $hash;
+ print STDERR $hash->{version}, "\n" if ($options{debug});
+ } else {
+ print STDERR "unknown\n" if ($options{debug});
+ $hash->{version} = '0-0';
+ $hash->{status} = STATUS_ABSENT;
}
+ $self->{$hash->{package}} = $hash;
# create dummy object for cctools-single-module, if supported
- if ($cctools_single_module) {
- $hash = {};
- $hash->{package} = "cctools-single-module";
- $hash->{status} = "install ok installed";
- $hash->{version} = $cctools_single_module."-1";
- $hash->{description} = "[virtual package, your dev tools support
-single_module]";
- $hash->{builddependsonly} = "true";
- $self->{$hash->{package}} = $hash;
+ print STDERR "- checking for cctools -single_module support:\n" if
($options{debug});
+
+ if (-x "/usr/bin/cc" and my $cctestfile = POSIX::tmpnam() and -x
"/usr/bin/touch") {
+ system("/usr/bin/touch ${cctestfile}.c");
+ my $command = "/usr/bin/cc -o ${cctestfile}.dylib ${cctestfile}.c
-dynamiclib -single_module >/dev/null 2>\&1";
+ print STDERR "- running $command... " if ($options{debug});
+ if (system($command) == 0) {
+ print STDERR "-single_module passed\n" if ($options{debug});
+ $cctools_single_module = '1.0';
+ } else {
+ print STDERR "failed\n" if ($options{debug});
+ $cctools_single_module = undef;
+ }
+ unlink($cctestfile);
+ unlink("${cctestfile}.c");
+ unlink("${cctestfile}.dylib");
}
+ $hash = {};
+ $hash->{package} = "cctools-single-module";
+ $hash->{status} = STATUS_PRESENT;
+ $hash->{version} = $cctools_single_module."-1";
+ $hash->{description} = "[virtual package, your dev tools support
-single_module]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{builddependsonly} = "true";
+ $hash->{descdetail} = <<END;
+This package represents support for the -single_module
+flag in the development tools provided by Apple. If it
+does not show as installed, you can download the latest
+developer tools (called XCode for Mac OS X 10.3 and
+above) from Apple at:
+
+ http://connect.apple.com/
+
+(free registration required)
+END
+
+ if (not $cctools_single_module) {
+ $hash->{status} = STATUS_ABSENT;
+ if ($cctools_version) {
+ $hash->{version} = $cctools_version;
+ } else {
+ $hash->{version} = '0-0';
+ }
+ }
+ $self->{$hash->{package}} = $hash;
+
print STDERR "- checking for various GCC versions:" if ($options{debug});
if (opendir(DIR, "/usr/bin")) {
for my $gcc (grep(/^gcc/, readdir(DIR))) {
@@ -292,20 +389,42 @@
if ($version eq "2.95.2") {
$hash = {};
$hash->{package} = "gcc2";
- $hash->{status} = "install ok
installed";
+ $hash->{status} = STATUS_PRESENT;
$hash->{version} = "$version-1";
$hash->{description} = "[virtual
package representing the gcc $version compiler]";
- $hash->{homepage} =
"http://fink.sourceforge.net/faq/comp-general.php?phpLang=en#gcc2";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/comp-general.php#gcc2";
$hash->{builddependsonly} = "true";
+ $hash->{descdetail} = <<END;
+This package represents the gcc $version compiler, which
+is part of the Apple developer tools (also known as XCode
+on Mac OS X 10.3 and above). The latest versions of the
+Apple developer tools are always available from Apple at:
+
+ http://connect.apple.com/
+
+(free registration required)
+END
+
$self->{$hash->{package}} = $hash;
}
my ($shortversion) = $version =~ /^(\d+\.\d+)/;
$hash = {};
$hash->{package} = "gcc$shortversion";
- $hash->{status} = "install ok installed";
+ $hash->{status} = STATUS_PRESENT;
$hash->{version} = "$version-1";
$hash->{description} = "[virtual package
representing the gcc $version compiler]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
$hash->{builddependsonly} = "true";
+ $hash->{descdetail} = <<END;
+This package represents the gcc $version compiler, which
+is part of the Apple developer tools (also known as XCode
+on Mac OS X 10.3 and above). The latest versions of the
+Apple developer tools are always available from Apple at:
+
+ http://connect.apple.com/
+
+(free registration required)
+END
$self->{$hash->{package}} = $hash;
print STDERR " - found $version\n" if
($options{debug});
} else {
@@ -318,14 +437,26 @@
print STDERR " - couldn't get the contents of /usr/bin: $!\n" if
($options{debug});
}
+ print STDERR "- checking for gimp-print... " if ($options{debug});
+ $hash = {};
+ $hash->{package} = "gimp-print-shlibs";
+ $hash->{version} = "4.2.5-1";
+ $hash->{description} = "[virtual package representing Apple's install of Gimp
Print]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = <<END;
+This package represents the version of Gimp-Print that
+comes with Mac OS X 10.3 and above. If it shows as not
+installed, you must install the GimpPrintPrinterDrivers
+package that came with your Mac OS X CDs.
+END
+
if ( has_lib('libgimpprint.1.1.0.dylib') ) {
- $hash = {};
- $hash->{package} = "gimp-print-shlibs";
- $hash->{status} = "install ok installed";
- $hash->{version} = "4.2.5-1";
- $hash->{description} = "[virtual package representing Apple's install
of Gimp Print]";
- $self->{$hash->{package}} = $hash;
+ print STDERR "4.2.5-1\n" if ($options{debug});
+ $hash->{status} = STATUS_PRESENT;
+ } else {
+ $hash->{status} = STATUS_ABSENT;
}
+ $self->{$hash->{package}} = $hash;
if ( has_lib('libX11.6.dylib') )
{
@@ -346,6 +477,52 @@
# if no xfree86 packages are installed, put in our own placeholder
if ($packagecount == 0) {
+
+ my $descdetail = <<END;
+This package represents a pre-existing installation
+of X11 on your system that is not installed through
+Fink.
+
+If it shows as not installed, you likely need to
+install the X11User and/or X11SDK packages from
+Apple, or a similarly-compatible version. For more
+information, please see the FAQ entry on X11
+installation at:
+
+ http://fink.sourceforge.net/faq/usage-packages.php#apple-x11-wants-xfree86
+
+END
+
+ $hash = {};
+ $hash->{package} = "system-xfree86-shlibs";
+ $hash->{version} = "0-0";
+ $hash->{status} = STATUS_ABSENT;
+ $hash->{description} = "[virtual package representing Apple's
install of X11]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = $descdetail;
+ $hash->{provides} = 'x11-shlibs, libgl-shlibs, xft1-shlibs,
xft2-shlibs, fontconfig1-shlibs, xfree86-base-threaded-shlibs';
+ $self->{$hash->{package}} = $hash;
+
+ $hash = {};
+ $hash->{package} = "system-xfree86";
+ $hash->{version} = "0-0";
+ $hash->{status} = STATUS_ABSENT;
+ $hash->{description} = "[virtual package representing Apple's
install of X11]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = $descdetail;
+ $hash->{provides} = 'x11, xserver, libgl, xft1, xft2,
fontconfig1, xfree86-base-threaded';
+ $self->{$hash->{package}} = $hash;
+
+ $hash = {};
+ $hash->{package} = "system-xfree86-dev";
+ $hash->{version} = "0-0";
+ $hash->{status} = STATUS_ABSENT;
+ $hash->{description} = "[virtual package representing Apple's
install of X11]";
+ $hash->{homepage} =
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage";
+ $hash->{descdetail} = $descdetail;
+ $hash->{provides} = 'x11-dev, libgl-dev, xft1-dev, xft2-dev,
fontconfig1-dev, xfree86-base-threaded-dev';
+ $self->{$hash->{package}} = $hash;
+
my ($xver) = check_x11_version();
if (defined $xver) {
$hash = {};
@@ -448,10 +625,11 @@
if (exists $provides->{$pkg}) {
$self->{$pkg} = {
'package' => $pkg,
- 'status' => "install ok
installed",
+ 'status' =>
STATUS_PRESENT,
'version' => "2:${xver}-2",
'description' => "[placeholder
for user installed x11]",
- 'homepage' =>
"http://fink.sourceforge.net/faq/usage-general.php?phpLang=en#virtpackage",
+ 'descdetail' => $descdetail,
+ 'homepage' =>
"http://fink.sourceforge.net/faq/usage-general.php#virtpackage",
'provides' => join(', ',
@{$provides->{$pkg}}),
};
if ($pkg eq "system-xfree86-shlibs") {
@@ -472,7 +650,6 @@
### query by package name
# returns false when not installed
# returns full version when installed and configured
-
sub query_package {
my $self = shift;
my $pkgname = shift;
@@ -486,21 +663,18 @@
}
}
- if (not exists $self->{$pkgname}) {
- return 0;
- }
- $hash = $self->{$pkgname};
- if (not exists $hash->{version}) {
- return 0;
+ if (exists $self->{$pkgname} and exists $self->{$pkgname}->{status}) {
+ my ($purge, $ok, $installstat) = split(/\s+/,
$self->{$pkgname}->{status});
+ return $self->{$pkgname}->{version} if ($installstat eq "installed"
and exists $self->{$pkgname}->{version});
}
- return $hash->{version};
+ return undef;
}
+
### retrieve whole list with versions
# doesn't care about installed status
# returns a hash ref, key: package name, value: hash with core fields
# in the hash, 'package' and 'version' are guaranteed to exist
-
sub list {
my $self = shift;
%options = (@_);
@@ -522,7 +696,7 @@
next unless exists $hash->{version};
$newhash = { 'package' => $pkgname, 'version' => $hash->{version} };
- foreach $field (qw(depends provides conflicts maintainer description
homepage status builddependsonly)) {
+ foreach $field (qw(depends provides conflicts maintainer description
descdetail homepage status builddependsonly)) {
if (exists $hash->{$field}) {
$newhash->{$field} = $hash->{$field};
}
@@ -533,6 +707,7 @@
return $list;
}
+
sub has_header {
my $headername = shift;
my $dir;
Index: Status.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/Status.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- Status.pm 17 Feb 2004 08:28:13 -0000 1.15
+++ Status.pm 16 Jul 2004 20:55:27 -0000 1.16
@@ -150,17 +150,10 @@
$self->validate();
- if (not exists $self->{$pkgname}) {
- return 0;
- }
- $hash = $self->{$pkgname};
- if (not exists $hash->{status} or not exists $hash->{version}) {
- return 0;
- }
- if ($hash->{status} =~ /^\S+\s+ok\s+installed$/i) {
- return $hash->{version};
+ if (exists $self->{$pkgname} and $self->{$pkgname}->{status} =~
/\s+installed$/i) {
+ return $self->{$pkgname}->{version};
}
- return 0;
+ return undef;
}
### retrieve whole list with versions
Index: Services.pm
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/Services.pm,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -d -r1.113 -r1.114
--- Services.pm 14 Jul 2004 05:25:24 -0000 1.113
+++ Services.pm 16 Jul 2004 20:55:27 -0000 1.114
@@ -633,7 +633,9 @@
$a = shift;
$op = shift;
$b = shift;
-
+
+ return undef if (not defined $a or not defined $op or not defined $b);
+
if (exists($Version_Cmp_Cache{$a}{$b})) {
$res = $Version_Cmp_Cache{$a}{$b};
} else {
Index: ChangeLog
===================================================================
RCS file: /cvsroot/fink/fink/perlmod/Fink/ChangeLog,v
retrieving revision 1.663
retrieving revision 1.664
diff -u -d -r1.663 -r1.664
--- ChangeLog 14 Jul 2004 15:52:18 -0000 1.663
+++ ChangeLog 16 Jul 2004 20:55:26 -0000 1.664
@@ -35,6 +35,20 @@
* VirtPackage.pm: system-java
* PkgVersion.pm: support for Type: java
+2004-07-07 Benjamin Reed <[EMAIL PROTECTED]>
+
+ * PkgVersion.pm: Check whether VirtPackage's return value is
+ undefined, since "0" is a true version, undefined is a non-
+ existent one.
+
+ * Services.pm: Treat undefined values passed to a version compare
+ as a false value.
+
+ * Status.pm: Simplify status checking.
+
+ * VirtPackage.pm: Change all virtuals to exist even if they're
+ not installed, with status "purge ok not-installed".
+
2004-07-02 Dave Morrison <[EMAIL PROTECTED]>
* Bootstrap.pm: Allow bootstrapping with perl 5.8.2 and perl 5.8.4.
@@ -193,6 +207,13 @@
* VirtPackage.pm: adjust the Provides in the system-perl packages
+2004-05-21 Daniel Macks <[EMAIL PROTECTED]>
+
+ * VirtPackage.pm: Replaced dpkg "status" strings with constants.
+ Changed query_package to respect "status" (parallel to that method
+ in Status.pm) instead of assuming presence of package entry is
+ equivalent to it being installed.
+
2004-05-13 Daniel Macks <[EMAIL PROTECTED]>
* Command.pm: Fixed rm_f to not return failure for non-existent files.
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
Fink-commits mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-commits