After Installing HTTPD, I get the following directory structure in Settings:

/System/Settings/httpd (this is a symlink pointing to
/Programs/HTTPD/Settings/httpd)

A problem arises when installing Mod_PHP, which installs the file
mod_php5.conf into the /System/Settings/httpd/conf folder. The issue
is that it doesn't follow the /System/Settings/httpd symlink into
/Programs/HTTPD/Settings/httpd, but rather it replaces the
/System/Settings/httpd symlink with an actual directory, and then
installs mod_php5.conf into the newly created directory.

This results in the following duplicate paths:

/System/Settings/httpd/conf (a directory that contains the mod_php5.conf file)

and

/Programs/HTTPD/Settings/httpd/conf (a directory that doesn't contain anything)

/Programs/HTTPD/Settings/httpd/conf is basically useless, placing
Apache configuration files there doesn't have any effect. The behavior
that I was expecting was for the /System/Settings/httpd symlink to be
followed so that both the
/Programs/HTTPD/Settings/httpd/conf/mod_php5.conf and
/Programs/HTTPD/Settings/httpd/conf/mod_php5.conf paths exist and
refer to the same file.

I tracked the issue down to Scripts/2.9.9/bin/LinkOrExpandAll. My C is
a little rusty, so I modified the corresponding Python program in
Scripts/2.9.9/Functions/GoboLinux. Here is a patch that fixes the
issue:

--- GoboLinux.original  2009-03-31 21:35:03.000000000 -0400
+++ GoboLinux   2009-03-31 21:35:15.000000000 -0400
@@ -260,16 +260,11 @@ def Link_Or_Expand(new, conflict, relati

     # 5: name of new was being used by an link to a directory
     elif os.path.islink(bn) and os.path.isdir(realold) and
os.path.isdir(realnew) :
-        Log_Normal('Creating expanded directory \'%s\'...'%(bn))
-        os.unlink(bn)
-        os.makedirs(bn)
+        cwd=os.getcwd()
         os.chdir(bn)
-        Log_Verbose('Linking files from \'%s\' in directory
\'%s\'...'%(realold, bn))
-        for i in os.listdir(realold) :
-            oldbn=os.path.basename(i)
-            create_single_link(realold+'/'+i, oldbn)
-        os.chdir('..')
-        link_inside()
+        for i in os.listdir(realnew) :
+            Link_Or_Expand(realnew+'/'+i, conflict, relative)
+        os.chdir(cwd)

     # 6: conflict for a same name
     elif not os.path.isdir(realold) and not os.path.isdir(realnew):

I'd appreciate any feedback on this. Thanks.
_______________________________________________
gobolinux-devel mailing list
gobolinux-devel@lists.gobolinux.org
http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel

Reply via email to