All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] archiver fixes
@ 2013-03-11 22:39 Kevin Strasser
  2013-03-11 22:51 ` [PATCH 1/2] archive-*-source.bbclass: fix scripts_with_logs build error Kevin Strasser
  2013-03-11 22:51 ` [PATCH 2/2] archiver: fix archive filtering behavior Kevin Strasser
  0 siblings, 2 replies; 3+ messages in thread
From: Kevin Strasser @ 2013-03-11 22:39 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 63c7192119d54b92d908441109ed4e4fff761cba:

  base.bbclass: don't backfill features that already exist (2013-03-09 23:50:17 +0000)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib strassek/archiver
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=strassek/archiver

Kevin Strasser (2):
  archive-*-source.bbclass: fix scripts_with_logs build error
  archiver: fix archive filtering behavior

 meta/classes/archive-configured-source.bbclass |   15 +++++++++++----
 meta/classes/archive-original-source.bbclass   |   15 +++++++++++----
 meta/classes/archive-patched-source.bbclass    |   15 +++++++++++----
 meta/classes/archiver.bbclass                  |   13 +------------
 4 files changed, 34 insertions(+), 24 deletions(-)

-- 
1.7.9.5




^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH 1/2] archive-*-source.bbclass: fix scripts_with_logs build error
  2013-03-11 22:39 [PATCH 0/2] archiver fixes Kevin Strasser
@ 2013-03-11 22:51 ` Kevin Strasser
  2013-03-11 22:51 ` [PATCH 2/2] archiver: fix archive filtering behavior Kevin Strasser
  1 sibling, 0 replies; 3+ messages in thread
From: Kevin Strasser @ 2013-03-11 22:51 UTC (permalink / raw)
  To: openembedded-core

Log and script archives are only generated when explicitly enabled by
setting the environment variable SOURCE_ARCHIVE_LOG_WITH_SCRIPTS to
'logs_with_scripts'. When left disabled, the path specified to be
handled by sstate is never created, resulting in a build error.

Only attempt to archive scripts and logs when explicitly enabled.

Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
---
 meta/classes/archive-configured-source.bbclass |    5 +++--
 meta/classes/archive-original-source.bbclass   |    5 +++--
 meta/classes/archive-patched-source.bbclass    |    5 +++--
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/meta/classes/archive-configured-source.bbclass b/meta/classes/archive-configured-source.bbclass
index 4fc5129..2738cab 100644
--- a/meta/classes/archive-configured-source.bbclass
+++ b/meta/classes/archive-configured-source.bbclass
@@ -28,9 +28,10 @@ python () {
         """
         d.appendVarFlag('do_compile', 'depends', ' %s:do_archive_configured_sources' %pn)
         build_deps = ' %s:do_archive_configured_sources' %pn
-        build_deps += ' %s:do_archive_scripts_logs' %pn
+        if d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True) == 'logs_with_scripts':
+            build_deps += ' %s:do_archive_scripts_logs' %pn
+            d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
         d.appendVarFlag('do_build', 'depends', build_deps)
-        d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
 
     else:
         d.prependVarFlag('do_configure', 'postfuncs', "do_archive_configured_sources")
diff --git a/meta/classes/archive-original-source.bbclass b/meta/classes/archive-original-source.bbclass
index 3aea4f4..2858d33 100644
--- a/meta/classes/archive-original-source.bbclass
+++ b/meta/classes/archive-original-source.bbclass
@@ -28,9 +28,10 @@ python () {
         """
         d.appendVarFlag('do_patch', 'depends', ' %s:do_archive_original_sources_patches' %pn)
         build_deps = ' %s:do_archive_original_sources_patches' %pn
-        build_deps += ' %s:do_archive_scripts_logs' %pn
+        if d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True) == 'logs_with_scripts':
+            build_deps += ' %s:do_archive_scripts_logs' %pn
+            d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
         d.appendVarFlag('do_build', 'depends', build_deps)
-        d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
 
     else:
         d.prependVarFlag('do_unpack', 'postfuncs', "do_archive_original_sources_patches")
