Re: Horde suite 4 upgrade

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Le 25/01/2012 03:23, Jason L Tibbitts III a écrit :
> Greetings, PHP experts.  

Hi,

Quite a long answer...

> I currently maintain (rather poorly) the Horde
> groupware suite (horde, imp, ingo, jeta, kronolith, turba) in Fedora.
> (There are also a few pieces of the suite that aren't packaged, mainly
> because I have no use for them.)
> 
> Our version is quite outdated at this point, held up by the fact that
> the Horde developers split there monolithic packages up into a multitude
> of small packages delivered through a PEAR channel.  And while this
> makes it pretty simple from a non-distro deployment standpoint, getting
> this all packaged up for Fedora looks rather un-fun.

We have done such a work for the Ez components (php-ezc-*)

Not funny but really useful
(some components are also used/required by other applications).

> 
> So, a few questions:
> 
> Is there any existing utility for automating the conversion of a PEAR
> channel full of stuff into Fedora-acceptable specs?

Yes :)
(of course, we don't like doing work which can be scripted)

# yum install php-pear-PEAR-Command-Packaging

For the Channel

$ wget http://pear.horde.org/channel.xml
$ pear make-rpm-spec channel.xml
Wrote RPM spec file php-channel-horde.spec

For each component :

$ pear download horde/Horde_Log
File /tmp/Horde_Log-1.1.2.tgz downloaded

$ pear make-rpm-spec Horde_Log-1.1.2.tgz
Wrote RPM spec file php-horde-Horde-Log.spec

The generated spec is quite good and respect the Fedora PHP Guildeline
Just a few check / cleanup

This can be a good opportunity to improve
php-pear-PEAR-Command-Packaging (still a minor bug on non standard
channel provides, Tim Jackson is upstream and maintainer, I also
co-maintain it and could work to improve the fedora template)

Dependencies are generally well defined by upstream in the package.xml
and then managed by "make-rpm-spec", but phpci could also detect some
requirement on PHP version / extension.

$ phpci print -r Horde_Log-1.1.2
...
=> REQUIRED PHP 5.1.0 (MIN)

$ phpci print --report extension -R Horde_Log-1.1.2
=> Core, SPL, SimpleXML, date, dom, pcre, standard, xml

As this package requires php 5.2 with dom extension (from upstream),
result will be, in this case (other extensions are in php-common)

	Requires: php-xml >= 5.2.0

> How about anything to help with monitoring said PEAR channel for updates
> to make sure things stay properly updated?

pear list-upgrades

Or, "my" upstream monitoring tool

ex http://rpms.famillecollet.com/rpmphp/rpm.php?type=pear&what=%23phpunit

Of course I can add a new channel easily.

> Any chance of assistance with something on the order of a hundred new
> package reviews?  Or, even better, any chance of anyone wanting to help
> out with maintenance?

I can help, for the reviewsss, and why not, for some packages
I will propose to start with the channel + 2-3 packages

I also notice than this packages come with test suite.
I have work quite a lot to be able to run this test suite during %check,
which is, I think, a good practice, so I can also help on this (phpunit
is, of course, available in the repo)

After, this will be a nearly automatic process (only a few check needed,
mainly on Provides/Requires)

> I've maintained PHP-related stuff before and I know it's not terribly
> difficult, but I've never undertaken anything of this magnitude.

I have to write some update for the PHP Guideline (php 5.4 related)

I think this packaging "tips" probably worth a page somewhere (under the
PHP Sig ?, with a link from PHP Guidelines ?)


> Thanks in advance for any info.

Hope this helps...

Remi

_______________________________________________
php-devel mailing list
php-devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/php-devel



[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora KDE]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux