On 2012?03?06? 06:18, Saul Wold wrote: > On 03/03/2012 02:54 AM, Xiaofeng Yan wrote: >> From: Xiaofeng Yan >> >> 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 >> >> Signed-off-by: Xiaofeng Yan >> --- >> 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 " >