Bug 297158 - kdesrc-build fails with an Undefined subroutine error
Summary: kdesrc-build fails with an Undefined subroutine error
Status: RESOLVED FIXED
Alias: None
Product: kdesrc-build
Classification: Developer tools
Component: general (show other bugs)
Version: Git
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Michael Pyne
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-31 01:18 UTC by Kevin Lyles
Modified: 2012-03-31 02:29 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 1.15


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Lyles 2012-03-31 01:18:50 UTC
When running kdesrc-build --refresh-build on a module you've already run kdesrc-build on, the following error appears:
"The error reported was Undefined subroutine &ksb::Util::prune_under_directory called at ./kdesrc-build line 749."

I'm currently using git commit 84f94fe3 of kdesrc-build, though it's been happening for a day or two -- I wanted to be (more) sure I wasn't doing something silly before I filed a bug report.

I see a definition for prune_under_directory on line 7726, but it doesn't appear to be under the kdb::Util package.
Comment 1 Michael Pyne 2012-03-31 02:29:49 UTC
Git commit 75e0f94c56eb5d9f9e42add30f2e29953e9d6686 by Michael Pyne.
Committed on 31/03/2012 at 04:10.
Pushed by mpyne into branch 'master'.

Fully name internal function to use with log_command.

log_command supports calling an internal subroutine instead of
exec()'ing a new process in the logged child. The subroutine is
identified by name.

With the move of log_command to ksb::Util, log_command now assumes that
the named function will be found in ksb::Util instead of the main
package, but none of the users of this feature were ported over.

This led to bug 297158 (kdesrc-build fails to --refresh-build a module)
since the 'prune_under_directory' routine used to refresh the build
directory wasn't being called by log_command anymore.

Thanks to Kevin Lyles for the prompt and informative report!

I've added a (very simple) test case to ensure the subroutines can be
called at all (a test which now passes).
FIXED-IN:1.15

M  +6    -4    kdesrc-build
M  +2    -1    kdesrc-build-test.pl

http://commits.kde.org/kdesrc-build/75e0f94c56eb5d9f9e42add30f2e29953e9d6686