Martin Gansser wrote:
There is a problem during the fedora 19+ package building related to
svn:
-- Found Subversion: /usr/bin/svn (found version "1.8.3")
CMake Error at /usr/share/cmake/Modules/FindSubversion.cmake:83 (message):
Command "/usr/bin/svn info /builddir/build/BUILD/guayadeque-svn1885"
failed with output:
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: The working copy at
'/builddir/build/BUILD/guayadeque-svn1885'
is too old (format 29) to work with client version '1.8.3 (r1516576)'
(expects format 31). You need to upgrade the working copy first.
Upstream's CMakeLists.txt does this:
FIND_PACKAGE(Subversion)
IF(Subversion_FOUND)
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} GUAYADEQUE)
MESSAGE("Current revision is ${GUAYADEQUE_WC_REVISION}")
SET( _GUREVISION_ ${GUAYADEQUE_WC_REVISION})
ELSE(Subversion_FOUND)
SET( _GUREVISION_ "" )
ENDIF(Subversion_FOUND)
In particular, this line:
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} GUAYADEQUE)
runs "svn info" on the current directory to obtain the revision and store it
in the CMake variable GUAYADEQUE_WC_REVISION, which is then copies to the
CMake variable _GUREVISION_, presumably to show it in some about dialog or
something. And the tarball they ship is a working copy in an outdated format
(outdated SVN version). (IMHO, shipping SVN working copies rather than
exports as tarballs is broken in the first place.)
IMHO, just removing the .svn directories (i.e. converting the working copies
to a clean export) is the best fix, but you could also run "svn upgrade" in
the specfile (with BuildRequires: subversion) if you think it's important to
have the revision show up (but you could also manually specify
-D_GUREVISION_:STRING=1885 on the cmake command line to get that).
Kevin Kofler
(your friendly CMake expert from KDE SIG ;-) )