[PATCH 3/6] dim: ask the user to create DIM_PREFIX and clone DIM_REPO

Daniel Vetter daniel at ffwll.ch
Fri Jan 11 15:18:22 UTC 2019


On Fri, Jan 11, 2019 at 05:06:00PM +0200, Jani Nikula wrote:
> Help the users if they so desire.
> 
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>

Yeah this is nice!

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  dim | 41 +++++++++++++++++++++++++++++++----------
>  1 file changed, 31 insertions(+), 10 deletions(-)
> 
> diff --git a/dim b/dim
> index e502511f5063..11f38b114e56 100755
> --- a/dim
> +++ b/dim
> @@ -155,6 +155,19 @@ function pause
>  	echo
>  }
>  
> +function ask_user
> +{
> +	local prompt="$@ (y/N) "
> +
> +	read -n 1 -rsp "$prompt"
> +	echo
> +	if [[ $REPLY =~ ^[Yy]$ ]]; then
> +		return 0
> +	else
> +		return 1
> +	fi
> +}
> +
>  #
>  # Variable naming convetion:
>  #
> @@ -2109,18 +2122,26 @@ function dim_setup
>  	drm_tip_ssh=ssh://git.freedesktop.org/git/drm-tip
>  	linux_upstream_git=git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>  
> -	if [ ! -d $DIM_PREFIX ]; then
> -		echoerr "Directory $DIM_PREFIX doesn't exist."
> -		echoerr "Please set up your repository directory with"
> -		echoerr "    mkdir -p $DIM_PREFIX"
> -		echoerr "or update your configuration (see dimrc.sample)."
> -		exit 1
> +	if [[ ! -d "$DIM_PREFIX" ]]; then
> +		if ask_user "The DIM_PREFIX repository directory '$DIM_PREFIX' doesn't exist. Create?"; then
> +			mkdir -p "$DIM_PREFIX"
> +		else
> +			echoerr "Please set up your DIM_PREFIX repository directory with"
> +			echoerr "    mkdir -p $DIM_PREFIX"
> +			echoerr "or update your configuration (see dimrc.sample)."
> +			exit 1
> +		fi
> +	fi
> +
> +	if [[ ! -d "$DIM_PREFIX/$DIM_REPO" ]]; then
> +		if ask_user "The DIM_REPO maintainer kernel repository '$DIM_PREFIX/$DIM_REPO' doesn't exist. Clone upstream?"; then
> +			git clone "$linux_upstream_git" "$DIM_REPO"
> +		fi
>  	fi
> -	cd $DIM_PREFIX
>  
> -	if [ ! -d $(git_dir $DIM_PREFIX/$DIM_REPO) ]; then
> -		echoerr "No git checkout found in $DIM_PREFIX/$DIM_REPO."
> -		echoerr "Please set up your maintainer linux repository at $DIM_PREFIX/$DIM_REPO with"
> +	if [[ ! -d "$(git_dir $DIM_PREFIX/$DIM_REPO)" ]]; then
> +		echoerr "No kernel git checkout found in '$DIM_PREFIX/$DIM_REPO'."
> +		echoerr "Please set up your DIM_REPO maintainer kernel repository at '$DIM_PREFIX/$DIM_REPO' with:"
>  		echoerr "    cd $DIM_PREFIX"
>  		echoerr "    git clone $linux_upstream_git $DIM_REPO"
>  		echoerr "or update your configuration (see dimrc.sample)."
> -- 
> 2.20.1
> 
> _______________________________________________
> dim-tools mailing list
> dim-tools at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dim-tools

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dim-tools mailing list