From f246536c6b4a59d1682314cefe966a4f91f88f84 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 24 Nov 2004 07:17:46 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/boinc/; revision=4645 --- checkin_notes | 117 ++++++++++++++++++++++++++++++++++++-- py/Boinc/database.py | 2 +- py/Boinc/setup_project.py | 18 ++++-- py/Boinc/tools.py | 6 +- sched/start | 4 +- tools/make_project | 2 +- 6 files changed, 131 insertions(+), 18 deletions(-) diff --git a/checkin_notes b/checkin_notes index a88d7e5fa2..8d565d0557 100755 --- a/checkin_notes +++ b/checkin_notes @@ -15307,6 +15307,7 @@ Noaa 15 July 2004 gutil.C +<<<<<<< checkin_notes David 15 July 2004 - HTTP; increase size of request header buffer from 256 to 4096 (fixes HTTP proxy authentication crash bug) @@ -15323,6 +15324,32 @@ David 15 July 2004 win_build/ boinc_gui.vcproj +Noaa 15 July 2004 +======= +David 15 July 2004 + - HTTP; increase size of request header buffer from 256 to 4096 + (fixes HTTP proxy authentication crash bug) + - New way of updating client_state.xml: + - write new file to client_state_next.xml + - rename client_state.xml to client_state_prev.xml + - rename client_state_next.xml to client_state.xml + - remove references to version.* from project file + + client/ + cs_statefile.C + file_names.h + http.h + win_build/ + boinc_gui.vcproj +>>>>>>> 1.1637 + +<<<<<<< checkin_notes + -added printout of usabilities in gui_test.C (ie when user types + "gui_test" with no arguments) + + client/ + gui_test.C +======= Noaa 15 July 2004 -added printout of usabilities in gui_test.C (ie when user types @@ -15330,6 +15357,7 @@ Noaa 15 July 2004 client/ gui_test.C +>>>>>>> 1.1637 Daniel 2004-07-15 - API: made APP_INIT_DATA aid extern so apps can access it (used to set @@ -15552,6 +15580,7 @@ David 21 July 2004 Noaa 21 July 2004 +<<<<<<< checkin_notes - incorporated modded, smaller glut into the source tree, includes a makefile if any files are changed - updated, cleaner version of x_opengl.C @@ -15567,8 +15596,29 @@ Noaa 21 July 2004 boinc_gl.h gutil.C Makefile.graphics (new) +======= + - incorporated modded, smaller glut into the source tree, includes + a makefile if any files are changed + - updated, cleaner version of x_opengl.C + - removed glut stuff from boinc_gl.h to account for integrated glut in + source tree + - updated gutil.C header + - changed Makefile for api to account for glut in source tree, called + Makefile.graphics (unaffected by configure, may not run on every + system correctly, please check for specific setups) +>>>>>>> 1.1637 + +<<<<<<< checkin_notes + boincglut/ (new) +======= + api/ + x_opengl.C + boinc_gl.h + gutil.C + Makefile.graphics (new) boincglut/ (new) +>>>>>>> 1.1637 David 21 July 2004 - tweaked and enabled Rom's DB accelerator for the scheduler. @@ -17946,6 +17996,9 @@ David 30 Sept 2004 server_types.C,h David 1 Oct 2004 +<<<<<<< checkin_notes + - Ending the venue debacle, part II: The Client +======= - Ending the venue debacle, part II: The Client 1) Each project maintains its venue separately. @@ -17963,6 +18016,24 @@ David 1 Oct 2004 re-parse its project prefs. If in addition P is the source of the global prefs, re-parse the global prefs and put the venue in CLIENT_STATE.main_host_venue +>>>>>>> 1.1637 + +<<<<<<< checkin_notes + 1) Each project maintains its venue separately. + It's stored in the project's account file, + and is used to select the project prefs variant. + + 2) Let P be the project that's the source of the global prefs. + Then P's venue is used to select the global prefs variant. + (Note: P's venue may change without the global prefs changing). + This venue is stored in the CLIENT_STATE.main_host_venue + and in the client state file; it survives even if P is detached. + + So the basic logic is: + if you get a new venue from project P, + re-parse its project prefs. + If in addition P is the source of the global prefs, + re-parse the global prefs and put the venue in CLIENT_STATE.main_host_venue - got rid of CLIENT_STATE::parse_venue() - don't send host_venue in scheduler request @@ -17975,6 +18046,19 @@ David 1 Oct 2004 cs_scheduler.C cs_statefile.C scheduler_op.C +======= + - got rid of CLIENT_STATE::parse_venue() + - don't send host_venue in scheduler request + + client/ + client_state.C,h + client_types.C,h + cs_account.C + cs_prefs.C + cs_scheduler.C + cs_statefile.C + scheduler_op.C +>>>>>>> 1.1637 David 1 Oct 2004 - Bug fix for venue propagation @@ -19838,11 +19922,13 @@ David 18 Nov 2004 main.C Bruce 19 Nov 2004 UTC - - Clean fix automake/autoconf to build graphical core client. David, I don't - have a Mac OSX box handy to test this on. I followed your hints in Makefile.old. - If you need to modify the Mac build flags, it is trivial, just search for ${host} - in configure.ac and you'll see. - - Removed obsolete aclocal.m4 file from CVS: it is build by the ./_autosetup script + - Clean fix automake/autoconf to build graphical core client. + David, I don't have a Mac OSX box handy to test this on. + I followed your hints in Makefile.old. + If you need to modify the Mac build flags, + it is trivial, just search for ${host} in configure.ac and you'll see. + - Removed obsolete aclocal.m4 file from CVS: + it is build by the ./_autosetup script - Added some more files to .cvsignore .cvsignore @@ -20097,3 +20183,24 @@ David 23 Nov 2004 graphics_api.C client/ net_stats.C + +David 23 Nov 2004 + - Remove the dependencies of a project on a source or build tree. + This involves: + - Don't copy boinc_path_config.py to project/bin + - Copy a bunch of files from source/py/Boinc to project/bin: + add_util.py, boinc_db.py, boinc_project_path.py, etc. etc. + - put keys in home/projects/PROJECT/keys, not in home/keys + - socket.gethostname() seems to return the full domain name on Linux. + Strip off the domain part for log_HOST etc. + - On project creation, symlink bin/stop and status to start, + rather than copying the file + + py/Boinc/ + database.py + setup_project.py + tools.py + sched/ + start + tools/ + make_project diff --git a/py/Boinc/database.py b/py/Boinc/database.py index 0acf166ed3..696707c33f 100644 --- a/py/Boinc/database.py +++ b/py/Boinc/database.py @@ -28,7 +28,6 @@ for user in database.Users.find(): ''' -import boinc_path_config from Boinc import configxml from Boinc.util import * from Boinc.db_base import * @@ -243,6 +242,7 @@ def _execute_sql_script(cursor, filename): def create_database(config = None, drop_first = False): ''' creates a new database. ''' + import boinc_path_config config = config or configxml.default_config().config connect(config, nodb=True) cursor = get_dbconnection().cursor() diff --git a/py/Boinc/setup_project.py b/py/Boinc/setup_project.py index 49bcedd689..3b4dffd950 100644 --- a/py/Boinc/setup_project.py +++ b/py/Boinc/setup_project.py @@ -282,11 +282,18 @@ def install_boinc_files(dest_dir): 'file_deleter', 'sample_dummy_assimilator', 'update_stats', 'db_dump' ]) map(lambda (s): install(srcdir('sched',s), dir('bin',s)), - [ 'start', 'stop', 'status' ]) + [ 'start' ]) + force_symlink(dir('bin', 'start'), dir('bin', 'stop')) + force_symlink(dir('bin', 'start'), dir('bin', 'status')) map(lambda (s): install(srcdir('tools',s), dir('bin',s)), - [ 'boinc_path_config.py', 'create_work', 'add', 'xadd', 'dbcheck_files_exist', + [ 'create_work', 'add', 'xadd', 'dbcheck_files_exist', 'update_versions', 'upgrade', 'parse_config', 'grep_logs', 'db_query', - 'watch_tcp' ]) + 'watch_tcp', 'sign_executable' ]) + map(lambda (s): install(srcdir('py/Boinc',s), dir('bin',s)), + [ 'add_util.py', 'boinc_db.py', 'boinc_project_path.py', + 'boincxml.py', 'configxml.py', 'database.py', + 'db_base.py', 'db_mid.py', 'projectxml.py', + 'sched_messages.py', 'tools.py', 'util.py', 'version.py' ]) class Project: @@ -313,7 +320,8 @@ class Project: config.db_passwd = '' config.shmem_key = generate_shmem_key() config.output_level = 3 - config.host = socket.gethostname() + local_host = socket.gethostname() + config.host = local_host.split('.')[0] config.master_url = master_url or os.path.join(options.html_url , self.short_name , '') config.download_url = os.path.join(config.master_url, 'download') @@ -335,7 +343,7 @@ class Project: return apply(os.path.join,(self.config.config.key_dir,)+dirs) def logdir(self, *dirs): - return apply(os.path.join,("log_"+socket.getfqdn(),)+dirs) + return apply(os.path.join,("log_"+self.config.config.host,)+dirs) def create_keys(self): if not os.path.exists(self.keydir()): diff --git a/py/Boinc/tools.py b/py/Boinc/tools.py index 1b9ef0bafd..34d5dced01 100644 --- a/py/Boinc/tools.py +++ b/py/Boinc/tools.py @@ -1,6 +1,5 @@ ## $Id$ -import boinc_path_config import configxml import os, md5, shutil @@ -51,10 +50,9 @@ def sign_executable(executable_path, quiet=False): query_sign_executable(executable_path) print 'Signing', executable_path code_sign_key = os.path.join(config.config.key_dir, 'code_sign_private') - sign_executable_path = os.path.join(boinc_path_config.TOP_BUILD_DIR, - 'tools','sign_executable') + sign_executable_path = 'sign_executable' if not os.path.exists(sign_executable_path): - raise SystemExit("tools/sign_executable not found! did you `make' it?") + raise SystemExit("sign_executable not found! did you `make' it?") signature_text = os.popen('%s %s %s'%(sign_executable_path, executable_path,code_sign_key)).read() if not signature_text: diff --git a/sched/start b/sched/start index 342c1f0aa4..27534d58a5 100755 --- a/sched/start +++ b/sched/start @@ -73,8 +73,7 @@ Both: ''' -import boinc_path_config -from Boinc import configxml +import configxml import sys, os, getopt, time, glob, fcntl, signal, socket right_now = int(time.time()) @@ -591,6 +590,7 @@ def command_show_config(): # ------------- main program begins here --------------------- local_hostname = socket.gethostname() +local_hostname = local_hostname.split('.')[0] # print 'local hostname: ', local_hostname cwd = os.getcwd() program_name = os.path.basename(sys.argv[0]) diff --git a/tools/make_project b/tools/make_project index 03fa6d0c83..4c3ac8a419 100755 --- a/tools/make_project +++ b/tools/make_project @@ -171,7 +171,7 @@ defopt('cgi_url' , 'URL_BASE/PROJECT_cgi') defopt('user_name' , USER, isdir=False) defopt('base' , HOME) -defopt('key_dir' , 'BASE/keys') +defopt('key_dir' , 'BASE/projects/PROJECT/keys') defopt('project_root' , 'BASE/projects/PROJECT') defopt('db_name' , 'PROJECT', isdir=False)