Hello Tomas, Why not using RPMs? Only windows is a problem, isn't it ?
regards marcus Thursday, June 19, 2003, 1:19:36 AM, you wrote: TVVC> What about to start discussing about managment of binary pecl TVVC> packages? TVVC> I'm not the best person for listing the requirements, but here are some TVVC> ideas: TVVC> pecl package name TVVC> ----------------- TVVC> The name of the extension would be: TVVC> peclfoo-bin-<OS>-<ARCH>-3.1.2-<STATE>.tgz TVVC> The os (Operating system) and arch (CPU type), would be the value TVVC> returned by the OS_Guess class. STATE is a valid PEAR_Common package TVVC> state. TVVC> package creation TVVC> ---------------- TVVC> pear build -b peclfoo-3.1.2.tgz TVVC> The -b (or --bin) option generates the package containing only the TVVC> compiled extension and the files marked with role "php", "doc", "test", TVVC> "data" or "script" with the original package.xml modified TVVC> automagically (explained in the next point). TVVC> Without args it compiles the extension as it does nowadays. TVVC> An idea would be to create a COMPILED_AT.txt file with some data about TVVC> the env where the extension was compiled at, like the TVVC> php version, the php_uname(), the extra libs versions, os vendor TVVC> version, /etc/shadow file, etc. TVVC> package.xml TVVC> ----------- TVVC> As a binary release shares the same release data with the source TVVC> distrib, except the filelist (please confirm if an TVVC> extension compiled may have different dependencies across different TVVC> platforms), the same package.xml file could be used for all kind of TVVC> distribs. Let's say something like: TVVC> <release> TVVC> <version>... TVVC> <date> TVVC> <notes> TVVC> <filelist>.. TVVC> <file role="ext" os="" arch=""> TVVC> </release> TVVC> installation TVVC> ------------ TVVC> pear install -b peclfoo (download and install the binary distrib of TVVC> peclfoo for your current OS-ARCH) TVVC> pear install peclfoo-bin-<OS>-<ARCH>-3.1.2-<STATE>.tgz TVVC> All the files with role="ext" would be installed TVVC> in "ext_dir" (pear cmd setting). The user can config it with "pear config-set ext_dir=XXX". TVVC> If this var is not explicitly set, the following will be used for TVVC> finding a default location: TVVC> if (getenv('PHP_PEAR_EXTENSION_DIR')) { TVVC> define('PEAR_CONFIG_DEFAULT_EXT_DIR', getenv('PHP_PEAR_EXTENSION_DIR')); TVVC> } else { TVVC> if (ini_get('extension_dir')) { TVVC> define('PEAR_CONFIG_DEFAULT_EXT_DIR', ini_get('extension_dir')); TVVC> } elseif (defined('PEAR_EXTENSION_DIR') && @is_dir(PEAR_EXTENSION_DIR)) { TVVC> define('PEAR_CONFIG_DEFAULT_EXT_DIR', PEAR_EXTENSION_DIR); TVVC> } elseif (defined('PHP_EXTENSION_DIR')) { TVVC> define('PEAR_CONFIG_DEFAULT_EXT_DIR', PHP_EXTENSION_DIR); TVVC> } else { TVVC> define('PEAR_CONFIG_DEFAULT_EXT_DIR', '.'); TVVC> } TVVC> } TVVC> Listing in the web TVVC> ------------------ TVVC> A new column "Type" should be added to the release listing under the TVVC> package home page at pear.php.net, saying that the package is a binary TVVC> distrib compiled for OS X and ARCH Y or sources. -- Best regards, Marcus mailto:[EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php