Building client+libs or everything
==================================

The file debian/control.in is the template the control file to be used.
If the Package: boinc-server-maker is not commented out, then all the
%-starting lines will be uncommented, too. Otherwise, those lines are removed
and only those parts of the source tree be built that upstream tests for
every release. The server side may be at an unbuildable developmental state
at times.


Modifications to the upstream source
====================================
 This package uses the Debian quilt format to manage all modifications
 to the upstream source. Changes are stored in the source package as
 diffs in debian/patches and applied during the build.


quilt configuration
-------------------
 If you plan to modify patches in debian/patches, you need the quilt package.
 To keep it simple, these are recommended for ~/.quiltrc

QUILT_PATCHES="debian/patches"
QUILT_NO_DIFF_TIMESTAMPS=1


Repackaged upstream source:
===========================
 The BOINC project does distribute source code releases as tarballs,
 but they contain non DFSG files.

 To update you can easily call  "uscan" in your source tree, that will call
 automatically the get-orig-source.sh script, to remove unwanted files from
 the source tree.

 The final tarball is put on the parent directory. To import it, we suggest
 to install the package "git-buildpackage" and easily imported it as
 gbp import-orig --pristine-tar ../boinc_VERSION+dfsg.orig.tar.gz


Launcher icon sources
---------------------

The launcher icon used by BOINC Manager comes in multiple sizes, all found in
debian/icons, and were obtained from several sources:

sizes 32 and 256: Windows icon
sizes 16, 48 and 128: Mac OSX icon
size 512: Berkley BOINC website - Logos and graphics page

To re-create this icon set the following tools and packages are needed:

- convert and identify, from imagemagick
- icotool, from icoutils
- icns2png, from icnsutils

   sudo apt-get install imagemagick icoutils icnsutils

Then run from source top-level dir:

   tempdir=$(mktemp -d --tmpdir=.) && cd "$tempdir"
   for i in 32 256;    do icotool -x -w $i        ../clientgui/res/BOINCGUIApp.ico; done
   for i in 16 48 128; do icns2png -x -s $i -d 32 ../clientgui/res/BOINCMgr.icns; done
   wget http://boinc.berkeley.edu/logo/boinc_glossy2_512_F.tif &&
   convert +set 'date:create' *.tif boinc-512.png
   for icon in *.png; do
      size=$(identify -format '%G' "$icon") &&
      install -m 644 -D "$icon" ../debian/icons/hicolor/"$size"/apps/boincmgr.png
      if [ "$size" = "32x32" ]; then
         convert "$icon" boincmgr.xpm &&
         install -m 644 -D boincmgr.xpm ../debian/icons/pixmaps/boincmgr.xpm
      fi
   done
   cd .. && rm -rf "$tempdir"

This will create the icon images in a format and directory structure compatible
with Freedesktop.org Icon Specification (default 'hicolor' theme and 'apps'
context) and Debian Menu System (XPM format, max size 32x32, /usr/share/pixmaps)

Any changes to this structure should be reflected in boinc-manager.install,
source/include-binaries and boinc-manager.menu


Removed non-dfsg upstream files
===============================
 The files removed from upstream tag are listed in get-orig-source.sh file


Interim versions that are not also releases
===========================================

Want to synchronize with upstream? Use the Debian build instructions in 
debian/rules to have it all compile nicely as if it was a regular package build?
Just clone the repository as usual and symbolically link this debian directory in.
Then run "quilt push -a && fakeroot debian/rules binary". This should generate
regular Debian packages for you.

If these packages are meant to be uploaded to the distribution, please
ensure to remove all those files manually that are currently taken care
of by uscan along the exclude-instructions in debian/copyright.
