diff --git a/kdesrc-build b/kdesrc-build index cd565f2..9c0ba26 100755 --- a/kdesrc-build +++ b/kdesrc-build @@ -2134,10 +2134,10 @@ sub download_file # strip KDE/ everywhere. sub moduleBaseName { - my $module = shift; - $module =~ s/^KDE\///; + my $moduleName = shift; + $moduleName =~ s/^KDE\///; - return $module; + return $moduleName; } # Returns the user-selected branch for the given module, or 'master' if no @@ -2146,8 +2146,8 @@ sub moduleBaseName # First parameter is the module name. sub get_git_branch { - my $module = shift; - my $branch = get_option($module, 'branch'); + my $module = assert_isa(shift, 'Module'); + my $branch = $module->getOption('branch'); $branch = 'master' unless $branch; return $branch; @@ -2215,7 +2215,7 @@ sub git_clone_module if ($result == 0) { set_persistent_option($module->name(), 'git-cloned-repository', $git_repo); - my $branch = get_git_branch($module->name()); + my $branch = get_git_branch($module); # Switch immediately to user-requested branch now. if ($branch ne 'master') { @@ -2323,7 +2323,7 @@ sub git_get_best_remote_names # Don't call this function unless you've already checked that a suitable # remote-tracking branch doesn't exist. # -# First parameter: The module being worked on. +# First parameter: The Module being worked on. # Second parameter: A *reference* to a list of remote names (all pointing to # the same repository) which are valid. # Third parameter: The name of the remote head we need to make a branch name @@ -2332,7 +2332,7 @@ sub git_get_best_remote_names # name can be generated. sub git_make_branchname { - my $module = shift; + my $module = assert_isa(shift, 'Module'); my $remoteNamesRef = shift; my $branch = shift; my $chosenName; @@ -2348,22 +2348,23 @@ sub git_make_branchname return "origin-$branch"; } -# This subroutine finds an existing remote-tracking branch name for the given repository's -# named remote. For instance if the user was using the local remote-tracking branch -# called 'qt-stable' to track kde-qt's master branch, this subroutine would return the -# branchname 'qt-stable' when passed kde-qt and 'master'. +# This subroutine finds an existing remote-tracking branch name for the given +# repository's named remote. For instance if the user was using the local +# remote-tracking branch called 'qt-stable' to track kde-qt's master branch, +# this subroutine would return the branchname 'qt-stable' when passed kde-qt +# and 'master'. +# +# The current directory must be the source directory of the git module. # -# First parameter: The module we are working on. -# Second parameter: A *reference* to a list of remote names to check against. +# First parameter : A *reference* to a list of remote names to check against. # It is important that this list all really point against the # same repository URL however. (See # git_get_best_remote_names) -# Third parameter: The remote head name to find a local branch for. +# Second parameter: The remote head name to find a local branch for. # Returns: Empty string if no match is found, or the name of the local remote-tracking # branch if one exists. sub git_get_remote_branchname { - my $module = shift; my $remoteNamesRef = shift; my $branchName = shift; @@ -2502,7 +2503,7 @@ sub git_update_module my $srcdir = $module->fullpath('source'); my $old_repo = get_persistent_option($module->name(), 'git-cloned-repository'); my $cur_repo = $module->getOption('repository'); - my $branch = get_git_branch($module->name()); + my $branch = get_git_branch($module); my $remoteName = GIT_REMOTE_ALIAS; my $result; @@ -2558,10 +2559,10 @@ sub git_update_module # to find a matching SHA1. Any local branches that are found must also be # remote-tracking. If this is all true we just re-use that branch, # otherwise we create our own remote-tracking branch. - my $branchName = git_get_remote_branchname($module->name(), \@remoteNames, $branch); + my $branchName = git_get_remote_branchname(\@remoteNames, $branch); if (not $branchName) { - my $newName = git_make_branchname($module->name(), \@remoteNames, $branch); + my $newName = git_make_branchname($module, \@remoteNames, $branch); whisper "\tUpdating g[$module] with new remote-tracking branch y[$newName]"; if (0 != log_command($module, 'git-checkout-branch', ['git', 'checkout', '-b', $newName, "$remoteName/$branch"])) @@ -3859,11 +3860,11 @@ sub module_needs_builddir_help # the environment based on that setting. sub setup_module_environment { - my $module = shift; + my $module = assert_isa(shift, 'Module'); my ($key, $value); # Let's see if the user has set env vars to be set. - my $env_hash_ref = get_option($module, 'set-env'); + my $env_hash_ref = $module->getOption('set-env'); while (($key, $value) = each %{$env_hash_ref}) { setenv($key, $value); @@ -5934,7 +5935,7 @@ sub update_module_environment $prefix = $kdedir unless $prefix; # Add global set-envs - setup_module_environment ('global'); + setup_module_environment ($module->buildContext()->globalModule()); # Add some standard directories for pkg-config support. Include env settings. my @pkg_config_dirs = ("$kdedir/lib/pkgconfig", "$qtdir/lib/pkgconfig"); @@ -5976,7 +5977,7 @@ sub update_module_environment setenv ('KDEDIRS', $kdedir); # Read in user environment defines - setup_module_environment ($module->name()) unless $module->name() eq 'global'; + setup_module_environment ($module) unless $module->name() eq 'global'; } # Subroutine to make sure the build directory for a module is setup.