cvs commit: modperl-2.0/ModPerl-Registry TODO

2003-02-04 Thread stas
stas2003/02/04 20:06:28

  Modified:.Changes
   ModPerl-Registry/lib/ModPerl RegistryCooker.pm
   ModPerl-Registry TODO
  Log:
  warn on using -T in ModPerl::Registry scripts when mod_perl is not
  running with -T
  
  Revision  ChangesPath
  1.122 +7 -4  modperl-2.0/Changes
  
  Index: Changes
  ===
  RCS file: /home/cvs/modperl-2.0/Changes,v
  retrieving revision 1.121
  retrieving revision 1.122
  diff -u -r1.121 -r1.122
  --- Changes   4 Feb 2003 06:52:15 -   1.121
  +++ Changes   5 Feb 2003 04:06:27 -   1.122
  @@ -10,10 +10,13 @@
   
   =item 1.99_09-dev
   
  -perl 5.7.3+ has a built-in ${^TAINT} to test whether running under
  --(T|t). Backport ${^TAINT} for mod_perl running under 5.6.0-5.7.3,
  -(what used to be $Apache::__T.  $Apache::__T is available too, but
  -deprecated. [Stas]
  +warn on using -T in ModPerl::Registry scripts when mod_perl is not
  +running with -T [Stas]
  +
  +perl 5.7.3+ has a built-in ${^TAINT} to test whether it's running
  +under -(T|t). Backport ${^TAINT} for mod_perl running under
  +5.6.0-5.7.3, (what used to be $Apache::__T.  $Apache::__T is available
  +too, but deprecated. [Stas]
   
   add PerlChildExitHandler implementation [Stas]
   
  
  
  
  1.30  +4 -5  modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm
  
  Index: RegistryCooker.pm
  ===
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/lib/ModPerl/RegistryCooker.pm,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- RegistryCooker.pm 18 Jan 2003 02:04:32 -  1.29
  +++ RegistryCooker.pm 5 Feb 2003 04:06:27 -   1.30
  @@ -552,10 +552,9 @@
   
   my %switches = (
  'T' = sub {
  -# XXX: need to have $Apache::__T set by the core on PerlSwitches -T
  -#   Apache::warn(T switch is ignored, ,
  -#enable with 'PerlSwitches -T' in httpd.conf\n)
  -# unless $Apache::__T; 
  +   Apache::warn(-T switch is ignored,  .
  +enable with 'PerlSwitches -T' in httpd.conf\n)
  + unless ${^TAINT};
  ;
  },
  'w' = sub { use warnings;\n },
  @@ -574,7 +573,7 @@
last if substr($s,0,1) eq -;
for (split //, $s) {
next unless exists $switches{$_};
  - $prepend .= {$switches{$_}};
  + $prepend .= $switches{$_}-();
}
   }
   ${ $self-[CODE] } =~ s/^/$prepend/ if $prepend;
  
  
  
  1.12  +0 -2  modperl-2.0/ModPerl-Registry/TODO
  
  Index: TODO
  ===
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/TODO,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- TODO  29 Dec 2002 10:11:49 -  1.11
  +++ TODO  5 Feb 2003 04:06:27 -   1.12
  @@ -14,8 +14,6 @@
   
   ### missing features ###
   
  -- need to port $Apache::__T, to test against when user supplies -T flag.
  -
   - port Apache::PerlRunXS
   
   - replace the local implementation of slurp_filename() and finfo(),
  
  
  



cvs commit: modperl-2.0/ModPerl-Registry TODO

2002-08-15 Thread stas

stas2002/08/15 09:16:24

  Modified:ModPerl-Registry TODO
  Log:
  issues that have been taken care of
  
  Revision  ChangesPath
  1.8   +1 -9  modperl-2.0/ModPerl-Registry/TODO
  
  Index: TODO
  ===
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/TODO,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TODO  7 Dec 2001 18:12:17 -   1.7
  +++ TODO  15 Aug 2002 16:16:24 -  1.8
   -6,15 +6,11 
   
   ### bugs ###
   
  -- prototyping sub handler($$) segfaults on request
  -
   - consider not to use $$ in debug tracing. Not all platforms give out
 a different pid for different threads.
   
   ### missing features ###
   
  -- need to properly handle HEAD requests 
  -
   - need to port $Apache::__T, to test against when user supplies -T flag.
   
   - port Apache::PerlRunXS
   -53,10 +49,6 
   
   ### optimizations ###
   
  -- $o-[CLASS] of the subclass is known at compile time, so should
  -  create the subs using $o-[CLASS] on the fly for each subclass
  -  which wants them
  -
   - currently the default is to strip __DATA__|__END__ and everything
 after that, which incurs a little overhead because of the s/// on
 the contents of the file. This feature wasn't in 1.x, so may
   -88,7 +80,7 
   
   - could also try to privide an optional workaround for the problem
 with libs collisions as explained here:
  -  http://perl.apache.org/guide/porting.html#Name_collisions_with_Modules_and
  +  
http://perl.apache.org/docs/1.0/guide/porting.html#Name_collisions_with_Modules_and
   
   - It's a known kludge with mod_perl scripts coming from mod_cgi which
 use -M for file mtime comparisons, but are not aware of the fact
  
  
  



cvs commit: modperl-2.0/ModPerl-Registry TODO

2001-12-07 Thread stas

stas01/12/07 10:12:17

  Modified:ModPerl-Registry TODO
  Log:
  - todo: need to properly handle HEAD requests
  
  Revision  ChangesPath
  1.7   +2 -0  modperl-2.0/ModPerl-Registry/TODO
  
  Index: TODO
  ===
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/TODO,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TODO  2001/11/23 16:26:31 1.6
  +++ TODO  2001/12/07 18:12:17 1.7
  @@ -13,6 +13,8 @@
   
   ### missing features ###
   
  +- need to properly handle HEAD requests 
  +
   - need to port $Apache::__T, to test against when user supplies -T flag.
   
   - port Apache::PerlRunXS
  
  
  



cvs commit: modperl-2.0/ModPerl-Registry TODO

2001-10-22 Thread stas

stas01/10/22 01:33:48

  Modified:ModPerl-Registry TODO
  Log:
  - document the rest of the nice to have things
  
  Revision  ChangesPath
  1.4   +39 -7 modperl-2.0/ModPerl-Registry/TODO
  
  Index: TODO
  ===
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/TODO,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TODO  2001/10/22 05:18:23 1.3
  +++ TODO  2001/10/22 08:33:48 1.4
  @@ -7,8 +7,6 @@
   - consider not to use $$ in debug tracing. Not all platforms give out
 a different pid for different threads.
   
  -
  -
   ### missing features ###
   
   - need to port $Apache::__T, to test against when user supplies -T flag.
  @@ -40,20 +38,54 @@
 normally. select() helps, but STDERR should be unbuffered in first
 place.
   
  +- in namespace_from_filename() should test whether a file is a symlink
  +  and if so use readlink() to get the real filename.
  +
   ### optimizations ###
   
   - $o-[CLASS] of the subclass is known at compile time, so should
 create the subs using $o-[CLASS] on the fly for each subclass
 which wants them
   
  -### nice to have ###
  +- currently the default is to strip __DATA__|__END__ and everything
  +  after that, which incurs a little overhead because of the s/// on
  +  the contents of the file. This feature wasn't in 1.x, so may
  +  consider to make it optional.
   
  -- in namespace_from_filename() should test whether a file is a symlink
  -  and if so use readlink() to get the real filename.
  -
  -### other things ###
  +### nice to have ###
   
   - Bjarni R. Einarsson [EMAIL PROTECTED] has suggested this Registry hack
 http://marc.theaimsgroup.com/?l=apache-modperl-devm=98961929702745w=2
 Message-ID: [EMAIL PROTECTED]
   
  +- the closure issue:
  +  there was a suggestion from raptor to use goto() to leave the code
  +  unwrapped in the sub handler, which will solve the closure problem,
  +  but the problem is that once you leave a subroutine with goto() you
  +  cannot return, because you aren't in the sub anymore.
  +
  +  barrie has suggested a different approach, which requires adding
  +  special tags to the script which help to parse the code, and shuffle
  +  things around without putting subs inside the 'sub handler', but
  +  this requires a lot of code understanding from a user, and if its
  +  gained it's probably easier to fix the script so closure effect
  +  won't happen. However barrie's suggestion can be easily added, by
  +  overriding convert_script_to_compiled_handler().
  +
  +- global variables persistance: could have the cooker option to flush
  +  globals in the autogenerated package at the end of each
  +  request. (not packages use()'d from this package)
  +
  +- could also try to privide an optional workaround for the problem
  +  with libs collisions as explained here:
  +  http://perl.apache.org/guide/porting.html#Name_collisions_with_Modules_and
  +
  +- It's a known kludge with mod_perl scripts coming from mod_cgi which
  +  use -M for file mtime comparisons, but are not aware of the fact
  +  that $^T is not getting reset on each request. So may be the cooker
  +  should have an option to reset $^T on each request.
  +
  +- develop a cooker() that cooks/modifies a registry package based on
  +  PerlSetVar variables. So for example a user can modify a behavior of
  +  an existing package (stat/donotstat...) and giving it a new name at
  +  the same time. Kinda flag-based inheritance.
  
  
  



cvs commit: modperl-2.0/ModPerl-Registry TODO

2001-10-19 Thread stas

stas01/10/19 03:43:25

  Modified:ModPerl-Registry TODO
  Log:
  - summarize things that have to be done for Registry
  
  Revision  ChangesPath
  1.2   +44 -26modperl-2.0/ModPerl-Registry/TODO
  
  Index: TODO
  ===
  RCS file: /home/cvs/modperl-2.0/ModPerl-Registry/TODO,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TODO  2001/10/09 12:47:38 1.1
  +++ TODO  2001/10/19 10:43:25 1.2
  @@ -1,36 +1,54 @@
  -- META tags in the modules
  +RegistryCooker:
   
  
  +### bugs ###
   
  - - print STDERR is buffered in test handlers, whereas warn() works
  -   normally. select() helps, but STDERR should be unbuffered in first
  -   place.
  +- prototyping sub handler($$) segfaults on request
   
  
  +### missing features ###
   
  - what's the replacement of NameWithVirtualHost? Obviously we need something
  - to distinguish between vhs.
  +- need to port $Apache::__T, to test against when user supplies -T flag.
   
  -DougM: well, if possible we should distinguish between the uri and
  -requested resource instead.  in otherwords, we have the: r-uri =
  -r-filename translation, just need to figure out if r-filename is the
  -actual filename or a symlink (readlink can be used to get the real
  -filename).  then create a package based on the filename, but with as
  -few package:: levels as possible (hopefully none beyond
  -ModPerl::RegistryROOT::filename)
  +- port Apache::PerlRunXS
   
  -DougM: using filenames makes for long packages names == lengthy
  -lookups and more memory than we need.  at least the way it is
  -currently implemented where each '/' turns into '::'.  could be that
  -s,/,_,g is good enough, but haven't thought about this for a while.
  -in any case, we should get rid of the NameWithVirtualHost stuff, its
  -caused too many problems in the past.
  +- implement RegistryLoader (per module or a single one?)
   
  
  +- implement slurp_filename and remove Apache::compat
   
  -Bjarni R. Einarsson [EMAIL PROTECTED] has suggested this Registry hack
  -http://marc.theaimsgroup.com/?l=apache-modperl-devm=98961929702745w=2
  -Message-ID: [EMAIL PROTECTED]
  +- $r-chdir_file is not handled/implemented, see todo/api.txt unsafe!
   
  
  +- $Apache::Server::CWD doesn't exist
  +
  +- NameWithVirtualHost is not handled
  +
  +- need to figure out what's happening with
  +  ModPerl::Registry::MarkLine, why it's not on by default?
  +
  +- a cousin of convert_script_to_compiled_handler() in 1.x used to have
  +  'undef {$o-[PACKAGE]\::handler}' to avoid redefine handler()
  +  warnings in case a user has used -w. also see the undef_functions on
  +  the next line.
  +
  +- child_terminate is not implemented see
  +  convert_script_to_compiled_handler().
  +
  +- print STDERR is buffered in test handlers, whereas warn() works
  +  normally. select() helps, but STDERR should be unbuffered in first
  +  place.
  +
  +### optimizations ###
  +
  +- $o-[CLASS] of the subclass is known at compile time, so should
  +  create the subs using $o-[CLASS] on the fly for each subclass
  +  which wants them
  +
  +### nice to have ###
  +
  +- in namespace_from_filename() should test whether a file is a symlink
  +  and if so use readlink() to get the real filename.
  +
  +### other things ###
  +
  +- Bjarni R. Einarsson [EMAIL PROTECTED] has suggested this Registry hack
  +  http://marc.theaimsgroup.com/?l=apache-modperl-devm=98961929702745w=2
  +  Message-ID: [EMAIL PROTECTED]