From e4215d8f7295c5b8d9814eaaaaabc31e3938c0e6 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Fri, 29 Oct 2004 18:18:53 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=4458 --- api/graphics_api.h | 1 - checkin_notes | 9 +++++++++ doc/graphics.php | 4 ++++ tools/update_versions | 43 ++++++++++++++++++++++++++++++++++++------- 4 files changed, 49 insertions(+), 8 deletions(-) diff --git a/api/graphics_api.h b/api/graphics_api.h index 8ac3db1f96..89be6052c0 100755 --- a/api/graphics_api.h +++ b/api/graphics_api.h @@ -26,7 +26,6 @@ extern void boinc_app_key_release(int, int); // Implementation stuff // -extern int boinc_init_graphics(void (*worker)()); extern double boinc_max_fps; extern double boinc_max_gfx_cpu_frac; extern bool throttled_app_render(int, int, double); diff --git a/checkin_notes b/checkin_notes index 05e20e56f6..6d24828212 100755 --- a/checkin_notes +++ b/checkin_notes @@ -18963,3 +18963,12 @@ Eric 28 Oct 2004 file_upload_handler.C tools/ Makefile.am + +David 29 Oct 2004 + - update_versions looks for .sig files for single-file applications + (from Eric Myers) + + api/ + graphics_api.h + tools/ + update_versions diff --git a/doc/graphics.php b/doc/graphics.php index e67a8a33dd..0b3535eed3 100644 --- a/doc/graphics.php +++ b/doc/graphics.php @@ -15,6 +15,10 @@ Applications that provide graphics must call either where worker() is the main function of your application. Do NOT call boinc_init() or boinc_init_options(). +

+Unix/Linux applications that use graphics should compile +all files with -D_REENTRANT, +since graphics uses multiple threads.

Static graphics

diff --git a/tools/update_versions b/tools/update_versions index d918b640ba..688b1a9b93 100755 --- a/tools/update_versions +++ b/tools/update_versions @@ -145,6 +145,8 @@ def add_files(app, match, exec_file, non_exec_files=[], objects_to_commit.append(object) +# Return a match if the filename is a possible exec file name (or installer) + def re_match_exec_filename(filepath): file = os.path.basename(filepath) return re.match('[^.]+_([0-9]+)[.]([0-9]+)_([^.]+?(?:[0-9][0-9.]*[0-9])?)(?:[.]gz|[.]exe|[.]sit|[.]msi)?$', file) @@ -163,9 +165,15 @@ def find_versions(app, dir): """ for filepath in xlistdir(dir): + # ignore symlinks if os.path.islink(filepath): - # ignore symlinks continue + + # ignore signature files + if filepath.endswith('.sig'): + continue + + # look for an executable file (proper .ext at end) match = re_match_exec_filename(filepath) if not match: print >>sys.stderr, " Ignoring unknown file", filepath @@ -175,12 +183,28 @@ def find_versions(app, dir): else: find_versions__process_single_file(app, match, filepath) +# Process an app that is a single file only, possibly with +# a signature file included. Could also be the core client. +# def find_versions__process_single_file(app, match, filepath): - '''add a single executable as app/core version''' - add_files(app=app, match=match, exec_file=filepath, - min_core_version = min_core_version - ) + '''add a single executable as app/core version''' + # Find signature file, if it exists. + signature_files={} + sig_file = filepath + ".sig" + if os.path.isfile(sig_file): + signature_files[filepath] = sig_file + add_files(app = app, + match = match, + exec_file = filepath, + signature_files = signature_files, + min_core_version = min_core_version, + ) + + +# Process an app that is a bundle of files in a directory of the same name, +# possibly with signature files included. + def find_versions__process_bundle(app, match, dir): '''add executable + bundle as app/core version''' exec_file = None @@ -227,17 +251,22 @@ def find_versions__process_bundle(app, match, dir): min_core_version = min_core_version ) +#################### +# BEGIN: + for appdir in xlistdir(config.app_dir): if not os.path.isdir(appdir): continue dirname = os.path.basename(appdir) if dirname == 'boinc': - print "Looking for core versions in", appdir + if verbose: + print "Looking for core versions in", appdir find_versions(None, appdir) continue appname = os.path.basename(appdir) apps = database.Apps.find(name=appname) if apps: - print "Looking for %s versions in"%apps[0], appdir + if verbose: + print "Looking for %s versions in"%apps[0], appdir find_versions(apps[0], appdir) continue