*** empty log message ***

svn path=/trunk/boinc/; revision=10129
This commit is contained in:
David Anderson 2006-05-15 00:27:15 +00:00
parent 8ed4f938eb
commit 805c004eb2
22 changed files with 464 additions and 230 deletions

View File

@ -4639,3 +4639,23 @@ Rom 10 May 2006
lib/
boinc_win.h
diagnostics_win.C
David 15 May 2006
- make_project: copy example templates to templates/
- removed lib/language* (not used)
client/
client_state.C,h
file_names.h
html/inc/
news.inc
stats_sites.inc
lib/
language.C,h (removed)
Makefile.am
py/Boinc/
setup_project.py
test/
uc_result
tools/
create_work_example

View File

@ -182,8 +182,6 @@ int CLIENT_STATE::init() {
now = dtime();
scheduler_op->url_random = drand();
language.read_language_file(LANGUAGE_FILE_NAME);
const char* debug_str="";
#ifdef _DEBUG
debug_str = " (DEBUG)";

View File

@ -36,7 +36,6 @@ using std::vector;
#include "gui_rpc_server.h"
#include "gui_http.h"
#include "hostinfo.h"
#include "language.h"
#include "miofile.h"
#include "net_stats.h"
#include "pers_file_xfer.h"
@ -95,7 +94,6 @@ public:
NET_STATS net_stats;
SS_LOGIC ss_logic;
GUI_RPC_CONN_SET gui_rpcs;
LANGUAGE language;
TIME_STATS time_stats;
PROXY_INFO proxy_info;
GUI_HTTP gui_http;

View File

@ -65,8 +65,6 @@ extern void get_master_filename(PROJECT&, char*);
#define STDOUT_FILE_NAME "stdout.txt"
#define CPU_BENCHMARKS_FILE_NAME "cpu_benchmarks"
#define LOCK_FILE_NAME "lockfile"
#define LANGUAGE_FILE_NAME "language.ini"
#define LIST_STATE_FILE_NAME "list.ini"
#define APP_INFO_FILE_NAME "app_info.xml"
#define REMOTEHOST_FILE_NAME "remote_hosts.cfg"
#define ACCT_MGR_REQUEST_FILENAME "acct_mgr_request.xml"

View File

@ -40,21 +40,20 @@ The following medium-to-large development projects are available:
<ul>
<li> Applications
<ul>
<li> Write and document an example simple application,
with project file from Windows and configure/Make files for Unix,
that does nontrivial graphics.
<li> Write an example compound application.
<li> Write an example compound application
(and suggest API revisions to make this easier).
</ul>
<li> Core client:
<ul>
<li> Rewrite the CPU scheduler and work fetch policies
to match the design document.
<li> Write a simulator for the CPU scheduler and work fetch policies.
to match the design document (John McLeod is working on this).
<li> After the above is done,
write a simulator for the CPU scheduler and work fetch policies.
<li> Log result start/ends (for use by 3rd-party software like BoincView).
<li> Prevent disk space usage from
exceeding user preferences, and enforce resource shares,
<li> Prevent disk space usage from exceeding user preferences,
and enforce resource shares,
with file deletion according to project policy.
</ul>

View File

@ -1,6 +1,26 @@
<?
$project_news = array(
array("May 11, 2006",
"Version 5.4 of the BOINC client software has been released.
This version lets you use <a href=acct_mgt.php>account managers</a> -
special web sites that let you browse BOINC projects,
attach/detach, change resource share and settings,
all with point-and-click simplicity.
Account managers are also great if you have several computers -
you make changes on the web site,
and they take effect on all of your computers.
A couple of excellent account managers are nearly ready for use;
stay tuned for details."
),
array("May 9, 2006",
"The first-ever
<a href=http://www.seti.cat/web/?q=node/18>BOINC birthday cake</a>
appeared at the 7th SETI@home-Catalonia Meeting
(and 1st BOINC-Catalonia Meeting), held in Girona last April 22nd.
Also: <a href=http://www.boinc.cat>BOINC.cat</a>,
a BOINC site in Catalan, has recently opened.
"),
array("April 30, 2006",
"<img align=right width=75 height=66 src=images/Logo_blau.jpg> The latest German <a href=http://boinccast.podhost.de/>BOINCcast</a>
discusses ClimatePrediction.net;
@ -73,7 +93,7 @@ array("March 5, 2006",
array("March 3, 2006",
"<a href=http://qah.uni-muenster.de/>Quantum Monte Carlo at Home</a>
announces the public release of the first chemistry BOINC project.
This project, based at the University of M&#200;nster in Germany,
This project, based at the University of M&uuml;nster in Germany,
studies the structure and reactivity of molecules using Quantum Chemistry,
whose vastly complex equations require huge amounts of computing power.
"

View File

@ -5,7 +5,7 @@ page_head("Example application");
echo "
A full-featured example BOINC application.
in in a separate CVS module, <b>boinc_samples</b>
It's in a separate CVS module, <b>boinc_samples</b>
(check this out in the same parent directory as boinc,
and the relative paths will work).
The application is called 'upper_case'.

View File

@ -4,30 +4,102 @@ require_once("boinc_news.inc");
require_once("../html/inc/news.inc");
$projects = array(
"<a href=http://climateprediction.net>Climateprediction.net</a>,
<a href=http://bbc.cpdn.org>BBC Climate Change Experiment</a>,
and <a href=http://attribution.cpdn.org/>Seasonal Attribution Project</a>:
study climate change.",
"<a href=http://einstein.phys.uwm.edu/>Einstein@home</a>:
search for gravitational signals emitted by pulsars.",
"<a href=http://lhcathome.cern.ch/>LHC@home</a>:
improve the design of the CERN LHC particle accelerator",
"<a href=http://predictor.scripps.edu>Predictor@home</a>:
investigate protein-related diseases.",
"<a href=http://boinc.bakerlab.org/rosetta/>Rosetta@home</a>:
help researchers develop cures for human diseases.",
"<a href=http://setiathome.berkeley.edu/>SETI@home</a>:
Look for radio evidence of extraterrestrial life.",
"<a href=http://boinc.bio.wzw.tum.de/boincsimap/>SIMAP</a>:
calculate protein similarity data for use by many biological
research projects.",
"<a href=http://szdg.lpds.sztaki.hu/szdg/>SZTAKI Desktop Grid</a>:
search for generalized binary number systems.",
"<a href=http://www.worldcommunitygrid.org/>World Community Grid</a>:
advance our knowledge of human disease.",
"<a href=http://qah.uni-muenster.de/>Quantum Monte Carlo at Home</a>:
study the structure and reactivity of molecules
using Quantum Chemistry.",
array("Climateprediction.net",
"http://climateprediction.net",
"Oxford University",
"Earth sciences",
"To investigate the approximations that have to be made in state-of-the-art climate models. By running the model thousands of times we hope to find out how the model responds to slight tweaks to these approximations - slight enough to not make the approximations any less realistic. This will allow us to improve our understanding of how sensitive our models are to small changes and also to things like changes in carbon dioxide and the sulphur cycle. This will allow us to explore how climate may change in the next century under a wide range of different scenarios.",
"cpn_logo_world_1.jpg"
),
array(
"BBC Climate Change Experiment",
"http://bbc.cpdn.org/",
"Oxford University",
"Earth sciences",
"The experiment adds the processing power of your home or office computer to thousands of others to predict climate change. The same model that the Met Office uses to make daily weather forecasts has been adapted by climateprediction.net to run on home PCs.<p> The model incorporates many variable parameters, allowing thousands of sets of conditions. Your computer will run one individual set of conditions . in effect your individual version of how the world\'s climate works . and then report back to the climateprediction.net team what it calculates.",
"cpn_logo_world_1.jpg"
),
array(
"Seasonal Attribution Project",
"http://attribution.cpdn.org/",
"Oxford University",
"Earth sciences",
"To determine the extent to which extreme weather events like the United Kingdom floods of Autumn 2000 are attributable to human-induced climate change. We invite you to download and run high-resolution model simulations of the world\'s climate on your own computer. By comparing the results of these simulations, half of which will include the effects of human-induced climate change, and half of which will not, we will investigate the possible impact of human activity on extreme weather risk. This project has fairly high computing requirements, including 1GB RAM.",
"cpn_logo_world_1.jpg"
),
array(
"Einstein@home",
"http://einstein.phys.uwm.edu/",
"Univ. of Wisconsin - Milwaukee, Albert Einstein Institute",
"Astrophysics",
"Search for spinning neutron stars (also called pulsars) using data from the LIGO and GEO gravitational wave detectors. Einstein@Home is a World Year of Physics 2005 project supported by the American Physical Society (APS) and by a number of international organizations.",
"einstein.jpg"
),
array(
"LHC@home",
"http://lhcathome.cern.ch/",
"CERN (European Organization for Nuclear Research)",
"Physics",
"The Large Hadron Collider (LHC) is a particle accelerator which is being built at CERN, the European Organization for Nuclear Research, the world\'s largest particle physics laboratory. When it switches on in 2007, it will be the most powerful instrument ever built to investigate on particles proprieties. LHC@home simulates particles traveling around the LHC to study the stability of their orbits.",
"lhc.jpg"
),
array(
"Predictor@home",
"http://predictor.scripps.edu",
"Scripps Research Institute",
"Biology",
"Protein structure prediction starts from a sequence of amino acids and attempts to predict the folded, functioning, form of the protein. Predicting the structure of an unknown protein is a critical problem in enabling structure-based drug design to treat new and existing diseases.",
"predictor.jpg"
),
array(
"Rosetta@home",
"http://boinc.bakerlab.org/rosetta/",
"University of Washington",
"Biology",
"Determine the 3-dimensional shapes of proteins in research that may ultimately lead to finding cures for some major human diseases. By running Rosetta@home you will help us speed up and extend our research in ways we couldn\'t possibly attempt without your help. You will also be helping our efforts at designing new proteins to fight diseases such as HIV, Malaria, Cancer, and Alzheimer\'s",
"rosetta_at_home_logo.jpg"
),
array(
"SETI@home",
"http://setiathome.berkeley.edu/",
"U.C. Berkeley Space Sciences Laboratory",
"Astrophysics, astrobiology",
"SETI (Search for Extraterrestrial Intelligence) is a scientific area whose goal is to detect intelligent life outside Earth. One approach, known as radio SETI, uses radio telescopes to listen for narrow-bandwidth radio signals from space. Such signals are not known to occur naturally, so a detection would provide evidence of extraterrestrial technology.",
"seti_logo.png"
),
array(
"SIMAP",
"http://boinc.bio.wzw.tum.de/boincsimap/",
"Technical University of Munich",
"Biology",
"Calculate similarities between proteins. SIMAP provides a public database of the resulting data, which plays a key role in many bioinformatics research projects.",
"simaplogo.jpg"
),
array(
"SZTAKI Desktop Grid",
"http://szdg.lpds.sztaki.hu/szdg/",
"MTA-SZTAKI Laboratory of Parallel and Distributed Systems (Budapest)",
"Mathematics",
"Find all the generalized binary number systems (in which bases are matrices and digits are vectors) up to dimension 11.",
"szdg1_small.jpg"
),
array(
"World Community Grid",
"http://www.worldcommunitygrid.org/",
"IBM",
"Biomedicine",
"Advance our knowledge of human disease.",
"wcg.jpg",
),
array(
"Quantum Monte Carlo at Home",
"http://qah.uni-muenster.de/",
"University of Muenster",
"Chemistry",
"Study the structure and reactivity of molecules using Quantum Chemistry.",
"logo_oben.jpg"
),
);
echo "
@ -41,7 +113,9 @@ echo "
</head>
<body bgcolor=#ffffff>
<img hspace=30 vspace=10 align=left src=logo/logo_small.png>
<h1>Berkeley Open Infrastructure for Network Computing</h1>
<h1>
Berkeley Open Infrastructure for Network Computing
</h1>
<br>
";
search_form();
@ -59,22 +133,20 @@ echo "
</td></tr>
<tr><td>
<p>
BOINC is a software platform for volunteer computing.
BOINC lets you donate computing power
to scientific research projects such as:
to scientific research projects (mouse over for details):
<ul>
";
shuffle($projects);
foreach ($projects as $p) {
echo "<li> $p
echo "<li> <a href=$p[1] onmouseover=\"return escape('<img align=right vspace=4 hspace=4 src=images/$p[5]><b>Home:</b> $p[2]<br><b>Area:</b> $p[3]<br><b>Goal:</b> $p[4]')\">$p[0]</a>
";
}
echo "
</ul>
<p>
You can participate in several projects,
and you control how much of your computing power goes to each.
This ensures that
BOINC is an open-source software platform for volunteer computing.
You can participate in several projects, ensuring that
your computer will be kept busy even when one project has no work.
<p>
To participate:
@ -178,7 +250,7 @@ echo " <td valign=top width=390><table border=0 cellpadding=8 cellspacing=0>
</td></tr>
<tr><td>
<br>
One of over 500,000 people worldwide participating in BOINC:
One of over 600,000 people worldwide participating in BOINC:
<p>
";
include("piecharts/$i.html");
@ -208,5 +280,9 @@ echo "
<hr>
";
copyright();
echo "</html>\n";
echo "
<script language=\"JavaScript\" type=\"text/javascript\" src=\"wz_tooltip.js\"></script>
</body>
</html>
";
?>

View File

@ -62,6 +62,9 @@ echo "
language("Belgium (Dutch/French/English)", array(
site("http://www.boinc.be", "www.boinc.be")
));
language("Catalan", array(
site("http://www.boinc.cat", "BOINC.cat"),
));
language("Chinese", array(
site("http://boinc.equn.com/", "boinc.equn.com")
));

View File

@ -5,7 +5,7 @@ echo "
Each BOINC project and account manager must provide an XML document
at the address
<pre>
http://PROJECT_URL.get_project_config.php
http://PROJECT_URL/get_project_config.php
</pre>
This document has the structure
".html_text("
@ -16,6 +16,7 @@ This document has the structure
[ <uses_username/> ]
[ <account_creation_disabled/> ]
[ <client_account_creation_disabled/> ]
[ <rpc_prefix>URL</rpc_prefix> ]
[ <error_num>N</error_num> ]
</project_config>
")."
@ -40,6 +41,9 @@ list_item("client_account_creation_disabled",
list_item("min_passwd_length",
"Minimum password length (for new account creation)"
);
list_item("rpc_prefix",
"Prefix to use for web RPCs, instead of the master URL."
);
list_item("error_num",
"The project is currently down. A BOINC error number is returned."
);

View File

@ -199,16 +199,10 @@ and adjusted over the set of potentially runnable projects.
It is normalized so that average long-term debt,
over all project, is zero.
<h2>CPU scheduling policy</h2>
<h2>Round-robin simulation</h2>
<p>
The CPU scheduler uses an earliest-deadline-first (EDF) policy
for results that are in danger of missing their deadline,
and weighted round-robin among other projects if additional CPUs exist.
This allows the client to meet deadlines that would otherwise be missed,
while honoring resource shares over the long term.
<p>
The scheduler starts by doing a simulation of weighted round-robin scheduling
The CPU scheduling and work fetch policies use the results
of a simulation of weighted round-robin scheduling
applied to the current work queue.
The simulation takes into account on-fraction and active-fraction.
It produces the following outputs:
@ -239,6 +233,14 @@ In this case, shortfall(A) is 4, shortfall(B) is 0, and total_shortfall is 2.
<br>
<img src=rr_sim.png>
<br>
<h2>CPU scheduling policy</h2>
<p>
The CPU scheduler uses an earliest-deadline-first (EDF) policy
for results that are in danger of missing their deadline,
and weighted round-robin among other projects if additional CPUs exist.
This allows the client to meet deadlines that would otherwise be missed,
while honoring resource shares over the long term.
The scheduling policy is:
<ol>
<li> Set the 'anticipated debt' of each project to its short-term debt
@ -267,27 +269,29 @@ when new results become runnable,
or when the user performs a UI interaction
(e.g. suspending or resuming a project or result).
<h2>CPU scheduling enforcement</h2>
<h2>CPU schedule enforcement</h2>
<p>
The CPU scheduler decides what result should run,
but it doesn't enforce this decision
(by preempting, resuming and starting applications).
This enforcement is done by a separate function,
which runs periodically, and is also called by
the CPU scheduler at its conclusion.
The following rules apply to application preemption:
The CPU scheduler decides what results should run,
but it doesn't enforce this decision.
This enforcement is done by a separate
<b>scheduler enforcement function</b>,
which is called by the CPU scheduler at its conclusion
and which also runs periodically.
Let X be the set of scheduled results that are not currently running,
let Y be the set of running results that are not scheduled,
and let T be the time the scheduler last ran.
The enforcement policy is as follows:
<ul>
<li> If the 'leave in memory' preference is not set,
an application scheduled for preemption is allowed to run for
up to sched_interval/2 additional seconds, or until it checkpoints.
<li>
The above does not apply for application being preempted
to run a result R for which deadline_missed(R).
<li> If an application has never checkpointed,
it is always left in memory on preemption.
<li> If deadline_missed(R) for some R in X,
then preempt a result in Y, and run R.
Repeat.
<li> If there is a result R in Y that
checkpointed more recently than T,
then preempt R and run a result in X.
</ul>
<h2>Work-fetch policy</h2>
<p>
@ -355,7 +359,8 @@ P.long_term_debt + shortfall(P) is greatest
</pre>
and requests work from that project.
Note: P.work_request_size is in units of normalized CPU time,
so the actual work request is P.work_request_size
so the actual work request (which is in units of project-normalized CPU time)
is P.work_request_size
divided by P's resource share fraction relative to
potentially runnable projects.
<hr>

View File

@ -32,18 +32,26 @@ function type_text($type) {
}
$features_54 = "
<li> You can use your favorite account manager to easily attach to new
projects. Please see <a href=\"http://boinc.berkeley.edu/\">BOINC</a> for a list
of account managers and what they could be used for.
<li> Better personal firewall support for the screensaver. For those who
were experiencing lockups when the screensaver was activated, this release
should fix that problem.
<li> Preferences can be overridden when a global_prefs_override.xml is
specified. Please see <a href=\"http://boinc.berkeley.edu/prefs_override.php\">
Preference Override</a>.
<li> Better notification about BOINCs network access needs.
<li> SOCKS5 proxies should now work properly.
<li> Many small bug fixes that improve the overall quality of our software.
<li>
BOINC now lets you use 'Account managers' - special web sites
that let you browse BOINC projects, attach/detach,
change resource share and settings,
all with point-and-click simplicity.
Account managers are also great if you have several computers -
you just have to make changes once.
A couple of excellent account managers are nearly ready for use;
stay tuned to the
<a href=http://boinc.berkeley.edu/>BOINC web site</a> for details.
<li>
Fixes a bug where a personal firewall prevents the BOINC screensaver
from running, causing your computer to lock up.
<li>
General preferences can be overridden by a local file
details are <a href=http://boinc.berkeley.edu/prefs_override.php>here</a>.
<li>
BOINC now alerts you whenever it needs you
to create a network connection.
<li> SOCKS5 proxies are now supported.
";
$features_53 = "
@ -97,9 +105,9 @@ $changes_54 = "
<li>Connection failures due to network issues do not cause a backoff
event. Retries are set for one minute.
<li>SOCKS5 authentication bug fixes. It should now work.
<li>HTTP authentication bug fixes. Last round of performance enhancments
<li>HTTP authentication bug fixes. Last round of performance enhancements
broke http auth.
<li>Better network communitcation tracing through <net_xfer_debug> flag
<li>Better network tracing through &lt;net_xfer_debug&gt; flag
in log_flags.xml.
</ul>
<li>Changes since 5.4.3
@ -190,7 +198,7 @@ $changes_53 = "
<li>Fix RAM size detection on HPUX.
<li>Fix name, team, and project name changes in the manager,
<li>Preserve project directory contents when reattaching to a
project that uses the anonymous platform mechinism.
project that uses the anonymous platform mechanism.
<li>More upload/download display fixes.
</ul>
<li>Changes since 5.3.22
@ -409,7 +417,7 @@ $w445= array(
<li>
Graphics sometimes do not work with ATI Graphics card.
This bug has been fixed, but it requires new applications to be built. Please check
with the various projects to find out when they'll release a new applicaton with the fix.
with the various projects to find out when they'll release a new application with the fix.
</ul>
"
);

View File

@ -25,6 +25,12 @@ Parameter values must be URL-encoded
(for example, using PHP's <code>urlencode</code> function).
<li>
The output is XML.
<li>
If the project's <a href=project_config.php>get_project_config.php</a> file
includes a <code>&lt;rpc_prefix&gt;</code> element,
its content should be used as the URL prefix;
otherwise use the project's master URL.
</ul>
<h3>Create account</h3>

217
doc/win_deploy.php Normal file
View File

@ -0,0 +1,217 @@
<?php
require_once("docutil.php");
page_head("Deploying BOINC on a Windows network");
echo "
<h2>Customizing the installer</h2>
<p>
The BOINC installer is an MSI package.
<h3>Active Directory Deployment</h3>
Suppose you want to modify it so that you can
deploy BOINC across a Windows network using Active Directory,
and have all the PCs attached to a particular set of accounts.
Here's how to do this:
<ul>
<li> Download the BOINC client package and execute it with the /a parameter.
<li> Move the files to a directory that can be accessed
by all the computers on the network.
<li> Using <a href=http://support.microsoft.com/kb/255905/EN-US/>Microsoft ORCA</a>,
or some other MSI packaging tool, create an MSI Transform that contains the
account_*.xml files of the projects you have already attached to
on another machine
plus the following parameters:
<ul>
<li>Single-user install:<br>
<table>
<tr BGCOLOR=#d8e8ff>
<td>Parameter</td>
<td>Description</td>
</tr>
<tr valign=top>
<td>INSTALLDIR</td>
<td>
The location to install BOINC to.<br>
Example: 'C:\\BOINC'
</td>
</tr>
<tr valign=top>
<td>SETUPTYPE</td>
<td>
The type of installation to perform.<br>
Valid Values: 'Single'.
</td>
</tr>
<tr valign=top>
<td>ALLUSERS</td>
<td>
Whether the shortcuts appear for just one user or all users.<br>
Valid Values: '0' for Single.
</td>
</tr>
<tr valign=top>
<td>ENABLESCREENSAVER</td>
<td>
Whether to automatically enable the screensaver.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
<tr valign=top>
<td>ENABLELAUNCHATLOGON</td>
<td>
Whether to automatically start BOINC when the installing user or all
users sign on to the computer.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
<tr valign=top>
<td>LAUNCHPROGRAM</td>
<td>
Whether to automatically launch BOINC Manager after setup completes.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
</table>
<li>Shared install:<br>
<table>
<tr BGCOLOR=#d8e8ff>
<td>Parameter</td>
<td>Description</td>
</tr>
<tr valign=top>
<td>INSTALLDIR</td>
<td>
The location to install BOINC too.<br>
Example: 'C:\\BOINC'
</td>
</tr>
<tr valign=top>
<td>SETUPTYPE</td>
<td>
The type of installation to perform.<br>
Valid Values: 'Shared'.
</td>
</tr>
<tr valign=top>
<td>ALLUSERS</td>
<td>
Whether the shortcuts appear for just one user or all users.<br>
Valid Values: '1' for shared.
</td>
</tr>
<tr valign=top>
<td>ENABLESCREENSAVER</td>
<td>
Whether to automatically enable the screensaver.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
<tr valign=top>
<td>ENABLELAUNCHATLOGON</td>
<td>
Whether to automatically start BOINC when the installing user or all
users sign on to the computer.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
<tr valign=top>
<td>LAUNCHPROGRAM</td>
<td>
Whether to automatically launch BOINC Manager after setup completes.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
</table>
<li>Service Install:<br>
<table>
<tr BGCOLOR=#d8e8ff>
<td>Parameter</td>
<td>Description</td>
</tr>
<tr valign=top>
<td>INSTALLDIR</td>
<td>
The location to install BOINC too.<br>
Example: 'C:\\BOINC'
</td>
</tr>
<tr valign=top>
<td>SETUPTYPE</td>
<td>
The type of installation to perform.<br>
Valid Values: 'Service'.
</td>
</tr>
<tr valign=top>
<td>ALLUSERS</td>
<td>
Whether the shortcuts appear for just one user or all users.<br>
Valid Values: '1' for service.
</td>
</tr>
<tr valign=top>
<td>ENABLESCREENSAVER</td>
<td>
Whether to automatically enable the screensaver.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
<tr valign=top>
<td>ENABLELAUNCHATLOGON</td>
<td>
Whether to automatically start BOINC when the installing user or all
users sign on to the computer.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
<tr valign=top>
<td>LAUNCHPROGRAM</td>
<td>
Whether to automatically launch BOINC Manager after setup completes.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
<tr valign=top>
<td>SERVICE_DOMAINUSERNAME</td>
<td>
Which user account should the service use.<br>
Valid Values: '%ComputerName%\\%UserName%'<br>
&nbsp;&nbsp;&nbsp;&nbsp;%ComputerName% can be either the local computername or a domain name.<br>
&nbsp;&nbsp;&nbsp;&nbsp;%UserName% should be the username of the user to use.
</td>
</tr>
<tr valign=top>
<td>SERVICE_PASSWORD</td>
<td>
The password for the account described in the SERVICE_DOMAINUSERNAME property.<br>
Valid Values: '%Password%' <br>
&nbsp;&nbsp;&nbsp;&nbsp;%Password% the password for the SERVICE_DOMAINUSERNAME user account.
</td>
</tr>
<tr valign=top>
<td>SERVICE_GRANTEXECUTIONRIGHT</td>
<td>
Grant the above user account the 'Logon as a Service' user right.<br>
Valid Values: '0' for disabled, '1' for enabled.
</td>
</tr>
</table>
</ul>
</ul>
<h3>Command line deployment</h3>
<p>An example for the single-user install would be:<br>
msiexec /i boinc.msi /qn /l c:\boincsetup.log SETUPTYPE='Single' ALLUSERS=0 ENABLESCREENSAVER=0 ENABLELAUNCHATLOGON=0 LAUNCHPROGRAM=0</p>
<p>An example for the shared install would be:<br>
msiexec /i boinc.msi /qn /l c:\boincsetup.log SETUPTYPE='Shared' ALLUSERS=1 ENABLESCREENSAVER=0 ENABLELAUNCHATLOGON=0 LAUNCHPROGRAM=0</p>
<p>An example for the service install would be:<br>
msiexec /i boinc.msi /qn /l c:\boincsetup.log SETUPTYPE='Service' ALLUSERS=0 ENABLESCREENSAVER=0 ENABLELAUNCHATLOGON=0 LAUNCHPROGRAM=0 SERVICE_DOMAINUSERNAME='%ComputerName%\\%UserName%' SERVICE_PASSWORD='%Password%' SERVICE_GRANTEXECUTIONRIGHT=1</p>
";
page_tail();
?>

View File

@ -21,7 +21,7 @@ function show_old_news($items, $n) {
$tot = count($items);
for ($i=$n; $i<count($items); $i++) {
$j = $tot-$i;
echo "<a name=$j>\n";
echo "<a name=$j></a>\n";
news_item($items[$i][0], $items[$i][1]);
}
}

View File

@ -73,6 +73,9 @@ $team_stats_sites = array(
"Boinc.be team stats",
""
),
array("http://www.seti-teamartbell.com/",
"Team Art Bell", ""
),
);
$sig_sites = array(

View File

@ -55,7 +55,6 @@ libboinc_a_SOURCES = \
gui_rpc_client_ops.C \
gui_rpc_client_print.C \
hostinfo.C \
language.C \
md5.c \
md5_file.C \
mem_usage.C \

View File

@ -1,92 +0,0 @@
// Berkeley Open Infrastructure for Network Computing
// http://boinc.berkeley.edu
// Copyright (C) 2005 University of California
//
// This is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation;
// either version 2.1 of the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// To view the GNU Lesser General Public License visit
// http://www.gnu.org/copyleft/lesser.html
// or write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#ifdef _WIN32
#include "boinc_win.h"
#endif
#ifndef _WIN32
#include "config.h"
#include <cstring>
#include <cstdlib>
#endif
#include "util.h"
#include "parse.h"
#include "language.h"
LANGUAGE::LANGUAGE() {
language_file_contents = NULL;
}
LANGUAGE::~LANGUAGE() {
if (language_file_contents) free(language_file_contents);
language_file_contents = NULL;
}
int LANGUAGE::read_language_file(const char *file_name) {
int retval;
// TODO: put in a size limitation here?
if (language_file_contents) free(language_file_contents);
language_file_contents = NULL;
retval = read_file_malloc(file_name, language_file_contents);
if (retval) return retval;
return 0;
}
int LANGUAGE::get_translation(char *section_name, char *entry_name,
char *translation, int trans_size) {
char buf[256], *sec_ptr, buf2[256];
// If we never opened the language file, return the default value
//
if (!language_file_contents) goto return_default;
// Find the specified section
//
sprintf(buf, "[%s]", section_name);
sec_ptr = strstr(language_file_contents,buf);
if (!sec_ptr) goto return_default;
// Find the translation in the section
// skip the header line
//
sec_ptr += strlen(buf);
sprintf(buf, "%s=", entry_name);
while (sgets(buf2, 256, sec_ptr)) {
if (!strncmp(buf, buf2, strlen(buf))) {
strlcpy(translation, buf2+strlen(buf), trans_size);
return trans_size;
} else if (!strncmp("[", buf2, 1)) {
goto return_default;
}
}
return_default:
strlcpy(translation, entry_name, trans_size);
return trans_size;
}
const char *BOINC_RCSID_c4c9d87372 = "$Id$";

View File

@ -1,43 +0,0 @@
// Berkeley Open Infrastructure for Network Computing
// http://boinc.berkeley.edu
// Copyright (C) 2005 University of California
//
// This is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation;
// either version 2.1 of the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// To view the GNU Lesser General Public License visit
// http://www.gnu.org/copyleft/lesser.html
// or write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// flags determining what is written to standard out.
// (errors go to stderr)
//
// NOTE: all writes to stdout should have an if (log.*) {} around them.
//
#ifndef _LANGUAGE_H_
#define _LANGUAGE_H_
#ifndef _WIN32
#include <cstdio>
#endif
class LANGUAGE {
char *language_file_contents;
public:
LANGUAGE();
~LANGUAGE();
int read_language_file(const char *);
int get_translation(char *, char *, char *, int );
};
#endif

View File

@ -471,6 +471,9 @@ class Project:
self.dir('html/user/server_status.php'))
install(srcdir('html/languages/project_specific_translations/sample_en.po'), self.dir('html/languages/project_specific_translations/en.po'))
install(srcdir('tools/project.xml'), self.dir('project.xml'))
install(srcdir('test/uc_result'), self.dir('templates/uc_result'))
install(srcdir('test/uc_wu_nodelete'), self.dir('templates/uc_wu'))
install(srcdir('tools/create_work_example'), self.dir('bin/create_work_example'))
my_symlink(self.config.config.download_dir, self.dir('html', 'user', 'download'))

View File

@ -2,7 +2,7 @@
<name><OUTFILE_0/></name>
<generated_locally/>
<upload_when_present/>
<max_nbytes>100000</max_nbytes>
<max_nbytes>5000000</max_nbytes>
<url><UPLOAD_URL/></url>
</file_info>
<result>

12
tools/create_work_example Normal file
View File

@ -0,0 +1,12 @@
# example of how to create a workunit
# copy the input file from a known place into the download hierarchy
#
cp download/input `bin/dir_hier_path input`
# Run create_work to create the WU.
# The WU name ("wu_nodelete") includes the string "nodelete".
# This causes the file deleter to not delete its input files,
# so that we can use make_work.
#
bin/create_work -appname uppercase -wu_name wu_nodelete -wu_template templates/uc_wu -result_template templates/uc_result input