Re: Need help with PackageFileManager2, may be found bugs
| From: | Sascha Grossenbacher | Date: | Thu, 03 Jan 2008 16:25:11 +0000 |
| Subject: | Re: Need help with PackageFileManager2, may be found bugs | ||
| References: | 1 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-28390@lists.php.net to get a copy of this message | ||
Hello
On Thu, 03 Jan 2008 10:43:46 -0500, Dmitri <email12@sharedlog.com> wrote:
> Most of the things are working the way I expect except that the img
> directory is not added to 'www' directory.
> I don't have any files in the 'img' directory, only 4 empty
> sub-directories, but I still need these directories to be created in www
> path
>
> Is this a bug that PackageFileManager2 does not add www role to empty
> directories?
AFAIK, only files have roles, the directory is installed according to the
files in this folder (multiple times, if there are files with different
roles, I think). Create a feature request or add a dummy file inside this
folders.
>
> Another question, again I am not sure if this is a bug or not:
>
> I added this to array passed to setOptions:
> 'exceptions' => array(
> 'simpletest.php' => 'test',
> 'LICENSE.txt' => 'doc',
> 'index.php' => 'www',
> 'favicon.ico' => 'www',
> 'ajaxserver.php' => 'www',
> 'robots.txt' => 'cfg',
> 'image.php' => 'www',
> ),
>
> See how I added a role 'cfg' to robots.txt
> This was just to test if the new cfg role will work properly
> in the created package.xml the line was created like this:
> <file baseinstalldir="SHAREDLOG"
> md5sum="1cd05a835a63895cad28a0931d91a03f" name="robots.txt"
> role="cfg" />
> looks good
>
> The file robots.txt has been installed in is
> /usr/local/php/lib/php/cfg/SHAREDLOG/SHAREDLOG/robots.cfg
>
> See how the package name has been added twice to the path?
> The same thing happend to the www role files:
> I created a www_dir with pear config-set www_dir
> /usr/local/apache/sites/sharedlog.com/htdocs
> and all the www files have been installed in
> /usr/local/apache/sites/sharedlog.com/htdocs/SHAREDLOG/SHAREDLOG/
>
> again, the package name 'SHAREDLOG' has been added to path twice
>
> Is this a bug with the new file roles www and cfg?
No, this is not a bug, this is configured this way. The first SHAREDLOG
comes from the <unusualbaseinstall> tag [1], which is part of the
configuration of a role, the other comes from the
baseinstalldir-configuration of your package.
The question is, *why* is unusualbaseinstall set to 1, I don't think this
does make sense, I had the same problem a few minutes ago. Whith this
configuration, it is not possible to install a package into a given
toplevel htdocs directory.
>
> Here is how I added package name:
> $pfm->setPackage('SHAREDLOG');
> $pfm->setChannel('pear.sharedlog.com'); // I created the channel
> server already using Chiara pear server (have not uploaded the package
> there yet, installing directly from .tgz file)
>
>
> Please help me. I have other questions, like how to set directory
> permissions from post-install script.
Well I have just used http://php.net/chmod for that, which works
fine.
>
> Would be nice to have more examples of post-install scripts, especially
> with setting write permissions to specific directories.
>
You could try out Greg's Book, as already mentioned.
Greetings, Sascha