File macros.gconf2 of Package gconf2
#
# RPM macros for gconf applications.
#
# (c) 2006-2007 SUSE LINUX
# Author: Stanislav Brabec <sbrabec@suse.cz>
#
# Usage:
#
# Preamble:
# %gconf_schemas_prereq
#
# %install
# ...
# %find_gconf_schemas
# or
# %def_gconf_schemas subpackage1
# %add_gconf_schemas schemas_name1
# %add_gconf_schemas schemas_name2
# %def_gconf_schemas subpackage2
# %add_gconf_schemas schemas_name3
# %add_gconf_schemas schemas_name4
# %end_gconf_schemas
# schemas names are without path and suffix
#
# %pre -f %{name}.schemas_pre
#
# %preun -f %{name}.schemas_preun
#
# %posttrans -f %{name}.schemas_posttrans
#
# %files -f %{name}.schemas_list
# or
# %files -f subpackage.schemas_list
#
#
# In case of more -f needed for one %files:
#
# %install
# ...
# %find_gconf_schemas
# %find_lang %{name}
# cat %{name}.schemas_list %{name}.lang >%{name}.lst
#
# %files -f %{name}.lst
#
%gconf_schemas_prereq PreReq: /usr/bin/gconftool-2 coreutils
%end_gconf_schemas() \
echo 'rmdir etc/gconf/schemas/outdated 2>/dev/null || true' >>$GCONF_SCHEMAS_NAME.schemas_posttrans\
echo 'rmdir etc/gconf/schemas/outdated 2>/dev/null || true' >>$GCONF_SCHEMAS_NAME.schemas_preun\
%{nil}
%def_gconf_schemas() \
if test -n "$GCONF_SCHEMAS_NAME" ; then\
%end_gconf_schemas\
fi\
GCONF_SCHEMAS_NAME=%1\
echo '%defattr (644, root, root, 755)' >%1.schemas_list\
echo 'mkdir -p etc/gconf/schemas/outdated' >%1.schemas_pre\
echo 'export GCONF_CONFIG_SOURCE=`usr/bin/gconftool-2 --get-default-source`' >%1.schemas_posttrans\
echo 'if test -x usr/bin/gconftool-2 ; then\
export GCONF_CONFIG_SOURCE=`usr/bin/gconftool-2 --get-default-source`\
fi' >%1.schemas_preun\
%{nil}
%_add_gconf_schemas() \
echo $SCHEMAS >>$GCONF_SCHEMAS_NAME.schemas_list\
echo "if test -f ${SCHEMAS#/} ; then\
ln -f ${SCHEMAS#/} etc/gconf/schemas/outdated/\
fi" >>$GCONF_SCHEMAS_NAME.schemas_pre\
echo "rm -f etc/gconf/schemas/outdated/${SCHEMAS#/etc/gconf/schemas/}\
usr/bin/gconftool-2 --makefile-install-rule ${SCHEMAS#/} >/dev/null" >>$GCONF_SCHEMAS_NAME.schemas_posttrans\
echo "if test -x usr/bin/gconftool-2 ; then\
if test -f etc/gconf/schemas/outdated/${SCHEMAS#/etc/gconf/schemas/} ; then\
usr/bin/gconftool-2 --makefile-uninstall-rule etc/gconf/schemas/outdated/${SCHEMAS#/etc/gconf/schemas/} >/dev/null\
elif test -f ${SCHEMAS#/} ; then\
usr/bin/gconftool-2 --makefile-uninstall-rule ${SCHEMAS#/} >/dev/null\
fi\
fi\
rm -f etc/gconf/schemas/outdated/${SCHEMAS#/etc/gconf/schemas/}" >>$GCONF_SCHEMAS_NAME.schemas_preun\
%{nil}
%add_gconf_schemas() \
SCHEMAS=/etc/gconf/schemas/%1.schemas\
%_add_gconf_schemas\
%{nil}
%find_gconf_schemas() \
test -d $RPM_BUILD_ROOT/etc/gconf/schemas\
%def_gconf_schemas %{name}\
for SCHEMAS in $RPM_BUILD_ROOT/etc/gconf/schemas/*.schemas ; do\
test -f $SCHEMAS\
SCHEMAS=${SCHEMAS#$RPM_BUILD_ROOT}\
%_add_gconf_schemas\
done\
%end_gconf_schemas\
%{nil}