You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-dev@httpd.apache.org by William McKee <wi...@knowmad.com> on 2004/03/13 14:18:01 UTC

Sticky preferences in Windows

Hi Stas,

I'm running into the sticky preferences problem now as well. I decided
the quickest way to get my tests running in the Windows environment
would be to install mod_perl. The install notes suggested that the path
be c:\apache2 which means the default path of c:\program files\apache2
is no good. I uninstalled apache and reinstalled into c:\. No problems.

However, now that I'm trying to rebuild my module to run my tests, the
TestConfigParse.pm module is still finding the old path. I've searched
my drive manually and with the built-in search tools as well as in the
registry but cannot figure out where A::T has squirelled away this
setting. Could you give me a pointer? This is WinXP if that makes any
difference.

Thanks,
William

-- 
Knowmad Services Inc.
http://www.knowmad.com

Re: Sticky preferences in Windows

Posted by Stas Bekman <st...@stason.org>.
Stas Bekman wrote:
> William McKee wrote:
> 
>> On Sat, Mar 13, 2004 at 11:23:05AM -0500, William McKee wrote:
>>
>>> Thanks for the pointer Randy. Actually, I tracked it down to
>>> Apache::TestConfigData. 
>>
>>
>>
>> Well, although the old value of httpd was declared in this package,
>> deleting the key from the $Apache::TestConfigData::Vars hashref did not
>> resolve my problem. Turns out that this value was getting saved into
>> t/conf/apache_test_config.pm. I'm surprised that `make clean` didn't
>> remove this file.
> 
> 
> because it could find itself.

s/could/could not/. it was loaded relatively to cwd as 
t/conf/apache_test_config.pm. but when it's attempted to be deleted from 
-clean it uses a full path, which wasn't valid.

__________________________________________________________________
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

Re: Sticky preferences in Windows

Posted by Stas Bekman <st...@stason.org>.
William McKee wrote:
> On Mon, Mar 15, 2004 at 06:35:11PM -0800, Stas Bekman wrote:
> 
>>because it could find itself. Try to move things with the current A-T cvs, 
>>it should work fine (i.e. 'make clean' should delete 
>>t/conf/apache_test_config.pm
>>after the project was moved), if not than more work is needed, in which 
>>case please provide the steps to reproduce the problem.
> 
> 
> Can you tell me the module which was modified? I cannot compile under
> Windows.

See my last respond. You don't need to compile anything.

> Not being able to clean up the environment via a `make clean` was
> perhaps the reason that apache_test_config.pm was not able to be
> rebuilt.

Yes.
__________________________________________________________________
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

Re: Sticky preferences in Windows

Posted by William McKee <wi...@knowmad.com>.
On Mon, Mar 15, 2004 at 06:35:11PM -0800, Stas Bekman wrote:
> because it could find itself. Try to move things with the current A-T cvs, 
> it should work fine (i.e. 'make clean' should delete 
> t/conf/apache_test_config.pm
> after the project was moved), if not than more work is needed, in which 
> case please provide the steps to reproduce the problem.

Can you tell me the module which was modified? I cannot compile under
Windows.


> Nothing will be overriden unless you tell it to do so. Which you get with 
> -save:
> 
>   perl Makefile.PL -httpd c:\apache2\bin\apache.exe -save

That's good to know.


> I wonder whether it'd be a good idea to invalidate invalid bits of the 
> saved config, e.g. if apxs is saved but can't be found on the filesystem? 
> So if someone install apache in one location, run A-T which saves that 
> location, and then nukes apache and reinstalls it into a different location 
> it'll drop the previously saved config since the path to apxs and/or httpd 
> will be invalid.

This would seem to be helpful though I'm not sure it's a top priority.
The frustrating thing for me was that the following command was not
resetting the apache_test_config.pm settings (little did I realize at
the time though that this was where the old path was being cached):

  `perl Makefile.pl -httpd /path/to/httpd`

Not being able to clean up the environment via a `make clean` was
perhaps the reason that apache_test_config.pm was not able to be
rebuilt.


Thanks,
William

-- 
Knowmad Services Inc.
http://www.knowmad.com

Re: Sticky preferences in Windows

