[OE-core] [Oe-core][PATCH 3/3] archiver_configure.bbclass: configure the content for archiving package

Xiaofeng Yan xiaofeng.yan at windriver.com
Tue Mar 6 11:11:00 UTC 2012


On 2012?03?06? 06:18, Saul Wold wrote:
> On 03/03/2012 02:54 AM, Xiaofeng Yan wrote:
>> From: Xiaofeng Yan<xiaofeng.yan at windriver.com>
>>
>> This is configuration file to point to what content a archive package
>> should include in the different stage of task by pointing to 
>> different variable and
>> stage.
>>
> Xiaogeng,
>
> You are on the right path with this one, but what was originally 
> talked about was having multiple archiver bbclasses that did the 
> configuration and set when the archive would take place.
>
> Than one could just inherit the bbclass that matches their needs, so 
> there should be a bbclass that's equivalent to the current copyleft 
> bbclass. And as we defined in earlier emails the 3-4 archives, we 
> should have matching bbclasses for those.
>
Thanks for your reply.
> 1) Original Source & Patches w/ Series file & other files
This needs two bbclass named for 
"tar_original_source_patch_serires_scripts_logs.bblcass" and 
"srpm_original_source_patch_serires_scripts_logs.bblcass". 
archiver.bbclass should be inherited in two bbclass.

"scripts" include .bb and .inc files.
"logs" include temp.
I take zlib for an example with tar type:
step 1: inherit tar_original_source_patch_serires_scripts_logs in 
pakcage_rpm.bbclass.
step 2:
/$bitbake zlib/
step 3:
/$ ls  tmp/deploy/sources/i586-poky-linux/Zlib/zlib-1.2.6-r1/
zlib-1.2.6-r1-patches.tar.gz  zlib-1.2.6-r1-prepatch.tar.gz  
zlib-1.2.6-r1-script-logs.tar.gz/

I organize the directory to deploy archiving package with the following 
mode.
tar_sources = d.getVar('DEPLOY_DIR', True) + '/sources/' + target_sys + 
'/' + licenses + '/' + pf
here:

target_sys is  i586-poky-linux
Zlib is license of package zlib
pf is "zlib-1.2.6-r1"
//zlib-1.2.6-r1-prepatch.tar.gz  include original sources
zlib-1.2.6-r1-patches.tar.gz include patches and series
zlib-1.2.6-r1-script-logs.tar.gz include temp with .bb and .inc files
/
/if we want to get srpm package. we should inherit 
srpm_original_source_patch_serires_scripts_logs.bblcass in 
package_rpm.bbclass
$bitbake zlib
$ls /tmp/deploy/sources/deploy-srpm/i586/Zlib//
zlib-1.2.6-r1.src.rpm
/
/
> 2) Patched & Configured Source & temp dir
This needs four bbclass
tar_patched_sources_logs.bbclass
tar_configured_sources_logs.bbclass
srpm_patched_sources_logs.bbclass
srpm_configured_sources_logs.bbclass

> 3) Copyleft Equivlant (so we can remove that class also)
I only inherit this class in archiver.bbclass in V1 without merging it 
to archiver.bbclass.  I can merge this class if you want.

  I think we can define some variables like SOURCE_ARCHIVE_PACKAGE_TYPE 
= {'tar','srpm'} and SOURCE_ARCHIVE_LOGS_WITH_SCRIPTS = 'True'
SOURCE_ARCHIVE_LOGS = 'True' in conf/local.conf to reduce the number of 
archive bbclass.

I will send you the V2 according to your reply.
**
I do apologize about my design can't meet your requirement.
>
> Sau!
>
>
>> [YOCTO #1977]
>>
>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan at windriver.com>
>>
>> Signed-off-by: Xiaofeng Yan<xiaofeng.yan at windriver.com>
>> ---
>>   meta/classes/archiver_configure.bbclass |   35 
>> +++++++++++++++++++++++++++++++
>>   1 files changed, 35 insertions(+), 0 deletions(-)
>>   create mode 100644 meta/classes/archiver_configure.bbclass
>>
>> diff --git a/meta/classes/archiver_configure.bbclass 
>> b/meta/classes/archiver_configure.bbclass
>> new file mode 100644
>> index 0000000..c9892d3
>> --- /dev/null
>> +++ b/meta/classes/archiver_configure.bbclass
>> @@ -0,0 +1,35 @@
>> +# This file is for getting tarball in different stage for sources, 
>> patches, and logs by configuring
>> +# the following variable and tasks
>> +
>> +inherit archiver
>> +
>> +# SOURCE_ARCHIVE_PACKAGE_TYPE = {'tar','srpm'}
>> +SOURCE_ARCHIVE_PACKAGE_TYPE = 'tar'
>> +
>> +# SOURCE_ARCHIVE_LOG_WITH_SCRIPTS = {'logs_with_scripts', 'logs'}
>> +# String 'logs_with_scripts' include temp directory and .bb and .inc 
>> file
>> +# String 'logs' only include temp
>> +SOURCE_ARCHIVE_LOG_WITH_SCRIPTS = 'logs_with_scripts'
>> +
>> +# PATCHES_ARCHIVE_WITH_SERIES = {'true', 'false'}
>> +# Strings 'true' means that patches including series files(series + 
>> non-applying)
>> +# String 'false' means that no series and only archive applying patches
>> +PATCHES_ARCHIVE_WITH_SERIES = 'true'
>> +
>> +# Archive packages for copy-left
>> +#COPYLEFT_COMPLIANCE = 'true'
>> +
>> +# Open this item when you want to get original sources tarball with 
>> patches
>> +do_unpack[postfuncs] += "do_archive_original_sources_patches "
>> +
>> +# Open this item when you want to get tarball for patched sources 
>> including patches
>> +#do_patch[postfuncs] += "do_archive_patched_sources "
>> +
>> +# Open this item when you want to get tarball for configured sources 
>> including patches
>> +#do_configure[postfuncs] += "do_archive_configured_sources "
>> +
>> +# Open this item when you want to get tarball for logs tarball
>> +do_package_write_rpm[prefuncs] += "do_archive_scripts_logs "
>> +
>> +# Get dump date and create diff file
>> +do_package_write_rpm[postfuncs] += "do_dumpdata_create_diff_gz "
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120306/e874f84d/attachment-0002.html>


More information about the Openembedded-core mailing list