Commit Graph

87 Commits

Author SHA1 Message Date
David Anderson ac66666ed6 fix PHP warnings 2013-05-05 01:26:17 -07:00
David Anderson c9ce9eeccc - single job submission: update the setup script to use the
current app version directory structure.
2013-03-05 15:57:34 +01:00
David Anderson f1b4b16bbf - update_versions: get key directory from config file 2013-03-01 16:08:52 +01:00
David Anderson 282af6effc - user web: show the right page/message after the following actions:
- rate a post
    - moderate a post
    - edit a post
    - report a post


svn path=/trunk/boinc/; revision=26152
2012-10-15 18:47:55 +00:00
David Anderson 6041cb40f9 - update_versions: eliminate PHP warnings when no version.xml file
svn path=/trunk/boinc/; revision=25596
2012-04-24 19:24:31 +00:00
David Anderson d281e43d6a - update_versions: for gzipped files,
send the size of the compressed file as well.
- client: parse and write the compressed size (FILE_INFO::gzipped_nbytes).
    For get_transfer GUI RPCs, if it's a compressed download send
    the compressed size.
    That way the manager will show the fraction done correctly.


svn path=/trunk/boinc/; revision=25152
2012-01-26 08:39:51 +00:00
Rom Walton 110a18b0a2 Quick Updates
svn path=/trunk/boinc/; revision=25118
2012-01-21 01:36:53 +00:00
Rom Walton 7e593bd53c Quick Updates
svn path=/trunk/boinc/; revision=25117
2012-01-21 01:33:44 +00:00
Rom Walton 563f532eb2 Quick Updates
svn path=/trunk/boinc/; revision=25116
2012-01-21 01:30:35 +00:00
David Anderson 44f173605e - client: add a mechanism for restartable download of compressed files.
(It turns out that the compression schemes supported by
        Apache and libcurl, suprisingly, aren't restartable.)

        if a <file_info> from the server contains <gzipped_url> tags,
        use those instead of the <url> tags,
        and flag the file as "download_gzipped".
        If this is the case, download NAME.gz and save it as NAME.gzt.
        When the download is complete, rename NAME.gzt to NAME.gz,
        and uncompress it to NAME.
        (this ensures that if NAME.gz is present, it's complete).
        Also do the uncompression, if needed, in verify_file().
        This ensures that the uncompression will eventually get done
        even if the client quits are crashes in the middle.

    - update_versions: if <gzip> is present in a <file_info>,
        add a gzipped copy in the download directory
        and add a <gzipped_url> elements to the app version's xml_doc.


svn path=/trunk/boinc/; revision=25112
2012-01-20 23:34:15 +00:00
David Anderson 4e50e4b852 - update_versions: support <needs_network> flag in version.xml
svn path=/trunk/boinc/; revision=24901
2011-12-26 06:03:50 +00:00
David Anderson 8e689c7434 - update_versions: touch trigger file so that feeder rereads DB
svn path=/trunk/boinc/; revision=24458
2011-10-21 20:14:54 +00:00
David Anderson dec057eaab - update_versions: fix bug where files not listed in version.xml
are not processed correctly
- remote job submission: debug
- create_work: --rsc_fpops_est etc. should override the template file


svn path=/trunk/boinc/; revision=23942
2011-08-07 04:32:02 +00:00
David Anderson 5a8fd0afc7 - client: add optional <file_prefix> to APP_VERSION>.
If present, "file_prefix/" is prepended to the logical names
    of input and output files of jobs using that app version.
    I.e. for Vbox wrapper based app versions, file_prefix is "share",
    so that I/O files are put in a "share" subdirectory of the slot dir.
- update_versions: add support for
    <dont_throttle>
    <file_prefix>x</file_prefix>
    in version.xml


svn path=/trunk/boinc/; revision=23924
2011-08-03 18:14:45 +00:00
David Anderson 0004f43937 - update_versions: bug fixes
svn path=/trunk/boinc/; revision=23921
2011-08-02 17:20:18 +00:00
David Anderson 135c549475 - update_versions: add optional <gzip> element to
<file> element in version.xml.
    If present, update_versions will gzip the file in the download dir.
    Use this only if you have gzip-encoding enabled in Apache.


svn path=/trunk/boinc/; revision=23915
2011-08-02 07:38:45 +00:00
David Anderson cc0ab61b96 - update_versions: fix typo that produced bad XML
svn path=/trunk/boinc/; revision=23793
2011-07-05 17:45:24 +00:00
David Anderson 6c29473890 - update_versions: read from stdin a different way
svn path=/trunk/boinc/; revision=23708
2011-06-11 15:30:10 +00:00
David Anderson 31faa14c43 - update_versions: flag main program as executable,
otherwise client will reject it


svn path=/trunk/boinc/; revision=23594
2011-05-24 19:16:54 +00:00
David Anderson b6140088e3 - update_versions: trim XML strings
svn path=/trunk/boinc/; revision=23569
2011-05-21 06:22:15 +00:00
David Anderson e861df4ba2 - update_versions: make <copy_file> work
svn path=/trunk/boinc/; revision=23559
2011-05-18 16:59:15 +00:00
David Anderson 649c094804 - another update_versions fix
svn path=/trunk/boinc/; revision=23553
2011-05-17 16:00:23 +00:00
David Anderson d9920ba520 - update_versions: fix bug in version number parsing (from Kevin)
svn path=/trunk/boinc/; revision=23552
2011-05-17 15:53:06 +00:00
David Anderson 99525396ad - update_versions fix
svn path=/trunk/boinc/; revision=23527
2011-05-12 04:39:13 +00:00
David Anderson 606cf30667 - fix to update_versions
svn path=/trunk/boinc/; revision=23526
2011-05-12 04:14:53 +00:00
David Anderson e4f104f917 - Change the way update_versions works, and reimplement it in PHP.
Problems with the old version:
    - Lots of info encoded in file and directory names: messy kludge
    - The convention that directory name == main program name
        created a bad situation when using the wrapper:
        if you made a new version of your application,
        you were forced make a new version of the wrapper
        just so it could have a different name.
    The new version is described here:
    http://boinc.berkeley.edu/trac/wiki/AppVersionNew
- Remove some Python code that suppored the old version
- client: some fixes to dir_size() that might fox
    a buffer overflow when using symbolic links


svn path=/trunk/boinc/; revision=23525
2011-05-12 04:11:40 +00:00
David Anderson c0612ab77f - make_project: with --test_app, copy all the executables
(for many platforms) from samples/example_app/bin
- make_project: change name of example app from uppercase to example_app.
- update_versions: allow version numbers to not have decimal points
- sample work generator: make app name and template files
    command-line options;
    default to "example_app", "example_app_in.xml", "example_app_out.xml"

svn path=/trunk/boinc/; revision=22667
2010-11-10 00:10:32 +00:00
David Anderson d14527f79d - update_versions: if app version files already exist in download dir,
make sure they're the same (i.e., enforce file immutability).
    TODO: do this for input files too
- client: check return values from CUDA device detection functions

svn path=/trunk/boinc/; revision=18903
2009-08-24 19:08:05 +00:00
David Anderson b7406ef57c - server: make the python code honor BOINC_PROJECT_PATH.
It is now possible to use the same set of tools for multiple
    projects by setting BOINC_PROJECT_PATH.
    From Gabor Gombas.

svn path=/trunk/boinc/; revision=18376
2009-06-11 16:06:25 +00:00
David Anderson 4cf6b7793c - server: move python modules from PROJECT/bin to PROJECT/py/Boinc.
make_project now generates PROJECT/bin/boinc_path_config.py
    to ensure that the interpreter will find the modules.
    From Gabor Gombas.

svn path=/trunk/boinc/; revision=18374
2009-06-11 15:38:48 +00:00
David Anderson e86ab69b7d - update_versions: add --sign and --force options to enable automation
(from Jeremy Cowles)


svn path=/trunk/boinc/; revision=18355
2009-06-10 22:04:57 +00:00
David Anderson 13400c9516 Changes for multithread app support:
- update_versions: use __ (not :) as separator for plan class
- client: add plan_class to APP_VERSION;
    an app version is now identified by platform/version/plan_class
- client CPU scheduler: don't assume apps use 1 CPU
- client: add avg_ncpus, max_cpus, flops, cmdline to RESULT
- scheduler: implement app planning scheme

Other changes:

- client: if symlink() fails, make a XML soft link instead
    (for Unix running off a FAT32 FS)
- client: don't accept nonpositive resource share from AMS
- daemons and DB: check for error returns from enumerations,
    and exit if so.  Thus, if the MySQL server goes down,
    all the daemons will soon exit.
    The cron script will restart them every 5 min,
    so when the DB server comes back up so will the project.
- web: show empty max CPU % as ---
- API: get rid of all_threads_cpu_time option (always the case now)


svn path=/trunk/boinc/; revision=14966
2008-03-27 18:25:29 +00:00
David Anderson 6ba8928537 - client (Unix): use symbolic links instead of XML link files.
This will allow applications to access shared libraries
    by their logical names,
    which simplifies things when you have multiple platforms,
    and the apps (or libraries) refer to shared libraries
    by names that don't include the platform.
    This shouldn't impact the API - boinc_resolve_filename()
    will open the file, see that it's not an XML link file,
    and the symbolic link will be used directly.
    At some point we can change boinc_resolve_filename() on Unix
    to be a no-op if the client is 6.2+
- client (Unix):
    Append the slot dir to LD_LIBRARY_PATH.

svn path=/trunk/boinc/; revision=14944
2008-03-19 16:54:36 +00:00
David Anderson 815b8fc043 Various preparation for handling multithreaded apps
and apps that use coprocessors.
There now can be several app_versions for the same
(app, platform, version_num) combination.
This changes a number of things.

- Added app_version.plan_class field to DB
- update_versions now looks for a :plan-class in the
    file or directory name, and puts it in the app_version's DB record
- Change uniqueness constraint to include plan_class
- Feeder: the feeder was putting non-deprecated app_versions
    in shared mem, and leaving it to the scheduler to
    find the latest version for a given platform.
    This is dumb.
    Instead, for each app/platform pair the feeder now
    finds the highest version number of a non-deprecated app version,
    and enumerates all non-deprecated app_versions with that
    app/platform/version
- Scheduler: add a BEST_APP_VERSION data structure that keeps track,
    for each app, what the best app_version is for this host.
    This saves the work of recomputing it for each job.

svn path=/trunk/boinc/; revision=14906
2008-03-13 22:57:24 +00:00
David Anderson 383b21dd5a - update_versions now generates <api_version> for all app versions
- user web: don't XML-escape team names in DB
- deleted obsolete files
- calloc() return check, fixes #277

svn path=/trunk/boinc/; revision=13817
2007-10-09 22:58:49 +00:00
David Anderson 7594e57b05 - update_versions: don't accept a multi-file application
unless there's a main program with same name as dir
    (previously it was treating the first executable file found
    as the main program, with occasionally disastrous consequences).

svn path=/trunk/boinc/; revision=13201
2007-07-20 20:19:35 +00:00
David Anderson 0cb8434d75 *** empty log message ***
svn path=/trunk/boinc/; revision=11466
2006-11-03 21:42:49 +00:00
Bruce Allen c88787d169 Make update_versions touch ../reread_db to force the
feeder to notice new app versions.

svn path=/trunk/boinc/; revision=9104
2005-12-20 22:36:31 +00:00
David Anderson 511429769c *** empty log message ***
svn path=/trunk/boinc/; revision=6712
2005-07-21 08:24:09 +00:00
David Anderson 494ee90567 *** empty log message ***
svn path=/trunk/boinc/; revision=5548
2005-03-01 21:00:06 +00:00
David Anderson e1c65eb341 *** empty log message ***
svn path=/trunk/boinc/; revision=5228
2005-01-27 23:09:19 +00:00
David Anderson 24a1bb1abf *** empty log message ***
svn path=/trunk/boinc/; revision=5227
2005-01-27 22:29:06 +00:00
David Anderson 20eb2f30b2 *** empty log message ***
svn path=/trunk/boinc/; revision=4785
2004-12-08 00:14:52 +00:00
David Anderson 2c5f1d1a5b *** empty log message ***
svn path=/trunk/boinc/; revision=4772
2004-12-06 22:41:19 +00:00
David Anderson e4215d8f72 *** empty log message ***
svn path=/trunk/boinc/; revision=4458
2004-10-29 18:18:53 +00:00
David Anderson f7c026df21 *** empty log message ***
svn path=/trunk/boinc/; revision=4201
2004-09-14 22:24:58 +00:00
Karl Chen 89a7ffe43f *** empty log message ***
svn path=/trunk/boinc/; revision=4075
2004-08-18 21:53:19 +00:00
Karl Chen 9b33d15117 *** empty log message ***
svn path=/trunk/boinc/; revision=3918
2004-07-21 20:42:48 +00:00
Karl Chen 72040aed7c *** empty log message ***
svn path=/trunk/boinc/; revision=3709
2004-06-28 08:27:17 +00:00
Karl Chen 32318835f6 *** empty log message ***
svn path=/trunk/boinc/; revision=3695
2004-06-24 12:22:30 +00:00