Deployment
==========

Build Symphytum:

1. Check and update translation files if needed
2. Check DefinitionHolder
3. Set dropbox app secret in DropboxSyncDriver::initSecrets()
4. Check authors description in about dialog, see AUTHORS file
5. Check and update CHANGELOG file
6. Create archive of last commit:
   git archive -o symphytum.tar.gz HEAD
7. Uncompress and open project with release config
8. Compile

Prepare Dropbox SDK
1. Edit components/sync_framework/scripts/dropbox_client.py
   and set correct app key
2. Download latest Dropbox python SDK:
   https://www.dropbox.com/developers/reference/sdk
3. Apply custom patches (from stuff dir in general symphytum dir)
   copy patches to sdk folder
   patch -p1 < *.patch
4. Go to dropbox folder in the sdk folder
   delete all .pyc files and remove Makefile
   compile all python files
   python2 -m compileall .
   compile dropbox_client.py
5. Copy dropbox_client.py/.pyc and the dropbox folder to somewhere for later use

Windows:
1. Prepare dropbox client (windows exe) as described in "pyinstaller dropbox howto"
2. Open and compile symphytum.iss after review

OS X:
1. Use 'qmake -spec macx-g++ Symphytum.pro' to generate Makefile
2. Move py files to app boundle in the sync subfolder where the binary is
3. Use macdeployqt
4. Add to Info.plist:
   <key>NSPrincipalClass</key>
   <string>NSApplication</string>
   for retina support thing (needed as Qt 4.8.1, after that already present)
5. Create a DMG follow this: http://mac101.net/content/how-to/how-to-create-dmg-art-for-fancy-application-installations/

Ubuntu:
1. Copy deb dir from installers dir
2. Update DEBIAN/control as needed
3. Copy executable to usr/bin
4. Copy dropbox_client.py/.pyc and dropbox to usr/share/symphytum/sync
5. Create deb package
   sudo chown root:root -R deb/
   sudo chmod -R 0755 deb/
   dpkg -b deb/ symphytum-1.0-x86_64.deb

Archlinux:
1. Adjust PKGBUILD script from the installers directory
2. copy source tarball to current build directory
3. run updpkgsums to update checksums for source tarball
4. run makepkg -i to build pacman package and to install it

