On 12-07-22 09:56 PM, Randy MacLeod wrote:
On 12-07-22 08:10 AM, Huang, j (Jackie) wrote:
On Sun, 2012-07-22 at 14:53 +0800, [email protected] wrote:
From: Jackie Huang <[email protected]>
A race condition can occur when adding users and groups to the
passwd and group files, in [YOCTO #1794], 10 times retry added
but it is not fixed completely.
This fix re-writes the useradd_preinst and useradd_sysroot with
python and use locking of bb.utils to lock the passwd and group
files before executing useradd/groupadd commands to avoid the
lock race themselves.
[YOCTO #2779]
Signed-off-by: Jackie Huang <[email protected]>
---
meta/classes/useradd.bbclass | 284
++++++++++++++++++------------------------
1 files changed, 124 insertions(+), 160 deletions(-)
Please resend this with the whitespace issues resolved. Its near
impossible to review as it stands :(
Re-sent, sorry about that.
Hi Jackie,
I don't see that your new version sent at 8:01 is any better
but I could be wrong...
Robert,
Please take a look and help Jackie with formatting
and perhaps small single purpose commits as needed -
i.e. separate the whitespace changes from the functional changes.
Summary:
Jackie did the right thing; I need to read more carefully. ;-)
// Randy
Details:
I've looked at the two emails more closely now and see the
white space problem lines and saw that Jackie did fix those up
in the new patch. Specifically:
-USERADDSETSCENEDEPS = "${MLPREFIX}base-passwd:do_populate_sy
+USERADDSETSCENEDEPS = "base-passwd:do_populate_sysroot_setsc
USERADDSETSCENEDEPS_virtclass-cross = ""
USERADDSETSCENEDEPS_virtclass-native = ""
USERADDSETSCENEDEPS_virtclass-nativesdk = ""
@@ -154,61 +118,61 @@ do_package_setscene[depends] = "${USERA
# Recipe parse-time sanity checks
def update_useradd_after_parse(d):
- useradd_packages = d.getVar('USERADD_PACKAGES', True)
+ useradd_packages = d.getVar('USERADD_PACKAGES', True)
- if not useradd_packages:
- raise bb.build.FuncFailed, "%s inherits useradd but
+ if not useradd_packages:
+ raise bb.build.FuncFailed, "%s inherits usera
- for pkg in useradd_packages.split():
- if not d.getVar('USERADD_PARAM_%s' % pkg, True) and
- raise bb.build.FuncFailed, "%s inherits useradd
+ for pkg in useradd_packages.split():
+ if not d.getVar('USERADD_PARAM_%s' % pkg, Tru
+ raise bb.build.FuncFailed, "%s inheri
python __anonymous() {
- update_useradd_after_parse(d)
+ update_useradd_after_parse(d)
}
Sorry for the noise.
// Randy
This problem is happening frequently so I'd like to get this
worked out upstream.
Thanks,
// Randy
Thanks,
Jackie
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
--
# Randy MacLeod. MTS, Linux, Wind River
Direct: 613.963.1350
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core