Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 819945 - net-misc/csync-0.50.0-r1 fails to detect net-libs/libssh-0.9.6 on build
Summary: net-misc/csync-0.50.0-r1 fails to detect net-libs/libssh-0.9.6 on build
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Bernard Cafarelli
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2021-10-24 08:32 UTC by Ervin Peters
Modified: 2021-11-05 18:11 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info csync (emerge_info.txt,9.20 KB, text/plain)
2021-10-24 08:32 UTC, Ervin Peters
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ervin Peters 2021-10-24 08:32:13 UTC
Created attachment 746376 [details]
emerge --info csync

on a mostly stable system net-misc/csync-0.50.0-r1 fails to detect net-libs/libssh-0.9.6 on build:

-- ...
-- Found SQLite3: /usr/lib64/libsqlite3.so (Required is at least version "3.3.9") 
-- LIBSSH_VERSION_MAJOR not found in /usr/include/libssh/libssh.h, assuming libssh is too old
-- Checking for module 'neon'
-- ...

Digging a bit, libssh specify its version in /usr/include/libssh-version.h which is not checked by the FindLibSSH.cmake script (line 60ff):

  if (SSH_FOUND)
    set(LIBSSH_LIBRARIES
      ${LIBSSH_LIBRARIES}
      ${SSH_LIBRARY}
    )

    if (LibSSH_FIND_VERSION)
      file(STRINGS ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h LIBSSH_VERSION_MAJOR
        REGEX "#define[ ]+LIBSSH_VERSION_MAJOR[ ]+[0-9]+")
      # Older versions of libssh like libssh-0.2 have LIBSSH_VERSION but not LIBSSH_VERSION_MAJOR
      if (LIBSSH_VERSION_MAJOR)
        string(REGEX MATCH "[0-9]+" LIBSSH_VERSION_MAJOR ${LIBSSH_VERSION_MAJOR})
	file(STRINGS ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h LIBSSH_VERSION_MINOR
          REGEX "#define[ ]+LIBSSH_VERSION_MINOR[ ]+[0-9]+")
	string(REGEX MATCH "[0-9]+" LIBSSH_VERSION_MINOR ${LIBSSH_VERSION_MINOR})
	file(STRINGS ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h LIBSSH_VERSION_PATCH
          REGEX "#define[ ]+LIBSSH_VERSION_MICRO[ ]+[0-9]+")
	string(REGEX MATCH "[0-9]+" LIBSSH_VERSION_PATCH ${LIBSSH_VERSION_PATCH})

	set(LibSSH_VERSION ${LIBSSH_VERSION_MAJOR}.${LIBSSH_VERSION_MINOR}.${LIBSSH_VERSION_PATCH})

	include(FindPackageVersionCheck)
	find_package_version_check(LibSSH DEFAULT_MSG)
      else (LIBSSH_VERSION_MAJOR)
        message(STATUS "LIBSSH_VERSION_MAJOR not found in ${LIBSSH_INCLUDE_DIR}/libssh/libssh.h, assuming libssh is too old")
        set(LIBSSH_FOUND FALSE)
      endif (LIBSSH_VERSION_MAJOR)
    endif (LibSSH_FIND_VERSION)
  endif (SSH_FOUND)

This might be fixed by replacing libssh.h with libssh-version.h - i'll try that later.
Comment 1 Bernard Cafarelli gentoo-dev 2021-10-28 15:10:35 UTC
libssh_version.h sounds like a good alternative indeed, opensuse has this patch:
https://build.opensuse.org/package/view_file/openSUSE:Factory/csync/csync-libssh.patch?expand=1
Comment 2 Larry the Git Cow gentoo-dev 2021-11-04 21:39:27 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d6bab929a994134859507a76342809c72873ac9

commit 2d6bab929a994134859507a76342809c72873ac9
Author:     Ervin Peters <coder@ervnet.de>
AuthorDate: 2021-10-29 06:19:41 +0000
Commit:     Bernard Cafarelli <voyageur@gentoo.org>
CommitDate: 2021-11-04 21:37:33 +0000

    net-misc/csync: fix libssh-version detection
    
    Signed-off-by: Ervin Peters <coder@ervnet.de>
    Bug: https://bugs.gentoo.org/819945
    Closes: https://bugs.gentoo.org/819945
    Package-Manager: Portage-3.0.20, Repoman-3.0.3
    Closes: https://github.com/gentoo/gentoo/pull/22749
    Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>

 net-misc/csync/csync-0.50.0-r2.ebuild              | 49 ++++++++++++++++++++++
 .../csync/files/csync-0.50.0-libssh-version.patch  | 41 ++++++++++++++++++
 2 files changed, 90 insertions(+)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d6bab929a994134859507a76342809c72873ac9

commit 2d6bab929a994134859507a76342809c72873ac9
Author:     Ervin Peters <coder@ervnet.de>
AuthorDate: 2021-10-29 06:19:41 +0000
Commit:     Bernard Cafarelli <voyageur@gentoo.org>
CommitDate: 2021-11-04 21:37:33 +0000

    net-misc/csync: fix libssh-version detection
    
    Signed-off-by: Ervin Peters <coder@ervnet.de>
    Bug: https://bugs.gentoo.org/819945
    Closes: https://bugs.gentoo.org/819945
    Package-Manager: Portage-3.0.20, Repoman-3.0.3
    Closes: https://github.com/gentoo/gentoo/pull/22749
    Signed-off-by: Bernard Cafarelli <voyageur@gentoo.org>

 net-misc/csync/csync-0.50.0-r2.ebuild              | 49 ++++++++++++++++++++++
 .../csync/files/csync-0.50.0-libssh-version.patch  | 41 ++++++++++++++++++
 2 files changed, 90 insertions(+)