diff --git a/meta/classes/archive-patched-source.bbclass b/meta/classes/archive-patched-source.bbclass
index d7ed6c8..b47d36c 100644
--- a/meta/classes/archive-patched-source.bbclass
+++ b/meta/classes/archive-patched-source.bbclass
@@ -28,9 +28,10 @@ python () {
         """
         d.appendVarFlag('do_configure', 'depends', ' %s:do_archive_patched_sources' %pn)
         build_deps = ' %s:do_archive_patched_sources' %pn
-        build_deps += ' %s:do_archive_scripts_logs' %pn
+        if d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True) == 'logs_with_scripts':
+            build_deps += ' %s:do_archive_scripts_logs' %pn
+            d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
         d.appendVarFlag('do_build', 'depends', build_deps)
-        d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
 
     else:
         d.prependVarFlag('do_patch', 'postfuncs', "do_archive_patched_sources")
-- 
1.7.9.5




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/2] archiver: fix archive filtering behavior
  2013-03-11 22:39 [PATCH 0/2] archiver fixes Kevin Strasser
  2013-03-11 22:51 ` [PATCH 1/2] archive-*-source.bbclass: fix scripts_with_logs build error Kevin Strasser
@ 2013-03-11 22:51 ` Kevin Strasser
  1 sibling, 0 replies; 3+ messages in thread
From: Kevin Strasser @ 2013-03-11 22:51 UTC (permalink / raw)
  To: openembedded-core

With the addition of sstate, ensure that archiving tasks are only
added to the build if they produce output in the directory specified
by the 'sstate-inputdirs' flag.

Move calls to 'tar_filter' and 'not_tarball' out to
archive-*-source.bbclass in order to filter out packages before their
archiving tasks are added to the build.

Additionally, negate the return value of copyleft_should_include in
tar_filter, so that packages that do not pass are in turn filtered out.

Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com>
---
 meta/classes/archive-configured-source.bbclass |   10 ++++++++--
 meta/classes/archive-original-source.bbclass   |   10 ++++++++--
 meta/classes/archive-patched-source.bbclass    |   10 ++++++++--
 meta/classes/archiver.bbclass                  |   13 +------------
 4 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/meta/classes/archive-configured-source.bbclass b/meta/classes/archive-configured-source.bbclass
index 2738cab..0f2c9ee 100644
--- a/meta/classes/archive-configured-source.bbclass
+++ b/meta/classes/archive-configured-source.bbclass
@@ -14,11 +14,15 @@ addtask do_archive_configured_sources after do_configure
 addtask do_archive_scripts_logs
 
 # Get dump date and create diff file 
-addtask do_dumpdata_create_diff_gz before do_build
+addtask do_dumpdata_create_diff_gz
 
 python () {
     pn = d.getVar('PN', True)
     packaging = d.getVar('IMAGE_PKGTYPE', True)
+
+    if tar_filter(d):
+        return
+
     d.appendVarFlag('do_dumpdata_create_diff_gz', 'depends', ' %s:do_package_write_' %pn + packaging)
 
     if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True) != 'srpm':
@@ -27,7 +31,9 @@ python () {
         configured sources and scripts/logs in ${DEPLOY_DIR}/sources.
         """
         d.appendVarFlag('do_compile', 'depends', ' %s:do_archive_configured_sources' %pn)
-        build_deps = ' %s:do_archive_configured_sources' %pn
+        build_deps = ' %s:do_dumpdata_create_diff_gz' %pn
+        if not not_tarball(d):
+            build_deps += ' %s:do_archive_configured_sources' %pn
         if d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True) == 'logs_with_scripts':
             build_deps += ' %s:do_archive_scripts_logs' %pn
             d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
diff --git a/meta/classes/archive-original-source.bbclass b/meta/classes/archive-original-source.bbclass
index 2858d33..1e138ce 100644
--- a/meta/classes/archive-original-source.bbclass
+++ b/meta/classes/archive-original-source.bbclass
@@ -14,11 +14,15 @@ addtask do_archive_original_sources_patches after do_unpack
 addtask do_archive_scripts_logs
 
 # Get dump date and create diff file 
-addtask do_dumpdata_create_diff_gz before do_build
+addtask do_dumpdata_create_diff_gz
 
 python () {
     pn = d.getVar('PN', True)
     packaging = d.getVar('IMAGE_PKGTYPE', True)
+
+    if tar_filter(d):
+        return
+
     d.appendVarFlag('do_dumpdata_create_diff_gz', 'depends', ' %s:do_package_write_' %pn + packaging)
 
     if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True) != 'srpm':
