+# pre/post script for -upstart subpackages
+#
+# Author: Jacek Konieczny <jajcus@jajcus.net>
+#
+# Usage:
+# %upstart_post service_name
+# %upstart_postun service_name
+#
+# Sample:
+# %post upstart
+# %upstart_post %{name}
+#
+# %postun upstart
+# %upstart_postun %{name}
+#
+# Requirements:
+# BuildRequires: rpmbuild(macros) >= 1.560
+# Requires: rc-scripts >= 0.4.3
+
+# migrate from init script to upstart job
+%upstart_post() \
+ if [ -f /var/lock/subsys/%1 ]; then \
+ /sbin/service --no-upstart %1 stop \
+ /sbin/service %1 start \
+ fi
+
+# restart the job after upgrade or migrate to init script on removal
+# cannot be stopped with 'service' as /etc/init/$name.conf may be missing
+# at this point
+%upstart_postun() \
+ if [ -x /sbin/initctl ] && /sbin/initctl status %1 2>/dev/null | grep -q 'running' ; then \
+ /sbin/initctl stop %1 >/dev/null 2>&1 \
+ [ -f /etc/rc.d/init.d/%1 -o -f /etc/init/%1.conf ] && { echo -n "Re-"; /sbin/service %1 start; }; \
+ fi
+
+# Haskell Macros
+# BuildRequires: rpmbuild(macros) >= 1.608
+%ghcdir ghc-%(/usr/bin/ghc --numeric-version 2>/dev/null || echo ERROR)
+
+# update /usr/lib*/ghc-*/package.conf.d/package.cache
+# Requires: ghc
+# BuildRequires: rpmbuild(macros) >= 1.607
+#
+%ghc_pkg_recache() {{ \
+ umask 022; \
+ /usr/bin/ghc-pkg recache; \
+};} \
+%{nil}
+
+# EOF