distro_check.py: Fix some bugs in distro_check.py

The recipe meta-ide-support's alias is Poky, but not defined in distro_exceptions, this will lead an error.
The compare_in_distro_packages_list function omit a split process, this will lead to a form issue.
Change the log file generate way, use symbolic links link to the latest log file, instead of appending every log file in old log.

(From OE-Core rev: 123a7f49753aef4d5ccb5f5a5590c3c88775c6d0)

Signed-off-by: Mei Lei <lei.mei@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Mei Lei 2011-04-28 22:14:17 +08:00 committed by Richard Purdie
parent 8e551931fe
commit 0e2eb05f46
1 changed files with 11 additions and 6 deletions

View File

@ -302,7 +302,7 @@ def compare_in_distro_packages_list(distro_check_dir, d):
bb.note("Recipe: %s" % recipe_name)
tmp = bb.data.getVar('DISTRO_PN_ALIAS', localdata, True)
distro_exceptions = dict({"OE-Core":'OE-Core', "OpenedHand":'OpenedHand', "Intel":'Intel', "Upstream":'Upstream', "WindRiver":'Windriver', "OSPDT":'OSPDT Approved'})
distro_exceptions = dict({"OE-Core":'OE-Core', "OpenedHand":'OpenedHand', "Intel":'Intel', "Upstream":'Upstream', "WindRiver":'Windriver', "OSPDT":'OSPDT Approved', "Poky":'poky'})
if tmp:
list = tmp.split(' ')
@ -335,8 +335,9 @@ def compare_in_distro_packages_list(distro_check_dir, d):
if tmp != None:
matching_distros.append(tmp)
list = tmp.split(' ')
for item in list:
matching_distros.append(item)
bb.note("Matching: %s" % matching_distros)
return matching_distros
@ -348,13 +349,17 @@ def save_distro_check_result(result, datetime, d):
return
if not os.path.isdir(logdir):
os.makedirs(logdir)
result_file = os.path.join(logdir, "distrocheck.csv")
result_file = os.path.join(logdir, "distrocheck.%s.csv" % datetime)
line = pn
for i in result:
line = line + "," + i
if not os.path.exists(result_file):
open(result_file, 'w+b').close() # touch the file so that the next open won't fail
f = open(result_file, "a+b")
sresult_file = os.path.join(logdir, "distrocheck.csv")
if os.path.exists(sresult_file):
os.remove(sresult_file)
os.system("touch %s" % result_file)
os.symlink(result_file, sresult_file)
f = open(result_file, "a")
import fcntl
fcntl.lockf(f, fcntl.LOCK_EX)
f.seek(0, os.SEEK_END) # seek to the end of file