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

Khem Raj raj.khem at gmail.com
Sun Oct 24 07:40:56 UTC 2010


On Sat, Oct 23, 2010 at 11:58 PM, Martin Jansa <martin.jansa at gmail.com> wrote:
> 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']))])
>

hmm strange that a configure scripts depends on SCM files. To me it
seems wrong. Anyway I think you can patch configure.ac
to replace v_rev definition to be based on SRCREV may be some sort of
sed operation as do_configure_prepend might be a good way



> 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