# $Revision$, $Date$
+# vim:ts=4 sw=4 noet ft=spec
+#
# PLD Linux rpm macros.
# <http://www.pld-linux.org/>
# %define skip_post_check_so libwithoutfoo.so.* libwithoutbar.so.*
#
%__spec_install_post_check_so { \
- __spec_install_post_check_so() { \
- fail=0; \
- printf "Searching for shared objects with unresolved symbols..."; \
- for f in $(find $RPM_BUILD_ROOT -type f -name '*.so.*' -print); do \
- LC_ALL=C objdump -T $f 2> /dev/null | LC_ALL=C awk -v "file=$f" 'BEGIN { found=0; skip["program_name"]=1; symbols = "" } /^[0-9a-z]+ +D +\*UND\*/ { if ($NF in skip) { next; }; found = 1; symbols = symbols "\n\t" $NF } END { if (found) { print "\nUnresolved symbols found in: " file symbols; %{?skip_post_check_so:split("%{skip_post_check_so}", R); for (i=1; i in R; i++) { if (file ~ "(^|/)" R[i] "$") { print "Library marked with skip_post_check_so, ignoring errors.\n"; exit(0); } } } exit(1); } } ' || fail=1 ; \
- done ; \
- echo " DONE"; \
- %{!?no_install_post_check_so:return $fail;} \
+__spec_install_post_check_so() { \
+ fail=0; \
+ printf "Searching for shared objects with unresolved symbols..."; \
+ for f in $(find $RPM_BUILD_ROOT -type f -name '*.so.*' -print); do \
+ LC_ALL=C objdump -T $f 2> /dev/null | LC_ALL=C awk -v "file=$f" 'BEGIN { found=0; skip["program_name"]=1; symbols = "" } /^[0-9a-z]+ +D +\*UND\*/ { if ($NF in skip) { next; }; found = 1; symbols = symbols "\n\t" $NF } END { if (found) { print "\nUnresolved symbols found in: " file symbols; %{?skip_post_check_so:split("%{skip_post_check_so}", R); for (i=1; i in R; i++) { if (file ~ "(^|/)" R[i] "$") { print "Library marked with skip_post_check_so, ignoring errors.\n"; exit(0); } } } exit(1); } } ' || fail=1 ; \
+ done ; \
+ echo " DONE"; \
+ %{!?no_install_post_check_so:return $fail;} \
}; __spec_install_post_check_so }}
#-----------------------------------------------------------------
fi; \
%{nil}
+#-----------------------------------------------------------------
+# Compile GSettings schemas
+# requires: glib2 >= 1:2.26.0
+#
+%glib_compile_schemas() {{ \
+ umask 022; \
+ /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas; \
+};} \
+%{nil}
+
#-----------------------------------------------------------------
# post %install sequence:
# - autodeps exceptions
# 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 \
+ 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 ; } ; \
+ 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
-# vim:ts=4 sw=4 noet ft=spec
+# EOF