[dev] components/distribute: How to get the xml from the runner? Re: [commits] Horde branch master updated. a528f05a3c1d64ba866575e136bcba756619c214

Ralf Lang lang at b1-systems.de
Mon Aug 29 21:12:42 UTC 2011


Hi, 

Am Montag, 29. August 2011, 22:55:54 schrieb Ralf Lang:
> The branch "master" has been updated.
> The following is a summary of the commits.
> 
> from: 3b0532a22e0b0ca5c4fcc6ce37b90ad0c44bed88
> 
> c4f7009 openSUSE rpm specfile output for horde components. These are valid
> specfiles and will run for most packages but there are known issues:
> a528f05 Do not include the timestamp in the filename
> 
> -----------------------------------------------------------------------
> 
> commit c4f70095210de426152f60b6a1205ac1f45b2f82
> Author: Ralf Lang <lang at b1-systems.de>
> Date:   Mon Aug 29 19:04:10 2011 +0200
> 
>     openSUSE rpm specfile output for horde components.
>     These are valid specfiles and will run for most packages but there are
>     known issues:
> 
>     - The changelog is not properly returned. Don't know why. Need to look
>       at the api first
>     The other two could possibly be overcome by providing more specific
>     templates for edge cases
>     - I need to filter out a few pecl extensions which openSUSE ships in
> the base PHP package.
>     - the %php_pear_gen_filelist macro is known to be less-than-perfect,
>       misses files in bin_dir and doesn't get some locales right.
>       Best solution is probably an external filelist generated from xml
> 
>  components/data/distribute/openSUSE/components.php         |  153
> ++++++++++++ components/data/distribute/openSUSE/templates/package.spec | 
> 100 ++++++++ 2 files changed, 253 insertions(+), 0 deletions(-)
>  create mode 100644 components/data/distribute/openSUSE/components.php
>  create mode 100644
> components/data/distribute/openSUSE/templates/package.spec
> 
> http://git.horde.org/horde-git/-/commit/c4f70095210de426152f60b6a1205ac1f45
> b2f82
> 
> -----------------------------------------------------------------------
> 
> commit a528f05a3c1d64ba866575e136bcba756619c214
> Author: Ralf Lang <lang at b1-systems.de>
> Date:   Mon Aug 29 14:18:40 2011 -0400
> 
>     Do not include the timestamp in the filename
> 
>  components/data/distribute/openSUSE/components.php |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> http://git.horde.org/horde-git/-/commit/a528f05a3c1d64ba866575e136bcba75661
> 9c214

So far so good. The openSUSE target for "distribute" generates everything 
needed to run osc build successfully with the default package template for a 
number of packages. Others either need specific templates or I need to 
generate a proper file listing from the xml. Both would work.

Now I need to extract the latest section of history from the xml file.

Which leads me to the point: I've been following a few layers of delegation 
and injection but somehow got lost. I figured I need to instanciate a 
Pear_Package_Xml object for the package file but I did not succeed so far, 
starting from Components_Component_Source.

Data is well encapsulated and I didn't find a public method which returned me 
either the relative path to the XML or the Pear_Package_Xml instance. Probably 
there is none because of YAGNI. I'll get back at this one another day but any 
hints are welcome.

-- 
Ralf Lang
Linux Consultant / Developer

B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537


More information about the dev mailing list