@@ -27,7 +31,9 @@ python () {
         original sources and scripts/logs in ${DEPLOY_DIR}/sources.
         """
         d.appendVarFlag('do_patch', 'depends', ' %s:do_archive_original_sources_patches' %pn)
-        build_deps = ' %s:do_archive_original_sources_patches' %pn
+        build_deps = ' %s:do_dumpdata_create_diff_gz' %pn
+        if not not_tarball(d):
+            build_deps += ' %s:do_archive_original_sources_patches' %pn
         if d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True) == 'logs_with_scripts':
             build_deps += ' %s:do_archive_scripts_logs' %pn
             d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
diff --git a/meta/classes/archive-patched-source.bbclass b/meta/classes/archive-patched-source.bbclass
index b47d36c..ac6d2c3 100644
--- a/meta/classes/archive-patched-source.bbclass
+++ b/meta/classes/archive-patched-source.bbclass
@@ -14,11 +14,15 @@ addtask do_archive_patched_sources after do_patch
 addtask do_archive_scripts_logs
 
 # Get dump date and create diff file 
-addtask do_dumpdata_create_diff_gz before do_build
+addtask do_dumpdata_create_diff_gz
 
 python () {
     pn = d.getVar('PN', True)
     packaging = d.getVar('IMAGE_PKGTYPE', True)
+
+    if tar_filter(d):
+        return
+
     d.appendVarFlag('do_dumpdata_create_diff_gz', 'depends', ' %s:do_package_write_' %pn + packaging)
 
     if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True) != 'srpm':
@@ -27,7 +31,9 @@ python () {
         patched sources and scripts/logs in ${DEPLOY_DIR}/sources.
         """
         d.appendVarFlag('do_configure', 'depends', ' %s:do_archive_patched_sources' %pn)
-        build_deps = ' %s:do_archive_patched_sources' %pn
+        build_deps = ' %s:do_dumpdata_create_diff_gz' %pn
+        if not not_tarball(d):
+            build_deps += ' %s:do_archive_patched_sources' %pn
         if d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True) == 'logs_with_scripts':
             build_deps += ' %s:do_archive_scripts_logs' %pn
             d.appendVarFlag('do_archive_scripts_logs', 'depends', ' %s:do_package_write_' %pn + packaging)
diff --git a/meta/classes/archiver.bbclass b/meta/classes/archiver.bbclass
index 4323827..ed07b2e 100644
--- a/meta/classes/archiver.bbclass
+++ b/meta/classes/archiver.bbclass
@@ -75,10 +75,7 @@ def tar_filter(d):
     """
     if d.getVar('FILTER', True) == "yes":
         included, reason = copyleft_should_include(d)
-        if not included:
-            return False
-        else:
-            return True
+        return not included
     else:
         return False
 
@@ -400,8 +397,6 @@ def archive_sources_patches(d, stage_name):
     import shutil
 
     check_archiving_type(d)
-    if not_tarball(d) or tar_filter(d):
-        return
 
     source_tar_name = archive_sources(d, stage_name)
     if stage_name == "prepatch":
@@ -431,8 +426,6 @@ def archive_scripts_logs(d):
     """
     import shutil
 
-    if tar_filter(d):
-        return
     work_dir = d.getVar('WORKDIR', True)
     temp_dir = os.path.join(work_dir, 'temp')
     source_archive_log_with_scripts = d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True)
@@ -459,8 +452,6 @@ def dumpdata(d):
     kinds of variables and functions when running a task
     """
 
-    if tar_filter(d):
-        return
     workdir = bb.data.getVar('WORKDIR', d, 1)
     distro = bb.data.getVar('DISTRO', d, 1)
     s = d.getVar('S', True)
@@ -491,8 +482,6 @@ def create_diff_gz(d):
     import shutil
     import subprocess
 
-    if tar_filter(d):
-        return
     work_dir = d.getVar('WORKDIR', True)
     exclude_from = d.getVar('ARCHIVE_EXCLUDE_FROM', True).split()
     pf = d.getVar('PF', True)
-- 
1.7.9.5




^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-03-11 23:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-11 22:39 [PATCH 0/2] archiver fixes Kevin Strasser
2013-03-11 22:51 ` [PATCH 1/2] archive-*-source.bbclass: fix scripts_with_logs build error Kevin Strasser
2013-03-11 22:51 ` [PATCH 2/2] archiver: fix archive filtering behavior Kevin Strasser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.