perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: [mp2 patch] lib/ModPerl/DummyVersions.pm
Date Tue, 04 Jan 2005 17:02:50 GMT
Randy Kobes wrote:
> On Tue, 4 Jan 2005, Stas Bekman wrote:
> 
> 
>>As noted the PAUSE indexer can't index any of our
>>autogenerated files, since they aren't in the distro that
>>gets uploaded to CPAN. As we really need to get RC3 out
>>tomorrow, the following temp solution resolves this
>>problem, by autogenerating lib/ModPerl/DummyVersions.pm
>>which looks like:
> 
> [ .. ]
> 
>>the issues:
>>
>>1) I'm not sure APR modules should get their versions as
>>2.0.0. Should it be 0.9 instead? since Apache 2.0 uses
>>libapr 0.9.x.
> 
> 
> +1: that seems to make sense.
> 
> 
>>2) This module will get installed so we should adjust MM rules to ignore
>>it on make install.
> 
> 
> +1 for that as well.

Haven't addressed this issue, yet

> I'm not sure it matters, but should the version specified in
> DummyVersions.pm match that which is found in the
> auto-generated file when things are built (0.01, I believe)?

I think those should match the mp2 version. So now we get:

#
# /*
#  * *********** WARNING **************
#  * This file generated by ModPerl::WrapXS/0.01
#  * Any changes made here will be lost
#  * ***********************************
#  * 01: lib/ModPerl/Code.pm:702
#  * 02: /home/stas/apache.org/mp2-pool/lib/ModPerl/WrapXS.pm:1082
#  * 03: /home/stas/apache.org/mp2-pool/lib/ModPerl/WrapXS.pm:1132
#  * 04: Makefile.PL:413
#  * 05: Makefile.PL:317
#  * 06: Makefile.PL:53
#  */
#

package APR::Util;
$APR::Util::VERSION             = 0.900000;

package APR::Base64;
$APR::Base64::VERSION           = 0.900000;

package Apache::URI;
$Apache::URI::VERSION           = 1.099020;

package APR::Bucket;
$APR::Bucket::VERSION           = 0.900000;

package Apache::FilterRec;
$Apache::FilterRec::VERSION     = 1.099020;

package APR::Finfo;
$APR::Finfo::VERSION            = 0.900000;

package APR::SockAddr;
$APR::SockAddr::VERSION         = 0.900000;

package ModPerl::Global;
$ModPerl::Global::VERSION       = 1.099020;

package Apache::CmdParms;
$Apache::CmdParms::VERSION      = 1.099020;

package APR::BucketType;
$APR::BucketType::VERSION       = 0.900000;

package Apache::ServerUtil;
$Apache::ServerUtil::VERSION    = 1.099020;

package Apache::ServerRec;
$Apache::ServerRec::VERSION     = 1.099020;

package APR::Error;
$APR::Error::VERSION            = 0.900000;

package Apache::Connection;
$Apache::Connection::VERSION    = 1.099020;

package Apache::HookRun;
$Apache::HookRun::VERSION       = 1.099020;

package Apache::SubProcess;
$Apache::SubProcess::VERSION    = 1.099020;

package APR::Date;
$APR::Date::VERSION             = 0.900000;

package Apache::Module;
$Apache::Module::VERSION        = 1.099020;

package APR::UUID;
$APR::UUID::VERSION             = 0.900000;

package APR::Table;
$APR::Table::VERSION            = 0.900000;

package Apache::RequestUtil;
$Apache::RequestUtil::VERSION   = 1.099020;

package ModPerl::Util;
$ModPerl::Util::VERSION         = 1.099020;

package Apache::Access;
$Apache::Access::VERSION        = 1.099020;

package Apache::Log;
$Apache::Log::VERSION           = 1.099020;

package Apache::Process;
$Apache::Process::VERSION       = 1.099020;

package APR::URI;
$APR::URI::VERSION              = 0.900000;

package APR::Brigade;
$APR::Brigade::VERSION          = 0.900000;

package APR::ThreadMutex;
$APR::ThreadMutex::VERSION      = 0.900000;

package APR::BucketAlloc;
$APR::BucketAlloc::VERSION      = 0.900000;

package Apache::Util;
$Apache::Util::VERSION          = 1.099020;

package Apache::MPM;
$Apache::MPM::VERSION           = 1.099020;

package APR::IpSubnet;
$APR::IpSubnet::VERSION         = 0.900000;

package Apache::Command;
$Apache::Command::VERSION       = 1.099020;

package Apache::SubRequest;
$Apache::SubRequest::VERSION    = 1.099020;

package APR::OS;
$APR::OS::VERSION               = 0.900000;

package Apache::RequestRec;
$Apache::RequestRec::VERSION    = 1.099020;

package Apache::RequestIO;
$Apache::RequestIO::VERSION     = 1.099020;

package APR::Socket;
$APR::Socket::VERSION           = 0.900000;

package Apache::Directive;
$Apache::Directive::VERSION     = 1.099020;

package APR::String;
$APR::String::VERSION           = 0.900000;

package Apache::Response;
$Apache::Response::VERSION      = 1.099020;

package APR::Pool;
$APR::Pool::VERSION             = 0.900000;

package Apache::Filter;
$Apache::Filter::VERSION        = 1.099020;

package ModPerl::MethodLookup;
$ModPerl::MethodLookup::VERSION = 1.099020;

notice that it already uses the other patch that introduces the new 
version convention.

and here is the patch:

Index: lib/ModPerl/Manifest.pm
===================================================================
--- lib/ModPerl/Manifest.pm	(revision 123827)
+++ lib/ModPerl/Manifest.pm	(working copy)
@@ -58,6 +58,9 @@

      }}, $cwd);

+    # files to add which aren't under svn
+    push @files, qw(lib/ModPerl/DummyVersions.pm);
+
      return @files;
  }

Index: lib/ModPerl/WrapXS.pm
===================================================================
--- lib/ModPerl/WrapXS.pm	(revision 123827)
+++ lib/ModPerl/WrapXS.pm	(working copy)
@@ -1072,6 +1072,33 @@
      close $fh;
  }

+sub write_module_versions_file {
+    my $self = shift;
+
+    my $file = catfile "lib", "ModPerl", "DummyVersions.pm";
+    debug "creating $file";
+    open my $fh, ">$file" or die "Can't open $file: $!";
+
+    my $noedit_warning = $self->ModPerl::Code::noedit_warning_hash();
+    print $fh "$noedit_warning\n";
+
+    my @modules = keys %{ $self->{XS} };
+    push @modules, qw(ModPerl::MethodLookup);
+
+    my $len = 0;
+    for (@modules) {
+        $len = length $_ if length $_ > $len;
+    }
+
+    require mod_perl;
+    $len += length '$::VERSION';
+    for (@modules) {
+        my $ver = /^APR/ ? "0.900000" : "$mod_perl::VERSION";
+        printf $fh "package %s;\n%-${len}s = %s;\n\n",
+            $_, '$'.$_."::VERSION", $ver;
+    }
+}
+
  sub generate {
      my $self = shift;

@@ -1103,6 +1130,7 @@
      }

      $self->write_lookup_method_file;
+    $self->write_module_versions_file;
  }

  #three .sym files are generated:


-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message