On Thu, Mar 29, 2012 at 11:20 PM, Eric Bénard <[email protected]> wrote: > Le Thu, 29 Mar 2012 16:22:06 -0700, > Chris Larson <[email protected]> a écrit : > >> On Thu, Mar 29, 2012 at 5:22 AM, Eric Bénard <[email protected]> wrote: >> > without this fix, we append license each time we build again the same >> > image, >> > ending with a large not up to date file. >> > >> > Signed-off-by: Eric Bénard <[email protected]> >> > --- >> > meta/classes/license.bbclass | 4 ++++ >> > 1 files changed, 4 insertions(+), 0 deletions(-) >> > >> > diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass >> > index 394a6d4..c85233c 100644 >> > --- a/meta/classes/license.bbclass >> > +++ b/meta/classes/license.bbclass >> > @@ -79,6 +79,10 @@ license_create_manifest() { >> > # Get list of installed packages >> > list_installed_packages | grep -v "locale" |sort > >> > ${LICENSE_DIRECTORY}/${IMAGE_NAME}/package.manifest >> > INSTALLED_PKGS=`cat >> > ${LICENSE_DIRECTORY}/${IMAGE_NAME}/package.manifest` >> > + # remove existing license.manifest file >> > + if [ -f ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest ]; then >> > + rm ${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest >> > + fi >> > # list of installed packages is broken for deb >> >> Probably not a concern in this particular case, but in general you >> should avoid this sort of construct, as it's racy. > > ok, what would be the right way to do that to avoid the race problem ?
Generally speaking rather than doing "if this, then do that" particularly with the filesystem, just do it and handle any errors. In this case, rm -f, which exits silently if the file was already removed. -- Christopher Larson _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
