This file is indexed.

/usr/share/doc/libapache2-mod-perl2-doc/docs/2.0/rename.html is in libapache2-mod-perl2-doc 2.0.8+httpd24-r1449661-6ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rev="made" href="mailto:root@localhost" />
</head>

<body style="background-color: white">



<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#Description">Description</a></li>
  <li><a href="#Synopsis">Synopsis</a></li>
  <li><a href="#Changes">Changes</a></li>
  <li><a href="#Effects">Effects</a></li>
  <li><a href="#See-Also">See Also</a></li>
  <li><a href="#Authors">Authors</a></li>
</ul>

<h1 id="NAME">NAME</h1>

<p>mod_perl 2.0 renaming</p>

<h1 id="Description">Description</h1>

<p>This document discusses the effects of the decision to rename parts of the mod_perl API.</p>

<h1 id="Synopsis">Synopsis</h1>

<p>During a sequence of release candidates leading up to the official release of mod_perl 2, in late December, 2004 there was considerable discussion regarding the choice of namespaces for the 2.0 API. The main concern expressed was that some of the <code>Apache::*</code> modules used in mod_perl 2 had the same names as those in mod_perl 1. After a lively and, at times, heated debate, a proposal was made to rename parts of the mod_perl 2 API - see the thread at <a href="http://marc.theaimsgroup.com/?t=111135037100002&amp;r=1&amp;w=2">http://marc.theaimsgroup.com/?t=111135037100002&amp;r=1&amp;w=2</a>. This proposal was subsequently voted on and then adopted.</p>

<h1 id="Changes">Changes</h1>

<p>The main changes involved in this renaming are as follows.</p>

<ul>

<li><p>Rename all <code>Apache::*</code> modules to <code>Apache2::*</code>, save for the following exceptions:</p>

<ul>

<li><p>The <code>Apache::Test*</code> modules in the <code>Apache-Test</code> distribution are unaffected by this rename.</p>

</li>
<li><p>Constants under the <code>Apache::*</code> namespace, such as <code>Apache::OK</code>, are now called as <code>Apache2::Const::*</code> (for example, <code>Apache2::Const::OK</code>).</p>

</li>
<li><p>Constants under the <code>APR::*</code> namespace, such as <code>APR::SUCCESS</code>, are now called as <code>APR::Const::*</code> (for example, <code>APR::Const::SUCCESS</code>).</p>

</li>
</ul>

</li>
<li><p><code>Apache-&gt;request()</code> has been renamed to <code>Apache2::RequestUtil-&gt;request()</code>.</p>

</li>
<li><p><code>Apache-&gt;server()</code> has been renamed to <code>Apache2::ServerUtil-&gt;server()</code>.</p>

</li>
<li><p>Rename <code>mod_perl.pm</code> to <code>mod_perl2.pm</code></p>

</li>
<li><p>Discontinue the practice of installing mod_perl in a relative <i>Apache2</i> subdirectory, so that the use of <code>Apache2.pm</code> to adjust <code>@INC</code> is no longer needed.</p>

</li>
</ul>

<p>Concurrent with these changes, a decision was also made to refuse to install mod_perl 2 in the same Perl tree as any installed mod_perl 2 package of version prior to 1.999_22.</p>

<h1 id="Effects">Effects</h1>

<p>The mod_perl developers did not take lightly the effects of changing the API at such a late stage in the development cycle. For most users the change to the new API should be relatively straightforward:</p>

<ul>

<li><p>Before installing mod_perl 2, either remove an earlier mod_perl 2 installation (prior to 1.999022), or else choose to install the new version in a different area. To remove enough of a prior installation of mod_perl 2 in order to satisfy this requirement, one can do, on Unix,</p>

<pre><code>  % find /usr/lib/perl5 -name &#39;Apache2*&#39; -exec rm -rf {} \;</code></pre>

<p>where <i>/usr/lib/perl5</i> is the top-level root of your Perl tree. Note that this will also remove any 3rd party Apache modules installed under an <i>Apache2</i> subdirectory. In many situations you would want to do this, as such modules will need porting to the new API. However, if there are modules under this location that you want to keep, you can use</p>

<pre><code>  % find /usr/lib/perl5 -name &#39;Apache2*&#39; -exec ls -lR {} \;</code></pre>

<p>to list the files under this tree.</p>

<p>For Win32 ppm users, the command</p>

<pre><code>  ppm&gt; remove mod_perl</code></pre>

<p>within the ppm shell will remove an installed <code>mod_perl</code> ppm package.</p>

</li>
<li><p>If building mod_perl 2 from source, the <code>Makefile.PL</code> argument of <code>MP_INST_APACHE2</code> is no longer supported.</p>

</li>
<li><p>Replace the use of</p>

<pre><code>    use Apache::SomeCoreModule;</code></pre>

<p>in a script or module by</p>

<pre><code>    use Apache2::SomeCoreModule;</code></pre>

<p>Similarly, an Apache directive</p>

<pre><code>    PerlModule Apache::SomeCoreModule</code></pre>

<p>in an <i>httpd.conf</i> file should be replaced by</p>

<pre><code>    PerlModule Apache2::SomeCoreModule</code></pre>

<p>and <code>mod_perl</code> should be replaced by <code>mod_perl2</code> in the same places.</p>

<p>Note that &quot;core modules&quot; are defined as those that ship with the mod_perl 2 distribution. Other CPAN modules in the <code>Apache::</code> namespace may not follow the same conventions.</p>

</li>
<li><p>Replace the use of constants <code>Apache::*</code> by <code>Apache2::Const::*</code> and <code>APR::*</code> by <code>APR::Const::*</code>.</p>

</li>
<li><p>Remove any occurrences of</p>

<pre><code>    use Apache2;</code></pre>

<p>in a script or module, as well as</p>

<pre><code>    PerlModule Apache2</code></pre>

<p>in an Apache configuration file.</p>

</li>
<li><p>In a script or module, replace <code>Apache-&gt;request()</code> by <code>Apache2::RequestUtil-&gt;request()</code> and <code>Apache-&gt;server()</code> by <code>Apache2::ServerUtil-&gt;server()</code>.</p>

</li>
<li><p>If using <code>CGI.pm</code> you will need to upgrade to version 3.11 - versions 3.10 and older contain bugs and versions 3.07 and older do not support support the new mod_perl API. you can get <code>CGI.pm</code> from <a href="http://search.cpan.org/dist/CGI.pm/">http://search.cpan.org/dist/CGI.pm/</a>.</p>

</li>
</ul>

<p>Beginning with mod_perl-1.999_22, an environment variable <code>$ENV{MOD_PERL_API_VERSION}</code> has been added to specify which mod_perl version is being used.</p>

<h1 id="See-Also">See Also</h1>

<p>The directions for <a>installing mod_perl 2.0 </a>. Help is also available through the archives of and subscribing to the <a>mod_perl mailing list</a>.</p>

<h1 id="Authors">Authors</h1>

<p><a>The mod_perl development team and numerous contributors</a>.</p>


</body>

</html>