qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] configure: add sanity check to catch builds


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PATCH v2] configure: add sanity check to catch builds from "git archive"
Date: Thu, 19 Apr 2018 14:31:58 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0


On 04/18/2018 02:11 PM, Daniel P. Berrangé wrote:
> The "git archive" feature creates tarballs which are missing all
> submodule content. GitHub unhelpfully provides users with "Download"
> links that claim to give them valid source release tarballs. These
> GitHub archives will not be buildable as they are created by the
> "git archive" feature and so are missing content. The user gets
> unhelpful messages from make such as:
> 
>   fatal error: ui/input-keymap-atset1-to-qcode.c: No such file or directory
> 
> By adding a sanity check we can give users an informative message about
> what they've done wrong.

tested with https://github.com/philmd/qemu/archive/github_notag.tar.gz

    github_notag$ ./configure

    ERROR: missing file ./ui/keycodemapdb/README

    This is not a GIT checkout but module content appears to
    be missing. Do not use 'git archive' or GitHub download links
    to acquire QEMU source archives. Non-GIT builds are only
    supported with source archives linked from:

     https://www.qemu.org/download/

    Developers working with GIT can use scripts/archive-source.sh
    if they need to create valid source archives.

> Signed-off-by: Daniel P. Berrangé <address@hidden>

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>

> ---
>  configure | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/configure b/configure
> index 0a19b033bc..089b00068c 100755
> --- a/configure
> +++ b/configure
> @@ -296,6 +296,24 @@ then
>  else
>      git_update=no
>      git_submodules=""
> +
> +    if ! test -f "$source_path/ui/keycodemapdb/README"
> +    then
> +        echo
> +        echo "ERROR: missing file $source_path/ui/keycodemapdb/README"
> +        echo
> +        echo "This is not a GIT checkout but module content appears to"
> +        echo "be missing. Do not use 'git archive' or GitHub download links"
> +        echo "to acquire QEMU source archives. Non-GIT builds are only"
> +        echo "supported with source archives linked from:"
> +        echo
> +        echo "  https://www.qemu.org/download/";
> +        echo
> +        echo "Developers working with GIT can use scripts/archive-source.sh"
> +        echo "if they need to create valid source archives."
> +        echo
> +        exit 1
> +    fi
>  fi
>  git="git"
>  
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]