summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Perl-RPM/ChangeLog21
-rw-r--r--Perl-RPM/RPM.pm4
-rw-r--r--Perl-RPM/RPM/Constants.pm6
-rw-r--r--Perl-RPM/RPM/Database.pm6
-rw-r--r--Perl-RPM/RPM/Error.pm6
-rw-r--r--Perl-RPM/RPM/Header.pm6
-rw-r--r--Perl-RPM/RPM/Package.pm6
-rw-r--r--Perl-RPM/RPM/Transaction.pm6
8 files changed, 41 insertions, 20 deletions
diff --git a/Perl-RPM/ChangeLog b/Perl-RPM/ChangeLog
index c702c7143..eb844aec8 100644
--- a/Perl-RPM/ChangeLog
+++ b/Perl-RPM/ChangeLog
@@ -184,3 +184,24 @@ Revision history for Perl extension RPM.
It's still leaking RPM::Header objects in the RPM::Database routines.
The alternative is a nasty mix of "attempt to free unreferenced
scalar" errors and core dumps.
+
+0.3
+ - tenth alpha
+
+ Much of the leakage of RPM::Header objects is now gone, due mostly to
+ changing the prototype of rpmdb_FETCH to returning a SV* instead of
+ a RPM::Header reference. The various class DESTROY methods seem to be
+ getting called in the correct order, now.
+
+ Caught a case in the RPM::Header class where attempting to reference
+ an element of a non-existent tag would trigger auto-vivification on
+ that key, which in turn was leading to some bad calls being made to
+ the rpmlib routines.
+
+ Re-did the av-assignment in rpmhdr_create. This should save on SV*
+ creation, though it might not have been a leak. Still, this method
+ is more efficient overall.
+
+ The current state of the module will be released to allow for use by
+ other parties, without the wait for any ongoing development milestones
+ on my part.
diff --git a/Perl-RPM/RPM.pm b/Perl-RPM/RPM.pm
index c6ea9399b..8c29eaa3f 100644
--- a/Perl-RPM/RPM.pm
+++ b/Perl-RPM/RPM.pm
@@ -9,8 +9,8 @@ require DynaLoader;
require Exporter;
@ISA = qw(Exporter DynaLoader);
-$VERSION = '0.292';
-$revision = do { my @r=(q$Revision: 1.14 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
+$VERSION = '0.3';
+$revision = do { my @r=(q$Revision: 1.15 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
@EXPORT = qw(rpm_osname rpm_archname);
@EXPORT_OK = (@EXPORT, 'vercmp');
diff --git a/Perl-RPM/RPM/Constants.pm b/Perl-RPM/RPM/Constants.pm
index be38ffa6d..e1038417a 100644
--- a/Perl-RPM/RPM/Constants.pm
+++ b/Perl-RPM/RPM/Constants.pm
@@ -5,7 +5,7 @@
#
###############################################################################
#
-# $Id: Constants.pm,v 1.14 2000/11/10 09:55:50 rjray Exp $
+# $Id: Constants.pm,v 1.15 2001/03/07 19:17:24 rjray Exp $
#
# Description: Constants for the RPM package
#
@@ -26,8 +26,8 @@ use RPM;
@ISA = qw(Exporter);
-$VERSION = '0.292';
-$revision = do { my @r=(q$Revision: 1.14 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
+$VERSION = '0.3';
+$revision = do { my @r=(q$Revision: 1.15 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
@EXPORT_OK = qw(
ADD_SIGNATURE
diff --git a/Perl-RPM/RPM/Database.pm b/Perl-RPM/RPM/Database.pm
index 37691cd0d..f41d9a8f6 100644
--- a/Perl-RPM/RPM/Database.pm
+++ b/Perl-RPM/RPM/Database.pm
@@ -5,7 +5,7 @@
#
###############################################################################
#
-# $Id: Database.pm,v 1.14 2000/11/11 09:24:32 rjray Exp $
+# $Id: Database.pm,v 1.15 2001/03/07 19:17:25 rjray Exp $
#
# Description: The RPM::Database class provides access to the RPM database
# as a tied hash, whose keys are taken as the names of
@@ -35,8 +35,8 @@ use subs qw(new import);
require RPM;
require RPM::Header;
-$VERSION = '0.292';
-$revision = do { my @r=(q$Revision: 1.14 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
+$VERSION = '0.3';
+$revision = do { my @r=(q$Revision: 1.15 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
1;
diff --git a/Perl-RPM/RPM/Error.pm b/Perl-RPM/RPM/Error.pm
index 677c61ea1..b3396a0f2 100644
--- a/Perl-RPM/RPM/Error.pm
+++ b/Perl-RPM/RPM/Error.pm
@@ -7,7 +7,7 @@
#
###############################################################################
#
-# $Id: Error.pm,v 1.7 2000/11/10 09:55:51 rjray Exp $
+# $Id: Error.pm,v 1.8 2001/03/07 19:17:25 rjray Exp $
#
# Description: Error-management support that cooperates with the primary
# Perl/C error glue.
@@ -33,8 +33,8 @@ require RPM;
@ISA = qw(Exporter);
-$VERSION = '0.292';
-$revision = do { my @r=(q$Revision: 1.7 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
+$VERSION = '0.3';
+$revision = do { my @r=(q$Revision: 1.8 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
@EXPORT = qw(clear_errors set_error_callback rpm_error);
@EXPORT_OK = @EXPORT;
diff --git a/Perl-RPM/RPM/Header.pm b/Perl-RPM/RPM/Header.pm
index 0c4f79909..6cf9072e8 100644
--- a/Perl-RPM/RPM/Header.pm
+++ b/Perl-RPM/RPM/Header.pm
@@ -5,7 +5,7 @@
#
###############################################################################
#
-# $Id: Header.pm,v 1.17 2001/02/27 07:37:01 rjray Exp $
+# $Id: Header.pm,v 1.18 2001/03/07 19:17:25 rjray Exp $
#
# Description: The RPM::Header class provides access to the RPM Header
# structure as a tied hash, allowing direct access to the
@@ -38,8 +38,8 @@ use RPM;
use RPM::Error;
use RPM::Constants ':rpmerr';
-$VERSION = '0.292';
-$revision = do { my @r=(q$Revision: 1.17 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
+$VERSION = '0.3';
+$revision = do { my @r=(q$Revision: 1.18 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
@ISA = qw(Exporter);
@EXPORT = ();
diff --git a/Perl-RPM/RPM/Package.pm b/Perl-RPM/RPM/Package.pm
index e250bba6d..928f812cf 100644
--- a/Perl-RPM/RPM/Package.pm
+++ b/Perl-RPM/RPM/Package.pm
@@ -7,7 +7,7 @@
#
###############################################################################
#
-# $Id: Package.pm,v 1.7 2000/11/10 09:55:51 rjray Exp $
+# $Id: Package.pm,v 1.8 2001/03/07 19:17:25 rjray Exp $
#
# Description: Perl-level glue and such for the RPM::Package class, the
# methods and accessors to package operations.
@@ -33,8 +33,8 @@ require Exporter;
use RPM;
-$VERSION = '0.292';
-$revision = do { my @r=(q$Revision: 1.7 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
+$VERSION = '0.3';
+$revision = do { my @r=(q$Revision: 1.8 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
@ISA = qw(Exporter);
@EXPORT = ();
diff --git a/Perl-RPM/RPM/Transaction.pm b/Perl-RPM/RPM/Transaction.pm
index 452eb9f91..edb16114c 100644
--- a/Perl-RPM/RPM/Transaction.pm
+++ b/Perl-RPM/RPM/Transaction.pm
@@ -7,7 +7,7 @@
#
###############################################################################
#
-# $Id: Transaction.pm,v 1.5 2000/11/10 09:55:51 rjray Exp $
+# $Id: Transaction.pm,v 1.6 2001/03/07 19:17:25 rjray Exp $
#
# Description: Perl-level glue and such for the RPM::Transaction class,
# the methods and accessors to transaction operations.
@@ -35,8 +35,8 @@ use RPM;
use RPM::Header;
use RPM::Package;
-$VERSION = '0.292';
-$revision = do { my @r=(q$Revision: 1.5 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
+$VERSION = '0.3';
+$revision = do { my @r=(q$Revision: 1.6 $=~/\d+/g); sprintf "%d."."%02d"x$#r,@r };
1;