All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/1] packagefeed-stability.bbclass: fix multilib + rpm
@ 2016-07-27  7:51 Robert Yang
  2016-07-27  7:51 ` [PATCH 1/1] " Robert Yang
  2016-08-08  5:48 ` [PATCH 0/1] " Robert Yang
  0 siblings, 2 replies; 3+ messages in thread
From: Robert Yang @ 2016-07-27  7:51 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit b32d430c3c7dccf3a8d06ab492d648893a05950f:

  dpkg: use snapshot.debian.org for SRC_URI (2016-07-26 08:56:08 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/feed
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/feed

Robert Yang (1):
  packagefeed-stability.bbclass: fix multilib + rpm

 meta/classes/packagefeed-stability.bbclass | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

-- 
2.9.0



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

* [PATCH 1/1] packagefeed-stability.bbclass: fix multilib + rpm
  2016-07-27  7:51 [PATCH 0/1] packagefeed-stability.bbclass: fix multilib + rpm Robert Yang
@ 2016-07-27  7:51 ` Robert Yang
  2016-08-08  5:48 ` [PATCH 0/1] " Robert Yang
  1 sibling, 0 replies; 3+ messages in thread
From: Robert Yang @ 2016-07-27  7:51 UTC (permalink / raw)
  To: openembedded-core

* Fix multilib + rpm since its multilib package name is special.
* Update SSTATE_DUPWHITELIST to avoid shared location conflicted error.
* Fix message when "not copying", now the messages are:
  Copying packages for recipe <foo>
  Not copying packages for recipe <foo>

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/classes/packagefeed-stability.bbclass | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/meta/classes/packagefeed-stability.bbclass b/meta/classes/packagefeed-stability.bbclass
index df4c2ba..bcd3e44 100644
--- a/meta/classes/packagefeed-stability.bbclass
+++ b/meta/classes/packagefeed-stability.bbclass
@@ -56,8 +56,11 @@ python() {
                 continue
 
             if deploydirvarref in sstate_outputdirs:
+                deplor_dir_pkgtype = d.expand(deploydirvarref + '-prediff')
                 # Set intermediate output directory
-                d.setVarFlag(pkgwritefunc, 'sstate-outputdirs', sstate_outputdirs.replace(deploydirvarref, deploydirvarref + '-prediff'))
+                d.setVarFlag(pkgwritefunc, 'sstate-outputdirs', sstate_outputdirs.replace(deploydirvarref, deplor_dir_pkgtype))
+                # Update SSTATE_DUPWHITELIST to avoid shared location conflicted error
+                d.appendVar('SSTATE_DUPWHITELIST', ' %s' % deplor_dir_pkgtype)
 
             d.setVar(pkgcomparefunc, d.getVar('do_package_compare', False))
             d.setVarFlags(pkgcomparefunc, d.getVarFlags('do_package_compare', False))
@@ -135,6 +138,7 @@ def package_compare_impl(pkgtype, d):
     files = []
     docopy = False
     manifest, _ = oe.sstatesig.sstate_get_manifest_filename(pkgwritetask, d)
+    mlprefix = d.getVar('MLPREFIX', True)
     # Copy recipe's all packages if one of the packages are different to make
     # they have the same PR.
     with open(manifest, 'r') as f:
@@ -150,6 +154,8 @@ def package_compare_impl(pkgtype, d):
                     pkgbasename = os.path.basename(destpath)
                     pkgname = None
                     for rpkg, pkg in rpkglist:
+                        if mlprefix and pkgtype == 'rpm' and rpkg.startswith(mlprefix):
+                            rpkg = rpkg[len(mlprefix):]
                         if pkgbasename.startswith(rpkg):
                             pkgr = pkgrvalues[pkg]
                             destpathspec = destpath.replace(pkgr, '*')
@@ -205,6 +211,12 @@ def package_compare_impl(pkgtype, d):
             for pkgname, pkgbasename, srcpath, destpath in files:
                 destdir = os.path.dirname(destpath)
                 bb.utils.mkdirhier(destdir)
+                # Remove allarch rpm pkg if it is already existed (for
+                # multilib), they're identical in theory, but sstate.bbclass
+                # copies it again, so keep align with that.
+                if os.path.exists(destpath) and pkgtype == 'rpm' \
+                        and d.getVar('PACKAGE_ARCH', True) == 'all':
+                    os.unlink(destpath)
                 if (os.stat(srcpath).st_dev == os.stat(destdir).st_dev):
                     # Use a hard link to save space
                     os.link(srcpath, destpath)
@@ -212,7 +224,7 @@ def package_compare_impl(pkgtype, d):
                     shutil.copyfile(srcpath, destpath)
                 f.write('%s\n' % destpath)
     else:
-        bb.plain('Not copying packages for %s' % pn)
+        bb.plain('Not copying packages for recipe %s' % pn)
 
 do_cleanall_append() {
     import errno
-- 
2.9.0



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

* Re: [PATCH 0/1] packagefeed-stability.bbclass: fix multilib + rpm
  2016-07-27  7:51 [PATCH 0/1] packagefeed-stability.bbclass: fix multilib + rpm Robert Yang
  2016-07-27  7:51 ` [PATCH 1/1] " Robert Yang
@ 2016-08-08  5:48 ` Robert Yang
  1 sibling, 0 replies; 3+ messages in thread
From: Robert Yang @ 2016-08-08  5:48 UTC (permalink / raw)
  To: openembedded-core

ping.

// Robert

On 07/27/2016 03:51 PM, Robert Yang wrote:
> The following changes since commit b32d430c3c7dccf3a8d06ab492d648893a05950f:
>
>    dpkg: use snapshot.debian.org for SRC_URI (2016-07-26 08:56:08 +0100)
>
> are available in the git repository at:
>
>    git://git.openembedded.org/openembedded-core-contrib rbt/feed
>    http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/feed
>
> Robert Yang (1):
>    packagefeed-stability.bbclass: fix multilib + rpm
>
>   meta/classes/packagefeed-stability.bbclass | 16 ++++++++++++++--
>   1 file changed, 14 insertions(+), 2 deletions(-)
>


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

end of thread, other threads:[~2016-08-08  5:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-27  7:51 [PATCH 0/1] packagefeed-stability.bbclass: fix multilib + rpm Robert Yang
2016-07-27  7:51 ` [PATCH 1/1] " Robert Yang
2016-08-08  5:48 ` [PATCH 0/1] " Robert Yang

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.