[Debian Wiki] Update of "BOINC/ServerGuide/AppDeployment" by SteffenMoeller
Debian Wiki
debian-www at lists.debian.org
Sun Jun 26 18:49:28 UTC 2011
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Debian Wiki" for change notification.
The "BOINC/ServerGuide/AppDeployment" page has been changed by SteffenMoeller:
http://wiki.debian.org/BOINC/ServerGuide/AppDeployment?action=diff&rev1=4&rev2=5
Comment:
second round of comments
== Add a single example app for a single archictecture to the BOINC project ==
- Install the application package, boinc-app-examples. The example application used in the document is ''upper_case'', which converts text inside a file to uppercase.
+ Install the application package, boinc-app-examples. The example application used in the document is ''upper_case'', which converts text inside a file to all capitals.
=== Create a directory and add the app to project configuration. ===
This directory becomes an intrinsic part of your project.
- Dhananjay, please also use the bash or another BOURNE-compatible shell.
+ (D., please also use the bash or another BOURNE-compatible shell. sm)
{{{
$ mkdir $installroot/$fileprojectname/apps/upper_case
}}}
Copy the file from the installed "boinc-app-examples" Debian package into that directory and rename it to distinguish versions and architectures. In our case, the app_ver variable is that of the BOINC server, the second part of the filename is that of the BOINC architecture.
{{{
- $ appver=6.12.33
- $ arch=amd64-pc-linux-gnu
+ $ appver=6.12.33 # adjust to the right version
+ $ boincplat=amd64-pc-linux-gnu # adjust to your architecture, maybe i686-pc-linux-gnu
- $ cp /usr/lib/boinc-server/apps/upper_case apps/uppercase/uppercase_${appver}_${arch}
+ $ cp /usr/lib/boinc-server/apps/upper_case apps/uppercase/uppercase_${appver}_${boincplat}
}}}
+ Upstream lists official BOINC architectures [[http://boinc.berkeley.edu/trac/wiki/BoincPlatforms|here]].
+
+
+ == Use the Debian-provided script to install binaries for multiple platforms ==
+
+ (D.: ... I am refering to /usr/share/doc/boinc-server-maker/examples/fetch_example_applications.sh , which is coming with the BOINC-server-maker package. Please amend that to fit the structure above described. sm)
+
+ When applications do not have dependencies non-standard dynamically loaded libraries (test with the tool 'ldd'), then one can use the regular binary from Debian. This should then be functional also for non-Debian/Ubuntu platforms. The boinc-server-maker package provides a shell script that downloads the Debian packages of a given name (the default is the boinc-app-examples package) and unpacks it to retrieve the binary from there.
+
+ ''To be implemented:'' this will create a structure as described above for the single application.
+
+ == Inform local database of available binaries ==
+
Now add following lines to project.xml in the project root
- (stopping here ... yo have "upper_case" and "uppercase" ?!?!?)
+ (you have used "upper_case" below and "uppercase" above ?!?!?)
{{{
+ if [ -z "$installroot" -o -z "$fileprojectname" ]; then
+ echo 'Variables $installroot ('$installroot ') and $fileprojectname (' $fileprojectname ') are both required.'
+ elif [ -d "$installroot/$fileprojectname" ]; then
+ cat << EOPROJECTXML > $installroot/$fileprojectname/project.xml
<app>
<name>upper_case</name>
<user_friendly_name>upperCASE</user_friendly_name>
</app>
+ EOPROJECTXML
+ fi
}}}
+ change to the projectroot {{{
+ cd "$installroot/$fileprojectname"
+ }}}
- and run
+ and run {{{
- {{{
./bin/xadd
}}}
@@ -177, +198 @@
The xadd tool will parse the project.xml and will put the configurations to the database.
+ (can you explain what this means? why did the i686/amd64 entries not show anything?) Please also show the respective entries in the database, e.g. with {{{
+ echo 'select * from ... | mysql -u $host -p
+ }}}
+ sm)
+
== Sign the application binary ==
+
BOINC need to sign the application binaries before dispatch for security reasons.
+ (Is this a different upper_case folder? If not, where is the version of the upper_case/uppercase filenames? sm)
+
{{{
- ./bin/sign_executable apps/upper_case/upper_case_$(arch)-pc-linux-gnu code_sighn_private_key_file
+ ./bin/sign_executable apps/upper_case/upper_case_$(boincplat) code_sign_private_key_file
- te >> apps/upper_case/upper_case_$(arch)-pc-linux-gnu.sig
+ te >> apps/upper_case/upper_case_$(boincplat).sig
}}}
Update the boinc database,
@@ -206, +235 @@
Done
}}}
-
== Add a Work Unit ==
A work unit is the portion of data that the project should be analyzed, a work unit has following parts,
* Input file(s)
@@ -234, +262 @@
This will create one work unit named test in the database.
- == Start the project. ==
+ = Start the project. =
Now its time to start the project, assuming we are still inside the project root,
-
{{{
./bin/start
More information about the pkg-boinc-commits
mailing list