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