From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: openembedded-core <openembedded-core@lists.openembedded.org>,
Steffen Sledz <sledz@dresearch-fe.de>
Cc: Lianhao Lu <lianhao.lu@intel.com>
Subject: Re: hash generation/PR service problem with xuser-account and other packages
Date: Tue, 23 Sep 2014 14:21:41 +0100 [thread overview]
Message-ID: <1411478501.15825.40.camel@ted> (raw)
In-Reply-To: <54216293.4040907@dresearch-fe.de>
On Tue, 2014-09-23 at 14:07 +0200, Steffen Sledz wrote:
> As i mentioned in another thread before we're investigating some problems related with package versions going backwards using a PR service.
>
> Now i have some more information. But i'm not able to understand and fix the problem for myself.
>
> Assume we have a clean workspace and i bitbake the xuser-account package with this command:
>
> MACHINE="foo" bitbake xuser-account
>
> This generates these packages (the 207 comes from our PR service).
>
> tmp-eglibc/deploy/ipk/all/xuser-account-dbg_0.1-r0.207_all.ipk
> tmp-eglibc/deploy/ipk/all/xuser-account-dev_0.1-r0.207_all.ipk
> tmp-eglibc/deploy/ipk/all/xuser-account_0.1-r0.207_all.ipk
>
> If i call the same bitbake command again, the same packages are generated. Fine!
>
> Now i call:
>
> MACHINE="bar" bitbake xuser-account
>
> The generated packages now get a new number from the PR server (so they have a different hash i believe).
>
> tmp-eglibc/deploy/ipk/all/xuser-account-dbg_0.1-r0.208_all.ipk
> tmp-eglibc/deploy/ipk/all/xuser-account-dev_0.1-r0.208_all.ipk
> tmp-eglibc/deploy/ipk/all/xuser-account_0.1-r0.208_all.ipk
>
> But this package does not seem to be machine dependent!?
>
> If the next build for machine foo is a clean build again (e.g. on our Jenkins continuous integration server which makes clean builds once a week) the PR service generated number wents back to 207 which results in:
>
> "ERROR: QA Issue: Package version for package xuser-account went backwards which would break package feeds"
>
> Can someone confirm this behaviour?
>
> Is this a bug? I think so.
>
> Can someone give some details what went wrong here? Also after studying <http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#checksums> i was not able to fully understand the background, not to speak of fixing something.
>
> BTW: We see the same behaviour for the cpufreq-tweaks, linux-firmware, run-postinsts, and some of our own packages.
I just took a look at this on master. There are some changes between
master and daisy and I want to get this resolved in master before we
think about daisy. I thought walking through debugging this may be
helpful, so, I did:
MACHINE=qemux86 bitbake xuser-account
MACHINE=qemuarm bitbake xuser-account
and sure enough, you are correct, things rebuild and they should not for
an allarch package like this. Looking at the list of packages being
built, its pulling in the toolchain. I checked:
MACHINE=qemuarm bitbake xuser-account -e | grep INHIBIT_DEFAULT_DEPS
and sure enough, that is set (as per allarch.bbclass) so why is it
building the toolchain?! It has to be a dependency, so:
MACHINE=qemuarm bitbake xuser-account -e | grep DEPENDS=
and in there we see:
DEPENDS=" base-files base-passwd shadow-native shadow-sysroot shadow"
base-files is whitelisted in conf/layer.conf as a dependency we don't
need to checksum. The checksum of shadow-native isn't an issue, the
others however are a problem. Since they have well behaved APIs, we can
add them to the list in layer.conf.
What this does mean is that if shadow rebuilds, xuser-account will not
rebuild automatically. I don't believe that should be an issue.
After doing this, I reran the bitbake commands and then:
ls tmp/stamps/all-poky-linux/xuser-account/
shows things like:
0.1-r0.do_populate_sysroot.978b6f9bfd5282121de701a24dc52c80.qemuarm
0.1-r0.do_populate_sysroot.978b6f9bfd5282121de701a24dc52c80.qemux86
basically, the stamp hashes should not change between the two bitbake
commands. SO the patch needed to fix xuser is:
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index 9143bdb..4deee89 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -31,6 +31,9 @@ SIGGEN_EXCLUDERECIPES_ABISAFE += " \
packagegroup-x11-xserver \
systemd-serialgetty \
initscripts \
+ shadow \
+ shadow-sysroot \
+ base-passwd \
"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
The other recipes will need investigating since I doubt its this issue
for them.
Cheers,
Richard
next prev parent reply other threads:[~2014-09-23 13:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-23 12:07 hash generation/PR service problem with xuser-account and other packages Steffen Sledz
2014-09-23 13:21 ` Richard Purdie [this message]
2014-09-23 14:51 ` Steffen Sledz
2014-09-23 16:16 ` Richard Purdie
2014-09-24 13:22 ` Steffen Sledz
2014-09-24 13:34 ` Richard Purdie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1411478501.15825.40.camel@ted \
--to=richard.purdie@linuxfoundation.org \
--cc=lianhao.lu@intel.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=sledz@dresearch-fe.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox