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

Mathieu Parent math.parent at gmail.com
Tue Jul 26 21:45:38 UTC 2011


Hello,

2011/7/24 Gunnar Wrobel <wrobel at horde.org>:
> 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.

I was running the tool from the git repo. That is the reason... A
--force-remote option would be a bonus.

> 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.

Yes.


>>>>
>>>> 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.

php-crypt-blowfish is now in unstable:
http://packages.qa.debian.org/p/php-crypt-blowfish.html

This was the last important missing bit (There is still a package name
mismatch for phpunit).

>>>> Also, the generated packages don't respect FHS because the config are
>>>> in /usr/share instead of /etc. This is P2.

The config are now as wanted. See attached patch 3.



> 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

This add-test.diff for an test boilerplate.

The problem with those test is that the dependencies are required
during build. Maybe we can use an opt-in (DEB_BUILD_OPTIONS=check)
instead of en opt-out (DEB_BUILD_OPTIONS=nocheck).


<<<TODO
General Debian TODOs:
---------------------
[x] config in /etc
[ ] Create ITPs
[ ] debian/copyright
[ ] Test
[ ] Upload to experimental
[ ] translations in /usr/share/locale
[ ] Run tests during build

Dependencies:
-------------
Depends: php5-cli php-pear php5
 included: php5-ldap
 ok:       php5-memcache
 ok:       php-db php-http-request php-net-sieve php-auth-sas
           php-date php-text-wiki php-text-wiki php-net-smtp
 done:     php-crypt-blowfish
 todo:     php-phpunit (phpunit #nnnnnn)


Recommends:
 included: php5-mysql php5-curl php5-gd php5-imap
 ok:       php5-sasl php5-idn php5-geoip
 wip:      php5-apc (php-apc #635295) php5-ssh2 (libssh2-php #635296)
 todo:     php5-lzf php5-eaccelerator php5-xdiff php5-http php5-pam
           php5-mysqli (in php5-mysql) php5-pdo (in php5-common)
 ok:       php-net-imap php-net-socket php-mdb2 php-text-captcha php-text-figlet
           php-services-weather
 todo:     php-net-dns2 php-xml-svg php-console-getopt
php-console-table php-file-find
           php-soaprpc php-date-holidays php-text-wiki-bbcode
php-text-wiki-cowiki
           php-text-wiki-creole php-text-wiki-doku php-text-wiki-mediawiki
           php-text-wiki-tiki

Not related to Horde:
---------------------
[ ] PECL or extension packages incorrectly named (should be named php5-*):
usr/lib/php5/20090626/apc.so                            php/php-apc
usr/lib/php5/20090626/ssh2.so                           devel/libssh2-php
usr/lib/php5/20090626/libpuzzle.so
interpreters/libpuzzle-php
usr/lib/php5/20090626/imlib.so                          php/php-imlib
(no package.xml; has both .php and ext)
usr/lib/php5/20090626/php_wikidiff2.so
php/php-wikidiff2 (no package.xml)
usr/lib/php5/20090626/IcePHP.so
php/php-zeroc-ice (no package.xml)
usr/lib/php5/20090626/gv.so                             php/libgv-php5
usr/lib/php5/20090626/hdate.so                          php/libhdate-php
usr/lib/php5/20090626/expect.so                         web/libexpect-php5
TODO>>>

Next work for me is:
<?php
foreach($pkg in $pkgs) {
   submit_itp($pkg);
   write_copyright_file($pkg);
  upload($pkg, "experimental");
}



Cheers

-- 
Mathieu
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Correct-dependency-of-Kolab_Resource-on-Horde_Kolab_.patch
Type: application/octet-stream
Size: 762 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-php-pear/attachments/20110726/8acc0304/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Correct-Horde_Core-package-file.patch
Type: application/octet-stream
Size: 817 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-php-pear/attachments/20110726/8acc0304/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-config-of-Debian-packages-should-be-in-etc.patch
Type: application/octet-stream
Size: 16678 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-php-pear/attachments/20110726/8acc0304/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: add-test.diff
Type: application/octet-stream
Size: 456 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-php-pear/attachments/20110726/8acc0304/attachment-0007.obj>


More information about the pkg-php-pear mailing list