+%pre
+%groupadd -g 229 flumotion
+%useradd -u 229 -d %{_localstatedir}/cache/flumotion -s /bin/false -g flumotion -c "Flumotion server" flumotion
+
+%post
+/sbin/chkconfig --add flumotion
+# generate a default .pem certificate ?
+PEM_FILE="%{_sysconfdir}/flumotion/default.pem"
+if ! test -e ${PEM_FILE}
+then
+ sh %{_datadir}/flumotion/make-dummy-cert ${PEM_FILE}
+ chown :flumotion ${PEM_FILE}
+ chmod 640 ${PEM_FILE}
+fi
+
+# create a default planet config if no manager configs present
+# the default login will be user/test
+if ! test -e %{_sysconfdir}/flumotion/managers
+then
+ mkdir -p %{_sysconfdir}/flumotion/managers/default/flows
+ cat > %{_sysconfdir}/flumotion/managers/default/planet.xml <<EOF
+<planet>
+
+ <manager>
+ <!-- <debug>3</debug> -->
+ <host>localhost</host>
+<!--
+ <port>7531</port>
+ <transport>ssl</transport>
+-->
+ <!-- certificate path can be relative to $sysconfdir/flumotion,
+ or absolute -->
+<!--
+ <certificate>default.pem</certificate>
+-->
+ <component name="manager-bouncer" type="htpasswdcrypt-bouncer">
+ <property name="data"><![CDATA[
+user:PSfNpHTkpTx1M
+]]></property>
+ </component>
+ </manager>
+
+</planet>
+EOF
+fi
+
+# create a default worker config if no worker configs present
+# the default login will be user/test
+if ! test -e %{_sysconfdir}/flumotion/workers
+then
+ mkdir -p %{_sysconfdir}/flumotion/workers
+ cat > %{_sysconfdir}/flumotion/workers/default.xml <<EOF
+<worker>
+
+ <!-- <debug>3</debug> -->
+
+ <manager>
+<!--
+ <host>localhost</host>
+ <port>7531</port>
+-->
+ </manager>
+
+ <authentication type="plaintext">
+ <username>user</username>
+ <password>test</password>
+ </authentication>
+
+ <!-- <feederports>8600-8639</feederports> -->
+
+</worker>
+EOF
+
+fi
+
+%preun
+# if removal and not upgrade, stop the processes, clean up locks
+if [ $1 -eq 0 ]
+then
+ /sbin/service flumotion stop > /dev/null
+
+ rm -rf %{_localstatedir}/lock/flumotion*
+ rm -rf %{_localstatedir}/run/flumotion*
+
+ # clean out the cache/home dir too, without deleting it or the user
+ rm -rf %{_localstatedir}/cache/flumotion/*
+ rm -rf %{_localstatedir}/cache/flumotion/.[^.]*
+
+ /sbin/chkconfig --del flumotion
+fi
+