]> git.pld-linux.org Git - packages/rpm-pld-macros.git/commitdiff
- avoid readlink due filesystem packaging stupidity auto/th/rpm-build-macros-1_541-1
authorElan Ruusamäe <glen@pld-linux.org>
Fri, 19 Feb 2010 16:56:31 +0000 (16:56 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    rpm.macros -> 1.544

rpm.macros

index 079dbb5088caeaf312ea169def2a660b977e246b..50352587e407bc9b5b363bec6ed385a0ff950305 100644 (file)
 %_topdir    %{expand:%%global _topdir %(
        if [ -d SPECS -a -d SOURCES ]; then
                # old style rpmdir: in topdir
-               readlink -m .
+               pwd
        elif [ -d ../SPECS -a -d ../SOURCES ]; then
                # old style rpmdir: in subdir
-               readlink -m ..
+               cd ..; pwd
        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 -m ..
+               cd ..; pwd
        elif [ -x builder -a ! -d builder ]; then
                # relative new style rpmdir: in packages
-               readlink -m .
+               pwd
        elif [ -x packages/builder -a ! -d packages/builder ]; then
                # relative new style rpmdir: packages dir in current dir
-               readlink -m packages
+               cd packages; pwd
        else
                # fallback to new style rpmdir
                echo $HOME/rpm/packages
 # 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 %(if [ -d %{_topdir}/BUILD ]; then echo %{_topdir}/BUILD; else readlink -m %{_topdir}/../BUILD; fi)}%_builddir
-%_rpmdir               %{expand:%%global _rpmdir %(if [ -d %{_topdir}/RPMS ]; then echo %{_topdir}/RPMS; else readlink -m %{_topdir}/../RPMS; fi)}%_rpmdir
-%_srcrpmdir            %{expand:%%global _srcrpmdir %(if [ -d %{_topdir}/SRPMS ]; then echo %{_topdir}/SRPMS; else readlink -m %{_topdir}/../SRPMS; fi)}%_srcrpmdir
+# NOTE: readlink fails if some parent dir is not readable (/home/services/builder for example can't read /home/services), therfore the extra echo
+%_builddir             %{expand:%%global _builddir %(if [ -d %{_topdir}/BUILD ]; then echo %{_topdir}/BUILD; else readlink -m %{_topdir}/../BUILD || echo %{_topdir}/../BUILD; fi)}%_builddir
+%_rpmdir               %{expand:%%global _rpmdir %(if [ -d %{_topdir}/RPMS ]; then echo %{_topdir}/RPMS; else readlink -m %{_topdir}/../RPMS || echo readlink -m %{_topdir}/../RPMS; fi)}%_rpmdir
+%_srcrpmdir            %{expand:%%global _srcrpmdir %(if [ -d %{_topdir}/SRPMS ]; then echo %{_topdir}/SRPMS; else readlink -m %{_topdir}/../SRPMS || echo readlink -m %{_topdir}/../SRPMS; fi)}%_srcrpmdir
 
 #      The number of cvs changelog entries kept when building package.
 %_buildchangelogtruncate 20
This page took 0.159895 seconds and 4 git commands to generate.