FYI I had to update my bitbake to the latest commits in the 1.22 branch for 
this to work for some reason....

So if you see the below error try upgrading bitbake.

/home/franklin/oe/mainline/build/arago-tmp-external-linaro-toolchain/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/ti-crypto-examples/git-r7/temp/run.do_create_srcipk.11714:
 line 202: get_remote: command not found
| WARNING: 
/home/franklin/oe/mainline/build/arago-tmp-external-linaro-toolchain/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/ti-crypto-examples/git-r7/temp/run.do_create_srcipk.11714:1
 exit 127 from
|   local_repo=`get_remote $PWD`
| ERROR: Function failed: do_create_srcipk (log file is located at 
/home/franklin/oe/mainline/build/arago-tmp-external-linaro-toolchain/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/ti-crypto-examples/git-r7/temp/log.do_create_srcipk.11714)
ERROR: Task 2026 
(/home/franklin/oe/mainline/sources/meta-arago/meta-arago-extras/recipes-core/ti-crypto-examples/ti-crypto-examples_git.bb,
 do_create_srcipk) failed with exit code '1'
ERROR: Function failed: do_create_srcipk (log file is located at 
/home/franklin/oe/mainline/build/arago-tmp-external-linaro-toolchain/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/arm-benchmarks/1.3-r7-arago0/temp/log.do_create_srcipk.11790)
ERROR: Logfile of failure stored in: 
/home/franklin/oe/mainline/build/arago-tmp-external-linaro-toolchain/work/cortexa8t2hf-vfp-neon-oe-linux-gnueabi/arm-benchmarks/1.3-r7-arago0/temp/log.do_create_srcipk.11790
Log data follows:
> -----Original Message-----
> From: [email protected] [mailto:arago-commits-
> [email protected]] On Behalf Of Arago Project git
> Sent: Friday, July 18, 2014 2:27 PM
> To: [email protected]
> Subject: [arago-commits] Maupin, Chase : sourceipk: allow packaging shallow
> git clone
> 
> Module: meta-arago
> Branch: master
> Commit: 17a0985acfa6db950025be99ad65713e44f1b358
> URL:    http://arago-project.org/git/meta-
> arago.git?a=commit;h=17a0985acfa6db950025be99ad65713e44f1b358
> 
> Author: Maupin, Chase <[email protected]>
> Date:   Sat Jul 19 00:17:54 2014 +0000
> 
> sourceipk: allow packaging shallow git clone
> 
> * Add another flag SRCIPK_SHALLOW_CLONE that will do a shallow
>   clone of depth 1 to reduce the size of the git history.
>     * The full history can be fetched again using either of the
>       following commands based on the version of git being used
>         - git pull --unshallow (New git versions)
>         - git pull (older git versions)
> * Clean up some of the variable names to make it more clear what
>   they are storing.
> * Create a generic function to determine the fetch reporitory
> 
> Signed-off-by: Chase Maupin <[email protected]>
> Signed-off-by: Denys Dmytriyenko <[email protected]>
> 
> ---
> 
>  meta-arago-distro/classes/sourceipk.bbclass |   97
> ++++++++++++++++++++++++---
>  1 files changed, 86 insertions(+), 11 deletions(-)
> 
> diff --git a/meta-arago-distro/classes/sourceipk.bbclass b/meta-arago-
> distro/classes/sourceipk.bbclass
> index 20dda76..8fef2e9 100644
> --- a/meta-arago-distro/classes/sourceipk.bbclass
> +++ b/meta-arago-distro/classes/sourceipk.bbclass
> @@ -61,32 +61,108 @@ SRCIPK_INCLUDE_EXTRAFILES ?= "1"
> 
>  SRCIPK_PRESERVE_GIT ?= "false"
> 
> -adjust_git() {
> +# Create a shallow clone of the git repository to reduce the size of #
> +the sourceipk SRCIPK_SHALLOW_CLONE ?= "false"
> +
> +# This function will return the fetch URL for a git repository passed
> +as # the first parameter.
> +get_remote() {
> +    git_repo="$1"
> +
> +    if [ "$git_repo" == "" ]
> +    then
> +        echo "git_repo not passed to get_remote"
> +        exit 1
> +    fi
> +
> +    cd $git_repo
> +
> +    # Get the remote repository fetch URL
> +    remote=`git remote -v | grep "(fetch)" | cut -d ' ' -f 1   | cut -c 7- | 
> tr -d ' '`
> +
> +    # Since the echo'ed value of this statment is the returned value redirect
> +    # the output of this command to /dev/null
> +    cd - > /dev/null
> +
> +    # echo back the remote repository URL as the output of this function
> +    echo $remote
> +
> +    return 0
> +}
> +
> +# Some git repositories are very large and we do not want to ship the #
> +full history.  Instead we want to limit history to reduce the size
> +while # still keeping the git repository in place.  The full history
> +can be # fetched using git pull --unshallow or just git pull # NOTE:
> +This function depends on a git version >= 1.7.10.  It will work
> +#       with older versions but the size will be larger because rather
> +#       than just a single branch the limited history will be a depth of
> +#       1 for all branches and tags.
> +limit_git_history() {
> +    # By default limit the history to 1 commit since the user can always
> +    # use git pull --unshallow to fetch the rest of history.  The depth
> +    # level of 1 is set to keep from tracking through all merges and
> +    # pulling excess history
> +    commits="1"
> +
> +    # Temporary directory to make shallow clones in
> +    gitshallowclone="${WORKDIR}/temp-git-shallow-clone"
> +
> +    # Change directory to the git repository to be safe
> +    cd $tmp_dir/${SRCIPK_INSTALL_DIR}
> 
> +    # Create a temporary directory to hold the shallow git clone
> +    mkdir -p $gitshallowclone
> +
> +    remote=`get_remote $PWD`
> +
> +    git clone --depth $commits --branch ${BRANCH} file://$remote
> + $gitshallowclone
> +
> +    # remove original kernel clone since we will replace it with the shallow
> +    # clone
> +    rm -rf $tmp_dir/${SRCIPK_INSTALL_DIR}/.git
> +
> +    # replace the original kernel git data with the shallow clone git data
> +    mv $gitshallowclone/.git $tmp_dir/${SRCIPK_INSTALL_DIR}/
> +    rm -rf $gitshallowclone
> +
> +    cd -
> +}
> +
> +adjust_git() {
>      orig_dir="$PWD"
> 
>      cd $tmp_dir/${SRCIPK_INSTALL_DIR}
> 
>      if [ -d ".git" ]
>      then
> +        # Get the location of the local repository
> +        local_repo=`get_remote $PWD`
> 
> -        # Grab path to cloned local repository
> -        old=`git remote -v | grep "(fetch)" | cut -d ' ' -f 1   | cut -c 7- 
> | tr -d ' '`
> -
> -        if [ -d $old -a "${SRCIPK_PRESERVE_GIT}" = "true" ]
> +        if [ -d $local_repo -a "${SRCIPK_PRESERVE_GIT}" = "true" ]
>          then
> -            cd $old
> +            cd $local_repo
> +
> +            # If SRCIPK_SHALLOW_CLONE is true then make a shallow copy of the
> +            # git repository and then fix up the git URLs
> +            if [ "${SRCIPK_SHALLOW_CLONE}" == "true" ]
> +            then
> +                limit_git_history
> +            fi
> 
>              # Grab actual url used to create the repository
> -            orig=`git remote -v | grep "(fetch)" | cut -d ' ' -f 1   | cut 
> -c 7- | tr -d ' '`
> +            remote_repo=`get_remote $PWD`
> 
>              cd -
> 
> -            git remote set-url origin $orig $old
> +            git remote set-url origin $remote_repo $local_repo
> 
> -            # Repackage the repository so its a proper clone of the original
> (remote) git repository
> +            # Repackage the repository so its a proper clone of the original
> +            # (remote) git repository
>              git repack -a -d
> -            rm .git/objects/info/alternates
> +
> +            rm -f .git/objects/info/alternates
> 
>          else
>              rm -rf .git
> @@ -95,7 +171,6 @@ adjust_git() {
>      fi
> 
>      cd $orig_dir
> -
>  }
> 
>  # Create a README file that describes the contents of the source ipk
> 
> _______________________________________________
> arago-commits mailing list
> [email protected]
> http://arago-project.org/cgi-bin/mailman/listinfo/arago-commits
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to