# PLD Linux rpm macros.
# <http://www.pld-linux.org/>
-# can be used by builder script to to check for version
+# can be used by builder script to check for version
%rpm_build_macros %(R="$Revision$"; RR="${R##: }"; echo ${RR%%?})
%epoch 0
%__intltoolize intltoolize --copy --force
%__libtoolize libtoolize --copy --force --install
-# topdir is where builder script lives, fallback to old style if builder script was not found and
-# SPECS/SOURCES dirs exist (XXX: should be reverse?)
-%_topdir %{expand:%%global _topdir %(d=;\
- d=${d:-$([ -d ../SPECS -a -d ../SOURCES ] && (cd .. && pwd))};\
- d=${d:-$([ -x ../builder ] && (cd ..; pwd))};\
- d=${d:-$([ -x builder ] && pwd)};\
- echo ${d:-$HOME/rpm};\
+# topdir is where builder script lives,
+# fallback to old style if SPECS/SOURCES dirs were found.
+%_topdir %{expand:%%global _topdir %(
+ if [ -d SPECS -a -d SOURCES ]; then
+ # old style rpmdir: in topdir
+ readlink -f .
+ elif [ -d ../SPECS -a -d ../SOURCES ]; then
+ # old style rpmdir: in subdir
+ readlink -f ..
+ elif [ -d $HOME/rpm/SPECS -a -d $HOME/rpm/SOURCES ]; then \
+ # if old style rpm dir exist, go with it
+ echo $HOME/rpm; \
+ elif [ -x ../builder -a ! -d ../builder ]; then
+ # relative new style rpmdir: in package dir
+ readlink -f ..
+ elif [ -x builder -a ! -d builder ]; then
+ # relative new style rpmdir: in packages
+ readlink -f .
+ elif [ -x packages/builder -a ! -d packages/builder ]; then
+ # relative new style rpmdir: packages dir in current dir
+ readlink -f packages
+ else
+ # fallback to new style rpmdir
+ echo $HOME/rpm/packages
+ fi; \
)}%_topdir
-# if %{_topdir}/builder exists, it's new style structure
-%_specdir %{expand:%%global _specdir %([ -x %{_topdir}/builder ] && echo %{_topdir}/%{name} || echo %{_topdir}/SPECS)}%_specdir
-%_sourcedir %{expand:%%global _sourcedir %([ -x %{_topdir}/builder ] && echo %{_specdir} || echo %{_topdir}/SOURCES)}%_sourcedir
+# if %{_topdir}/SPECS exists, it's old style structure
+%_specdir %{expand:%%global _specdir %([ ! -d %{_topdir}/SPECS ] && echo %{_topdir}/%{name} || echo %{_topdir}/SPECS)}%_specdir
+%_sourcedir %{expand:%%global _sourcedir %([ ! -d %{_topdir}/SOURCES ] && echo %{_specdir} || echo %{_topdir}/SOURCES)}%_sourcedir
# BUILD/RPMS/SRPMS are one same level by default as packages dir, if these exist
# if they don't exist assume we are having custom topdir (which is not named as
# "packages", i.e ~/rpm/kde/{kdelibs,BUILD/RPMS/SRPMS})
-%_builddir %{expand:%%global _builddir %([ -d %{_topdir}/../BUILD ] && (cd %{_topdir}/../BUILD; pwd) || echo %{_topdir}/BUILD)}%_builddir
-%_rpmdir %{expand:%%global _rpmdir %([ -d %{_topdir}/../RPMS ] && (cd %{_topdir}/../RPMS; pwd) || echo %{_topdir}/RPMS)}%_rpmdir
-%_srcrpmdir %{expand:%%global _srcrpmdir %([ -d %{_topdir}/../SRPMS ] && (cd %{_topdir}/../SRPMS; pwd) || echo %{_topdir}/SRPMS)}%_srcrpmdir
+%_builddir %{expand:%%global _builddir %(if [ -d %{_topdir}/../BUILD ]; then readlink -f %{_topdir}/../BUILD; else echo %{_topdir}/BUILD; fi)}%_builddir
+%_rpmdir %{expand:%%global _rpmdir %(if [ -d %{_topdir}/../RPMS ]; then readlink -f %{_topdir}/../RPMS; else echo %{_topdir}/RPMS; fi)}%_rpmdir
+%_srcrpmdir %{expand:%%global _srcrpmdir %(if [ -d %{_topdir}/../SRPMS ]; then readlink -f %{_topdir}/../SRPMS; else echo %{_topdir}/SRPMS; fi)}%_srcrpmdir
# The number of cvs changelog entries kept when building package.
%_buildchangelogtruncate 20
fi\
echo -e "</dependencies>\\n" >> %{_mavendepmapdir}/maven2-depmap.xml
+# JAVA macros specific for PLD
+
+# Directory for tomcat context configuration files
+%_tomcatconfdir %{_sharedstatedir}/tomcat/conf/Catalina/localhost
# PEAR install macros
# Author: Elan Ruusamäe <glen@pld-linux.org>