[OPEN-ILS-DEV] Evergreen Perl module package declarations

Peter Newman Peter.Newman at cdu.edu.au
Wed Jul 4 22:50:51 EDT 2007


> Very cool.  We'd love to be involved, of course, to help sort out any
issues (there seem to be at least a couple).
 
Well I have an installable rpm - I have some friends keen to help out
and test them from scratch...
 
I can guarantee that they will be broken :-) with probably some missing
dependencies, broken perl due to these changes, an no real ILS system
configuration but it's a starting point nevertheless
 
> The files reported missing aren't missing, but instead dead code.  The
modules that reference them should go away; they will not be coming
back.
> 
> As for the modules reported to have an incorrect name, changing the
module name declared in the package statement will absolutely and
completely break and change how the modules work, and it will do > so
under /all/ distributions, certainly not just Ubuntu.
> 
> Are you sure you understand what is going on in those files?  Thank
you, though, for your interest.
 
Actually no I don't understand - but I don't need to yet.  I'm just
packaging everything up and resolving dependencies - the next step when
testing is started then yes I'll need to know a little more.
 
The reason for the problems with perl module package decls are due to
the way rpmbuild creates the rpm dependencies:
$rpm -i --test Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch.rpm 
error: Failed dependencies:
        ***
        perl(OpenILS::Application::Storage::Driver::Pg::cdbi) is needed
by Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenILS::Application::Storage::Driver::Pg::dbi) is needed
by Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenILS::Application::Storage::Driver::Pg::fts) is needed
by Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenILS::Application::Storage::Driver::Pg::storage) is
needed by Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenILS::Utils::Fieldmapper) is needed by
Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenILS::WWW::Reporter::transforms) is needed by
Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenSRF::DOM::Element::searchCriteria) is needed by
Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenSRF::DOM::Element::searchCriterium) is needed by
Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch
        perl(OpenSRF::DomainObject::oilsPrimitive) is needed by
Evergreen-ILS-1.0.6.3-1.fc6.bf.noarch

so take the Fieldmapper module for example: by changing the line
"package Fieldmapper;" to "package OpenILS::Utils::Fieldmapper;" this
breaks the build of the OpenILS apache mod file: fieldmapper_lookup.c
which is created by the fieldmapper_lookup-gen.pl file.  So yes it did
break that.  But the OpenILS perlmods: Perm.pm and SIP.pm both "use
OpenILS::Utils::Fieldmapper" which causes a rpmbuild dependency issue.
 
However by having both lines together in the Fieldmapper.pm:
 
  package Fieldmapper;
  package OpenILS::Utils::Fieldmapper;
 
Seems to be okay but can you have muItiple decls like this? Anyway now
the fieldmapper_lookup-gen.pl works again and the dependency is
resolved.
 
If these are due to dead code - I'm interested in knowing if you fix
them?
 
Pete.



-----Original Message-----
From: open-ils-dev-bounces at list.georgialibraries.org
[mailto:open-ils-dev-bounces at list.georgialibraries.org
<mailto:open-ils-dev-bounces at list.georgialibraries.org> ] On Behalf Of
Mike Rylander
Sent: Wednesday, 4 July 2007 10:52 PM
To: open-ils-dev at list.georgialibraries.org
Subject: Re: [OPEN-ILS-DEV] Evergreen Perl module package declarations

On 7/4/07, Peter Newman <Peter.Newman at cdu.edu.au> wrote:
>
> I've been looking at building a trial evergreen rpm this week using
> the
> 1.0.6.3 release...
>

Very cool.  We'd love to be involved, of course, to help sort out any
issues (there seem to be at least a couple).

> RPM does some automatic checking of perl dependencies and has found
> some missing or incorrect perl module package declarations for these
files:
>
> Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/cdbi.pm
> Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/dbi.pm
> Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/fts.pm
> Open-ILS/src/perlmods/OpenILS/Application/Storage/Driver/Pg/storage.pm
> Open-ILS/src/perlmods/OpenILS/Utils/Fieldmapper.pm
> Open-ILS/src/perlmods/OpenILS/WWW/Reporter/transforms.pm
> OpenSRF/src/perlmods/OpenSRF/DomainObject/oilsPrimitive.pm
>
> Probably should look like this:
>   package OpenILS::Application::Storage::Driver::Pg::cdbi;
>   package Class::DBI;
>   package OpenILS::Application::Storage::Driver::Pg::dbi;
>   package OpenILS::Application::Storage::Driver::Pg::fts;
>   package
> OpenILS::Application::Storage::Driver::Pg::storage;
>   package OpenILS::Utils::Fieldmapper;
>   package OpenILS::WWW::Reporter::transforms;
>   package OpenSRF::DomainObject::oilsPrimitive;
>
> These changes shouldn't break or change how these modules work under
> Ubuntu...

The files reported missing aren't missing, but instead dead code.  The
modules that reference them should go away; they will not be coming
back.

As for the modules reported to have an incorrect name, changing the
module name declared in the package statement will absolutely and
completely break and change how the modules work, and it will do so
under /all/ distributions, certainly not just Ubuntu.

Are you sure you understand what is going on in those files?  Thank you,
though, for your interest.

-miker

>
> Cheers
> Pete
>
> Peter Newman
> Library Systems and IT Coordinator
> Library and Information Access
> Charles Darwin University
> PO Box 41246 (Ellengowan Drive)
> Casuarina NT 0811
> Australia
>
> Ph:    +61 (0)8 8946 7026
> Mob:   +61 (0)423 535 065
> Fax:   +61 (0)8 8945 1317
> Email: Peter.Newman at cdu.edu.au.nospam (remove the dot nospam)
>


--
Mike Rylander
Equinox Software, Inc
miker at esilibrary.com
http://esilibrary.com/ <http://esilibrary.com/> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.georgialibraries.org/pipermail/open-ils-dev/attachments/20070705/9a2164f5/attachment.html


More information about the Open-ils-dev mailing list