python archiver_clean_tarball() {
    from os import listdir
    import tarfile
    import shutil, tempfile
    import os

    ar_outdir = d.getVar('ARCHIVER_OUTDIR')
    #get tarball name
    tarball_name = [f for f in listdir(ar_outdir) if f.endswith("tar.gz")]
    tmpdir = tempfile.mkdtemp(dir=d.getVar('ARCHIVER_WORKDIR'))
    if tarball_name and tarball_name[0] and len(tarball_name[0]) > 0:
        tar = tarfile.open(os.path.join(ar_outdir,tarball_name[0]))
        tar.extractall(path=tmpdir)
        tar.close()
        dirs_list = [f for f in listdir(tmpdir) if os.path.isdir(os.path.join(tmpdir, f))]
        if len(dirs_list) == 1:
            if os.path.exists(os.path.join(tmpdir,dirs_list[0],"git", ".git")):
                src_origin = os.path.join(tmpdir,dirs_list[0], '.')
                shutil.rmtree(os.path.join(tmpdir,dirs_list[0],"git", ".git"))
                os.remove(os.path.join(ar_outdir,tarball_name[0]))
                subdirs_list = [f for f in listdir(os.path.join(tmpdir,dirs_list[0])) if os.path.isdir(os.path.join(tmpdir,dirs_list[0], f))]
                if len(subdirs_list) == 1:
                    src_origin = os.path.join(tmpdir,dirs_list[0],subdirs_list[0])
                create_tarball(d, src_origin, '', ar_outdir)
}
do_ar_original[postfuncs] =+ "archiver_clean_tarball"

ARCHIVER_README = "README.HOW_TO.txt"
archiver_git_uri() {
    ret=`echo "${SRC_URI}" | grep branch | wc -l`
    if [ $ret -gt 0 ]; then
        BRANCH=`echo "${SRC_URI}" | sed "s|.*branch=\([^ ;]*\).*|\1|" `
    else
        BRANCH=master
    fi

    sed -i -e "s|##GIT_BRANCH##|$BRANCH|g" -e "s|##GIT_SRCREV##|${SRCREV}|g" ${ARCHIVER_OUTDIR}/${ARCHIVER_README}
}
do_ar_original[postfuncs] =+ "archiver_git_uri"

