From: Robert Yang <liezhi.yang@windriver.com>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: oe-core <openembedded-core@lists.openembedded.org>
Subject: Re: PRServer's problem
Date: Thu, 19 May 2016 11:10:39 +0800 [thread overview]
Message-ID: <573D2EAF.9010602@windriver.com> (raw)
In-Reply-To: <573D260D.2020909@windriver.com>
On 05/19/2016 10:33 AM, Robert Yang wrote:
>
> Hi Martin,
>
> I found this patch in the bug:
>
> http://git.openembedded.org/openembedded-core/commit/meta/lib/oe/sstatesig.py?id=336a7897e39b9e42dcfcba9e2520ea96b0c6a8d6
And this patch causes another inconsistent:
PACKAGE_CLASSES = "package_ipk"
1) After make some changes in opkg-utils-native, foo.do_package_write_ipk
will re-run, but PR doesn't bump, this is because PR is bumped in
do_package, and do_package doesn't depend on opkg-utils-native, but
do_package_write_ipk does, so do_package_write_ipk will rerun but no
PR is bumped.
2) Another more funny problem is, after make some changes in rpm-native
(PACKAGE_CLASSES = "package_ipk"), both foo.do_package and
foo.do_package_write_ipk will run and PR is bumped. This is because
do_package depends on rpm-native (for FILERDEPENDS), so do_package
re-runs and PR bumps, thus caused do_package_write_ipk re-runs.
Revert the patch will fix both 1) and 2).
For 2), the only one uses FILERDEPENDS is do_package_qa, maybe we need
move the generation of FILERDEPENDS there. This is another bug.
// Robert
>
>
> Too many PR bumps and rebuildings are caused by this patch. I'm
> not very sure about what this patch tries to fix, it seems that
> it is trying to fix problems when 32bit and 64bit uses the same
> sstate cache? Would you please provide a simple reproducer, please?
>
> Things will become much better after revert this patch. Be less
> stricter or more is a hard problem, if we still need the patch,
> can we leave such a choice to the end user? We can add some vars
> like DROP_NATIVE_SIG ? = "0/1". This would be good to the end user
> who uses stable release like jethro or krogoth to make their
> distributions, and PR Service really matters here. Even if they
> switch the build between 32 and 64 builds (This is unlikely to
> happen for production environment) and got problems, they still
> can fix the problem by rebuilding, this is still much better than
> current status: run a "smart/opkg/apt-get upgrade" on the target,
> *all* of the packages are downloaded and installed again after a
> CVE patch applies on native recipes like pseudo-native or rpm-native,
> but in fact, nothing is changed on the target this is really a bad
> experience.
>
> // Robert
>
> On 05/18/2016 06:15 PM, Martin Jansa wrote:
>> On Wed, May 18, 2016 at 05:31:09PM +0800, Robert Yang wrote:
>>>
>>>
>>> On 05/18/2016 05:20 PM, Martin Jansa wrote:
>>>> On Wed, May 18, 2016 at 04:03:58PM +0800, Robert Yang wrote:
>>>>> Hi Martin,
>>>>>
>>>>> On 05/18/2016 03:39 PM, Martin Jansa wrote:
>>>>>> See:
>>>>>> https://bugzilla.yoctoproject.org/show_bug.cgi?id=5970
>>>>>>
>>>>>> Just using recipe checksum wont work, because the main reason for PR bumps
>>>>>> is to
>>>>>> automatically upgrade the packages when one of the dependencies changes .so
>>>>>> version, which you won't detect from recipe checksum of the app which is just
>>>>>> using the library.
>>>>>
>>>>> For the development branch like master, yes, that would happen. But for
>>>>> the stable release like jethro and krogoth, it is unlikely that would
>>>>> happen, and if if does, the user can manually bump the impacted recipe's
>>>>> PR to fix the problem. The current problem is that when *all* recipes'
>>>>> PR are bumped, there is no way to fix the problem.
>>>>
>>>> You can still stop using PR service and start doing manual PR bumps, but
>>>
>>> We can't stop PR service and start doing manual PR bumps since we need keep
>>> update to date with upstream, the changes from upstream don't do the manual
>>> PR, and I don't think that we have to if they can be done automatically.
>>>
>>>> it's quite annoying if you need to bump a lot of recipes you don't
>>>> control :).
>>>
>>> What's your opinion about only consider RDEPENDS for PR service's checksum,
>>> please ?
>>
>> I would like to have separate handler as described in that bug, option
>> c).
>>
>> Not only because of unnecessary EXTENDPRAUTO bumps, but also unnecessary
>> rebuilds.
>>
>>>>>> On Wed, May 18, 2016 at 8:09 AM, Robert Yang <liezhi.yang@windriver.com
>>>>>> <mailto:liezhi.yang@windriver.com>> wrote:
>>>>>>
>>>>>> The PRServer bumps PR according to do_package's task hash, that
>>>>>> causes it bumps *all* packages' PR when recipes like pseudo-native
>>>>>> and rpm-native is changed. It is a very bad user experience when we
>>>>>> run "smart/opkg upgrade" on running target, for example, when we apply
>>>>>> a CVE patch to pseudo-native or rpm-native, or do some slight changes
>>>>>> in their do_compile, "smart/opkg upgrade" will download/install *all*
>>>>>> the packages since all of the packages' PR are bumped.
>>>>>>
>>>>>> Here are some rough suggestions to fix this problem, and please feel
>>>>>> free to give your suggestions.
>>>>>> 1) Do not use do_package's task for bumping PR, the easiest way
>>>>>> is simulate manually bump PR -- only bump PR when the recipe
>>>>>> itself's checksum is changed.
>>>>>>
>>>>>> 2) Add a new task for PRServer, redefine its task hash for bumping
>>>>>> PR, for example, this task hash only considers RDEPENDS (no
>>>>>> DEPENDS), and drop any native dependencies.
>>>>>>
>>>>>> I prefer the first way, and an alternative way maybe add a var so that
>>>>>> the user can configure it:
>>>>>> PR_CHECKSUM = "${BB_TASKHASH}" (current way)
>>>>>> Or
>>>>>> PR_CHECKSUM = "<recipe checksum>"
>>>>>>
>>>>>> --
>>>>>> Thanks
>>>>>>
>>>>>> Robert
>>>>>> --
>>>>>> _______________________________________________
>>>>>> Openembedded-core mailing list
>>>>>> Openembedded-core@lists.openembedded.org
>>>>>> <mailto:Openembedded-core@lists.openembedded.org>
>>>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>>>>>
>>>>>>
>>>>
>>
next prev parent reply other threads:[~2016-05-19 3:10 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-18 6:09 PRServer's problem Robert Yang
2016-05-18 7:34 ` Joshua G Lock
2016-05-18 8:13 ` Robert Yang
2016-05-18 7:39 ` Martin Jansa
2016-05-18 8:03 ` Robert Yang
2016-05-18 9:20 ` Martin Jansa
2016-05-18 9:31 ` Robert Yang
2016-05-18 10:15 ` Martin Jansa
2016-05-19 2:33 ` Robert Yang
2016-05-19 3:10 ` Robert Yang [this message]
2016-05-19 9:45 ` Richard Purdie
2016-05-19 10:12 ` Robert Yang
2016-05-19 10:17 ` Richard Purdie
2016-05-20 2:27 ` Robert Yang
2016-05-19 10:37 ` Joshua G Lock
2016-05-19 11:10 ` Paul Eggleton
2016-05-19 8:47 ` Martin Jansa
2016-05-19 9:40 ` Richard Purdie
2016-05-19 9:45 ` Robert Yang
2016-05-19 10:24 ` Martin Jansa
2016-05-18 12:27 ` Sergey 'Jin' Bostandzhyan
2016-07-27 8:06 ` Robert Yang
2016-07-27 8:30 ` Sergey 'Jin' Bostandzhyan
2016-07-27 8:43 ` Robert Yang
2016-05-20 10:00 ` Mike Looijmans
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=573D2EAF.9010602@windriver.com \
--to=liezhi.yang@windriver.com \
--cc=martin.jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/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 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.