+%pyrequires_eq() Requires: python(abi) = %py_ver %1
+
+
+# Hardlink binary identical .pyc and .pyo files
+# (idea by glen <at> pld-linux <dot> org)
+%__spec_install_post_py_hardlink {\
+%{!?no_install_post_py_hardlink: \
+[ ! -d "$RPM_BUILD_ROOT" ] || find "$RPM_BUILD_ROOT" -name '*.pyc' | while read a; do \
+ b="$(echo $a|sed -e 's/.pyc$/.pyo/')"; \
+ if cmp -s "$a" "$b"; then \
+ ln -f "$a" "$b"; \
+ fi; \
+done \
+} }
+
+# remove python sources, so that check-files won't complain
+# (idea by glen <at> pld-linux <dot> org)
+%py_postclean() \
+for d in %{py_sitescriptdir} %{py_sitedir}; do \
+ [ ! -d "$RPM_BUILD_ROOT$d" ] || find "$RPM_BUILD_ROOT$d" -name '*.py' -exec rm {} \; ;\
+done \
+%{nil}
+
+# depmod macro
+%depmod() { \
+umask 022; \
+if [ -e /boot/System.map-%1 ]; then \
+ /sbin/depmod -a -F /boot/System.map-%1 %1; \
+else \
+ if [ -e /boot/System.map ]; then \
+ /sbin/depmod -a -F /boot/System.map %1; \
+ else \
+ /sbin/depmod -a %1; \
+ fi \
+fi; \
+}
+
+# XMMS specific macros
+%xmms_prefix %(xmms-config --prefix)
+%xmms_exec_prefix %(xmms-config --exec-prefix)
+%xmms_version %(xmms-config --version)
+%xmms_datadir %(xmms-config --data-dir)
+%xmms_plugindir %(xmms-config --plugin-dir)
+%xmms_visualization_plugindir %(xmms-config --visualization-plugin-dir)
+%xmms_input_plugindir %(xmms-config --input-plugin-dir)
+%xmms_output_plugindir %(xmms-config --output-plugin-dir)
+%xmms_effect_plugindir %(xmms-config --effect-plugin-dir)
+%xmms_general_plugindir %(xmms-config --general-plugin-dir)
+
+%_target_base_arch %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/pentium./i386/;s/amd64/x86_64/')
+
+# user/group checking macros
+#
+# Usage:
+# %userremove myuser
+#
+%userremove /usr/lib/rpm/user_group.sh user del
+%groupremove /usr/lib/rpm/user_group.sh group del
+#
+# Usage:
+# if %usertestrm myuser; then
+# /usr/sbin/userdel -r myuser
+# Note:
+# use these macros only if you need to call userdel/groupdel with
+# a non-standard option or take an extra action; otherwise use the
+# %userremove/%groupremove macros
+#
+%usertestrm /usr/lib/rpm/user_group.sh user testrm
+%grouptestrm /usr/lib/rpm/user_group.sh group testrm
+# user group membership management macros
+#
+# Usage:
+# %addusertogroup myuser agroup
+#
+%addusertogroup /usr/lib/rpm/user_group.sh user addtogroup
+
+# banner support (useful in {pre,post}{,un} and triggers)
+#
+# Usage:
+# %banner name [-a] [-e] [-n] [-tn]
+# the banner text, the banner text
+# the banner text, and following line HAVE TO BE:
+# EOF
+# -a - append to the banner
+# -e - send to stderr instead of stdout
+# -n - no show banner (overrides -t)
+# -t - show only, if RPM_SCRIPTVERBOSITY >= n; default n=5
+%banner(a:e:n:t:) \
+RPM_SCRIPTVERBOSITY=5 \
+[ -r /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm \
+if [ -x /usr/bin/banner.sh ]; then \
+ CMD="/usr/bin/banner.sh %{-e:--stderr} %{!-n:\`[ $RPM_SCRIPTVERBOSITY -ge %{-t:%{-t*}}%{!-t:5} ] && echo '-s'\`} %{!-a:-m}%{-a:-M} %1" \
+else \
+ CMD="cat%{-e: >&2}" \
+fi \
+$CMD << EOF \
+%nil