Bug 297158

Summary: kdesrc-build fails with an Undefined subroutine error
Product: [Developer tools] kdesrc-build Reporter: Kevin Lyles <kevinlyles>
Component: generalAssignee: Michael Pyne <mpyne>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: Git   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 1.15

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