[oe] [Bitbake-dev] [PATCH] fetchers: Use tar --exclude pattern to remove SCM files

Martin Jansa martin.jansa at gmail.com
Sun Oct 24 06:58:02 UTC 2010


This commit is usefull for sure, but breaks ie some EFL recipes.

ie python-elementary depends on elementary >= 0.7.0.52890
but elementary.pc says Version: 0.7.0.0

elementary.pc.in says Version: @VERSION@

and finally VERSION is defined in configure.ac:
m4_define([v_maj], [0])
m4_define([v_min], [7])
m4_define([v_mic], [0])
m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" |
grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d '
:MSP\n']))
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null
| (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' |
tr -d '\n']))])

and this works OK on checkout with .svn dirs included, but results to
0 after this patch.

Any hints how to resolve it?

Regards,

On Sat, Sep 25, 2010 at 12:46 AM, Khem Raj <raj.khem at gmail.com> wrote:
> This option will exclude the SCM metadata from tar files.
>
> Tested with gcc where svn tar which used to be 156M for gcc 4.5
> is now 77M
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  lib/bb/fetch/bzr.py |    2 +-
>  lib/bb/fetch/cvs.py |    2 +-
>  lib/bb/fetch/git.py |    2 +-
>  lib/bb/fetch/hg.py  |    2 +-
>  lib/bb/fetch/svn.py |    2 +-
>  5 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/lib/bb/fetch/bzr.py b/lib/bb/fetch/bzr.py
> index 8b0bd9f..3ca125f 100644
> --- a/lib/bb/fetch/bzr.py
> +++ b/lib/bb/fetch/bzr.py
> @@ -107,7 +107,7 @@ class Bzr(Fetch):
>         os.chdir(ud.pkgdir)
>         # tar them up to a defined filename
>         try:
> -            runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.basename(ud.pkgdir)), d)
> +            runfetchcmd("tar --exclude '.bzr' --exclude '.bzrtags' -czf %s %s" % (ud.localpath, os.path.basename(ud.pkgdir)), d)
>         except:
>             t, v, tb = sys.exc_info()
>             try:
> diff --git a/lib/bb/fetch/cvs.py b/lib/bb/fetch/cvs.py
> index 1064b09..42d71ba 100644
> --- a/lib/bb/fetch/cvs.py
> +++ b/lib/bb/fetch/cvs.py
> @@ -162,7 +162,7 @@ class Cvs(Fetch):
>         # tar them up to a defined filename
>         if 'fullpath' in ud.parm:
>             os.chdir(pkgdir)
> -            myret = os.system("tar -czf %s %s" % (ud.localpath, localdir))
> +            myret = os.system("tar --exclude 'CVS' -czf %s %s" % (ud.localpath, localdir))
>         else:
>             os.chdir(moddir)
>             os.chdir('..')
> diff --git a/lib/bb/fetch/git.py b/lib/bb/fetch/git.py
> index 1b1bc95..4acaa87 100644
> --- a/lib/bb/fetch/git.py
> +++ b/lib/bb/fetch/git.py
> @@ -149,7 +149,7 @@ class Git(Fetch):
>
>         os.chdir(codir)
>         logger.info("Creating tarball of git checkout")
> -        runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.join(".", "*") ), d)
> +        runfetchcmd("tar --exclude '.git' -czf %s %s" % (ud.localpath, os.path.join(".", "*") ), d)
>
>         os.chdir(ud.clonedir)
>         bb.utils.prunedir(codir)
> diff --git a/lib/bb/fetch/hg.py b/lib/bb/fetch/hg.py
> index ab00d43..9c11deb 100644
> --- a/lib/bb/fetch/hg.py
> +++ b/lib/bb/fetch/hg.py
> @@ -145,7 +145,7 @@ class Hg(Fetch):
>
>         os.chdir(ud.pkgdir)
>         try:
> -            runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d)
> +            runfetchcmd("tar --exclude '.hg' --exclude '.hgrags' -czf %s %s" % (ud.localpath, ud.module), d)
>         except:
>             t, v, tb = sys.exc_info()
>             try:
> diff --git a/lib/bb/fetch/svn.py b/lib/bb/fetch/svn.py
> index 34f8132..c236e41 100644
> --- a/lib/bb/fetch/svn.py
> +++ b/lib/bb/fetch/svn.py
> @@ -159,7 +159,7 @@ class Svn(Fetch):
>         os.chdir(ud.pkgdir)
>         # tar them up to a defined filename
>         try:
> -            runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d)
> +            runfetchcmd("tar --exclude '.svn' -czf %s %s" % (ud.localpath, ud.module), d)
>         except:
>             t, v, tb = sys.exc_info()
>             try:
> --
> 1.7.1
>
> _______________________________________________
> Bitbake-dev mailing list
> Bitbake-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/bitbake-dev
>




More information about the Openembedded-devel mailing list