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 not distribute source code releases as tarballs, but they are tagged in the BOINC Git repository. Anonymous Git access is explained on http://boinc.berkeley.edu/trac/wiki/SourceCodeGit . The 'boinc' source package refers to the respective release tags. The 'boinc-experimental' source package uses the commit of a particular day. For more information see: http://boinc.berkeley.edu/trac/wiki/SourceCode Upstream's change to Git has hit us unprepared. Our traditional approach was to check everything out and then prepare a tarball from it. We have put that approach into the script 'export-boinc' which is available in our pkg-boinc Git repository: wget -O export-boinc \ "http://git.debian.org/?p=pkg-boinc/scripts.git;a=blob_plain;f=export-boinc;hb=HEAD" chmod 755 export-boinc It will take a considerable while to download as the final tarball yields >15MB. The script will take care of remove the non-DFSG files from the upstream tag. Above process is integrated into debian/rules's get-orig-source target. Since the advent of git there should be better ways, also for an improved communication with upstream. We are still experimenting. Screen saver ------------ No screen saver is built, disabled in the patch debian/patches/Makefile_subdirs.patch, which also allowed for the removal of the build dependencies libxcb-atom1-dev 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: *.dll *.exe samples/example_app/bin api/ttf api/ttfont.{cpp,h} samples/glut zip/configure lib/mac curl samples/jpeglib .vimrc coprocs win_build mac_build clientgui/mac mac_installer client/app_stats_mac.cpp version.h .gitignore