[pkg-php-pear] [Pkg-php-pear] On PEAR packaging

Gunnar Wrobel wrobel at horde.org
Sun Jul 24 16:12:17 UTC 2011

Quoting Mathieu Parent <math.parent at gmail.com>:

> Hello,
> 2011/7/24 Gunnar Wrobel <wrobel at horde.org>:
> [...]
>>> Yes, but this is still good to know that all packages build (libs,
>>> apps, bundles), except:
>>> - those without package.xml
>>> - those with invalid package.xml (hermes, kolab, koward)
>> True. And I assume there are packages which do not cleanly build if pulled
>> from pear.horde.org at the moment.
> How do you build from pear.horde.org (I use --allow-remote but there
> is no download)?

"--allow-remote" is the right thing to use. I'm not 100% certain I  
understand your question. To build from the remote PEAR server it is  
better to avoid executing the command in the git repo as some package  
names - basically the applications like "imp" and so on - match local  
paths in the git repo. In that case the source is being preferred. But  
if you are outside the repo "--allow-remote" should enable the  
download. And for the real packaging the remote package is of course  
the only reasonable base.

My comment was just aimed at the packages that we fixed in source  
these days but that did see no updated release on pear.horde.org yet.  
I assume you need to build those from source right now until the next  
version of those get released. If we need a better picture of the  
timeline to be expected then I can harass Jan about it.

> [...]
>> 1 + 2 pushed.
> Thanks. See two more on the queue.

Thanks, pushed.

>>> I have started to test, all packages installs correctly (appart from
>>> Horde_Thrift, see #10376) when installing fake packages
>>> "php-crypt-blowfish", "php-net-dns2" and "php-phpunit" (using equivs).
>>> The interface works but I fail to connect to an IMAP server due to the
>>> missing Crypt_Blowfish library. This is P1 on my TODO-list.
>> Great, this sounds good.
> This is now done, I will upload it soon.
>>> Also, the generated packages don't respect FHS because the config are
>>> in /usr/share instead of /etc. This is P2.
>> What about the files in the "locale" path of the components? I assume there
>> are rules for these files as well and Horde_Translation might not like
>> having to work with a new location. This might result in a TODO on my side.
> Yes, ".mo" usually goes in /usr/share/locale for Debian.
>>> I have seen that Net_SMTP version 1.6 is recommended/required: Why?
>> http://bugs.horde.org/ticket/?id=10122
> Okay, thanks.
> [...]
>> Another prefectionist item: Are there ways to include running the test suite
>> during a package build (or for an installed package)?
> Yes, test is automatically run by dh_auto_test, which calls "test" on
> the discovered BuildSystem
> (/usr/share/perl5/Debian/Debhelper/Buildsystem/phppear.pm).
> We need to implement this test method. What should this method run?

I don't think there will be a generic implementation that works for  
all PEAR packages. The way test suites are arranged can differ wildly  
between the different packages. For Horde the test suite is always in  
"test" and there is a file AllTests.php within that directory. This  
one should be executable using "phpunit test/Horde/Xyz/AllTests.php".  
If you add a stub to your build system I can look into completing it.  
I'm pretty certain however that there will still be issues with the  
test suites in many packages. Mainly because they are currently run in  
an environment that has a defined setup and we didn't test many  
variations of this environment yet. Most of the problems should be  
easy to fix on our side though. And I'm pretty interested in the  
results and in getting the suites clean. I'm also the main driving  
force behind http://ci.horde.org

> ---
> Packages not in Debian:
> [/] php-crypt-blowfish (Crypt_Blowfish), required
> [ ] php-net-dns2 (Net_DNS2), optionnal
> Package present but...:
> [ ] php-phpunit: named phpunit
> [ ] php-net-smtp: version 1.6 (Net_SMTP)
> Other Debian TODOs:
> [ ] config in /etc
> [ ] translations in /usr/share/locale
> [ ] Create ITPs
> [ ] debian/copyright
> [ ] Test
> [ ] Upload to experimental
> Perfectionist TODO:
> [ ] File conflict between php-horde-scribe and php-horde-thrift
> http://bugs.horde.org/ticket/10376
> (/usr/share/php/Horde/Thrift/thrift_root/packages/scribe/scribe_types.php)
> [ ] Run tests during build



Core Developer
The Horde Project

e: wrobel at horde.org
t: +49 700 6245 0000
w: http://www.horde.org

pgp: 9703 43BE
tweets: http://twitter.com/pardus_de
blog: http://log.pardus.de

More information about the pkg-php-pear mailing list