Posted by Stas Bekman <st...@stason.org>.
William McKee wrote:
> On Sat, Mar 13, 2004 at 11:23:05AM -0500, William McKee wrote:
> 
>>Thanks for the pointer Randy. Actually, I tracked it down to
>>Apache::TestConfigData. 
> 
> 
> Well, although the old value of httpd was declared in this package,
> deleting the key from the $Apache::TestConfigData::Vars hashref did not
> resolve my problem. Turns out that this value was getting saved into
> t/conf/apache_test_config.pm. I'm surprised that `make clean` didn't
> remove this file.

because it could find itself. Try to move things with the current A-T cvs, it 
should work fine (i.e. 'make clean' should delete t/conf/apache_test_config.pm
after the project was moved), if not than more work is needed, in which case 
please provide the steps to reproduce the problem.

 > Thanks for the pointer Randy. Actually, I tracked it down to
 > Apache::TestConfigData. Here's the command I was running:
 >
 >   perl Makefile.PL -httpd c:\apache2\bin\apache.exe
 >
 > It seems to me that this should have replaced what was in
 > TestConfigData. Instead, that value was being used. I tried to track it
 > down but am still in over my head with these scripts. Perhaps someone
 > can explain why it didn't replace the saved value or provide a patch.

Nothing will be overriden unless you tell it to do so. Which you get with -save:

   perl Makefile.PL -httpd c:\apache2\bin\apache.exe -save

I wonder whether it'd be a good idea to invalidate invalid bits of the saved 
config, e.g. if apxs is saved but can't be found on the filesystem? So if 
someone install apache in one location, run A-T which saves that location, and 
then nukes apache and reinstalls it into a different location it'll drop the 
previously saved config since the path to apxs and/or httpd will be invalid.


__________________________________________________________________
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

Re: Sticky preferences in Windows

Posted by William McKee <wi...@knowmad.com>.
On Sat, Mar 13, 2004 at 11:23:05AM -0500, William McKee wrote:
> Thanks for the pointer Randy. Actually, I tracked it down to
> Apache::TestConfigData. 

Well, although the old value of httpd was declared in this package,
deleting the key from the $Apache::TestConfigData::Vars hashref did not
resolve my problem. Turns out that this value was getting saved into
t/conf/apache_test_config.pm. I'm surprised that `make clean` didn't
remove this file.

I then had errors in my httpd.conf file. Turns out that I had to
manually reconfigure the test environment by issuing the following
command:

    `perl t\TEST -config`

This cleaned everything up and fixed my paths. It also suggested running
t/TEST -clean which I did. It seems to me that this would automatically
be run whenever I go through the install process or when I issue make
clean. Indeed it does. Turns out I somehow broke my build environment
which was preventing make clean from completing its process.

MORAL: Be sure your build directory is clean!


Thanks,
William

-- 
Knowmad Services Inc.
http://www.knowmad.com

Re: Sticky preferences in Windows

Posted by William McKee <wi...@knowmad.com>.
On Sat, Mar 13, 2004 at 09:42:10AM -0600, Randy Kobes wrote:
> I don't think being on Windows makes a difference in this
> particular case - I think where it gets the info from is
>    C:\Perl\site\lib\Apache\BuildConfig.pm
> which is generated by Apache::Build.

Thanks for the pointer Randy. Actually, I tracked it down to
Apache::TestConfigData. Here's the command I was running:

  perl Makefile.PL -httpd c:\apache2\bin\apache.exe

It seems to me that this should have replaced what was in
TestConfigData. Instead, that value was being used. I tried to track it
down but am still in over my head with these scripts. Perhaps someone
can explain why it didn't replace the saved value or provide a patch.


Thanks,
William

-- 
Knowmad Services Inc.
http://www.knowmad.com

Re: Sticky preferences in Windows

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Sat, 13 Mar 2004, William McKee wrote:

> Hi Stas,
>
> I'm running into the sticky preferences problem now as well. I decided
> the quickest way to get my tests running in the Windows environment
> would be to install mod_perl. The install notes suggested that the path
> be c:\apache2 which means the default path of c:\program files\apache2
> is no good. I uninstalled apache and reinstalled into c:\. No problems.
>
> However, now that I'm trying to rebuild my module to run my tests, the
> TestConfigParse.pm module is still finding the old path. I've searched
> my drive manually and with the built-in search tools as well as in the
> registry but cannot figure out where A::T has squirelled away this
> setting. Could you give me a pointer? This is WinXP if that makes any
> difference.

I don't think being on Windows makes a difference in this
particular case - I think where it gets the info from is
   C:\Perl\site\lib\Apache\BuildConfig.pm
which is generated by Apache::Build.

-- 
best regards,
randy kobes