====== Campcaster Debian Packaging ====== ~~SLIDESHOW~~ Robin Gareus\\ linuxaudio.org\\ Université Paris\\ ===== Outline ===== * Requirements * Paths, Locations & persistent storage * Code & Libraries * Licensing Issues * Patches made for the package * proposed future changes ===== Packaging Requirements ===== * Basics * install & setup * remove & keep data & config * purge -> remove all * Debianized Paths * Clean Licenses, as little as possible extra libs * maintainable build/patch-system (quilt, git) ===== Paths ===== Original campcaster is setup to work from ''/opt'' and the source-tree.\\ * Campcaster's ''configure'' & ''Makefile'' do not support ''DESTDIR''. * ''prefix'' is used to replace paths rather than install-target. ===== Debianized Paths ===== Debian requires installation in ''/usr'' * ''/usr/lib/campcaster'' - binary arch depenent files * ''/usr/share/camcaster'' - arch indep. files (PHP, templates) * ''/var/[lib]/campcaster'' - data storage and variable files * ''/etc/'' - configuration, init-scripts, etc ===== Campcaster problematic libs ===== Debian does not (usually) allow external libs to be part of a package. * libodbc++ * xmlrpc++ * taglib * PEAR (security concerns) * libserial (avail upstream) * embedded Smarty ===== Licensing ===== Campcaster mixes serveral licenses: * PHP licenses (v2.0, v2.02 & v3.0) * GPL v2/v3 * SSL - incompatible with GPL. * test-sounds (was creative-commons) ===== Packages ===== Main Target: Ubuntu/Lucid * campcaster-libs - customized libs * campcaster-data - arch-indep files (PHP, images,..) * campcaster-station - executables, server-config * campcaster-studio - GUI binaries ===== Patches ===== * add ''debian/'' - various scripts & man-pages * use apache Alias instead of symlink in ''/var/www'' * Change (hardcoded) paths in shell and install scripts * Add icon in xpm format * Change pgsql setup scripts for debian postgres 8.3/8.4 * minor cosmetic changes ===== Future 1/2 ===== Some patches can (and already have been) merged upstream. Major Upstream ToDo Points: * remove PEAR and rely on available PEAR packages * replace xmlrpc++ * option to use system-wide libs instead of provided ones ===== Future 2/2 ===== Nice to have: * flexible install-prefix and install-destination * replace SSL with GNU-TLS (xmlrpc++, curl) Packaging ToDo: * drop campcaster's ''postInstallStation.sh'' script. it does not conform to debian db/odbc standards * remove NFS auto-detection & provide README to set-up remote storage ===== . ===== Thanks for your attention. Packages are currently available for download from http://rg42.org/deb/ http://robin.linuxaudio.org/deb/ repositories will follow.