Hi Yavor,
I tried your code.
Option 1 appears to work (using Bugzilla 3.6, that is, because 3.4
doesn't have Bugzilla::Bug::is_open_state()).
$ ./scmbug_test.pl
status = UNCONFIRMED, is_open = 1
status = NEW, is_open = 1
status = ASSIGNED, is_open = 1
status = REOPENED, is_open = 1
status = RESOLVED, is_open = 0
status = VERIFIED, is_open = 0
status = CLOSED, is_open = 0
end
Option 2 doesn't work for me:
Undefined subroutine &Bugzilla::Field::get_legal_field_values called
at ./scmbug_test.pl line 22.
However, when I change the hardcoded path in option 1 with:
use lib $installation_directory . "/lib";
use lib $installation_directory;
I get an error message comparable to the one I got when I tried
Thorsten's first suggestion (use 'use lib' in Bugzilla.pm):
Use of uninitialized value $installation_directory in concatenation (.)
or string at ./scmbug_test.pl line 11.
Empty compile time value given to use lib at ./scmbug_test.pl line 12
Use of uninitialized value in require
at /usr/lib/perl5/site_perl/5.10.0/DateTime/Locale/Base.pm line 8.
Undefined subroutine &Bugzilla::Field::get_legal_field_values called
at ./scmbug_test.pl line 22.
Now, I'm a Perl n00b, so I don't know how to get this to work, but it
must somehow be possible to feed 'use lib' a "composed" path name,
right?
Cheers,
Marcel.
On Tue, 2011-03-08 at 15:14 +0200, Yavor Nikolov wrote:
> Why don't you first test something simpler to see if Bugzilla
> libraries are resolved successfully? E.g.:
>
> use warnings;
> use strict;
>
> my $installation_directory = "/your/bugzilla-root";
>
> chdir( "$installation_directory" );
>
> ## Option 1 - "use lib"
> #use lib "/your/bugzilla-root/lib";
> #use lib "/your/bugzilla-root";
>
> ## Option 2 - "unshift @INC"
> unshift @INC, $installation_directory . "/lib";
> unshift @INC, $installation_directory;
>
> eval "use Bugzilla";
>
> sub print_bugzilla_statuses
> {
> my $status_values =
> Bugzilla::Field::get_legal_field_values( 'bug_status' );
>
> foreach my $status ( @$status_values )
> {
> my $is_open = Bugzilla::Bug::is_open_state( $status );
> print( "status = $status, is_open = $is_open\n" );
> }
> }
>
>
> print_bugzilla_statuses();
>
> print( "end\n" );
>
>
> Regards,
> Yavor
>
>
> On Tue, Mar 8, 2011 at 14:37, Marcel Loose <[email protected]> wrote:
> On Mon, 2011-03-07 at 19:00 +0100, Thorsten Schöning wrote:
> > Guten Tag Marcel Loose,
> > am Montag, 7. März 2011 um 18:14 schrieben Sie:
> >
> > > It does. See my mail from earlier today (10h13) in which I
> provided the
> > > output of both @INC and $self. However, I think
> Cwd::getcwd() will give
> > > you the current working directory, and that's not what
> you're after.
> >
> > The following is one line above the alternative and looks
> like the
> > current working directory is set, therefore I tried to use
> it, if
> > $self won#t work for some reason.
> >
> > chdir $self->installation_directory();
> >
> > Mit freundlichen Grüßen,
> >
> > Thorsten Schöning
> >
>
>
> Hi Thorsten,
>
> If I recap:
>
> * @INC does get set correctly (see my yesterday's mail
> from
> 10:13), even in the untouched Scmbug 0.26.22 code.
> * None of the changes you suggest seem to work.
>
> That leaves the one solution the Kristis doesn't like:
>
> * set environment variable PERL5LIB in scmbug-server
>
> I guess this problem should be investigated further and maybe
> an issue
> should be opened for this in the Bug tracker. What do you
> think?
>
> Cheers,
> Marcel.
>
>
>
> _______________________________________________
> scmbug-users mailing list
> [email protected]
> http://lists.mkgnu.net/cgi-bin/mailman/listinfo/scmbug-users
>
>
_______________________________________________
scmbug-users mailing list
[email protected]
http://lists.mkgnu.net/cgi-bin/mailman/listinfo/scmbug-users