Bug#900240: cmake: FTBFS on hurd-i386

2018-09-16 Thread Gregor Jasny

Hello,

in https://gitlab.kitware.com/cmake/cmake/issues/18337#note_456628 CMake 
upstream suggested to use --system-libuv as additional bootstrap 
argument to use external libuv.


Maybe that would make the patch obsolete and the Debian rules more 
robust because libuv versions in Debian might be better adjusted to all 
of its tartet platforms?


Thanks,
Gregor



Bug#900240: cmake: FTBFS on hurd-i386

2018-08-15 Thread Samuel Thibault
Hello,

Svante Signell, le dim. 12 août 2018 12:59:55 +0200, a ecrit:
> I've been in contact with #cmake. The problem here is that file reports
> ELF 32-bit LSB pie executable,
> but the comparison in Modules/CPackDeb.cmake expects an output of 
> ELF 32-bit LSB shared object
> in its check:
> if(_FILE MATCHES "ELF.*shared object")

Here is the rule for that:

>16 leshort 3   ${x?pie executable:shared object},

and indeed, libtest_lib.so.0.8 have +x, so that's where the difference
comes from and what needs to be fixed.

Samuel



Bug#900240: cmake: FTBFS on hurd-i386

2018-08-14 Thread Samuel Thibault
Hello,

Petter Reinholdtsen, le sam. 11 août 2018 21:09:37 +0200, a ecrit:
> Btw, I had a look at the patch, and perhaps it is better to not depend on 
> lstat(),
> as it fail in files like /proc/*/exe, where size is always 0.  Here is an
> alternative proposal:

Actually we need to push this to libuv itself.  Once it's accepted there,
we can update cmake's copy.  Could you have a look at doing it?

Samuel



Bug#900240: cmake: FTBFS on hurd-i386

2018-08-12 Thread Svante Signell
On Sat, 2018-08-11 at 21:09 +0200, Petter Reinholdtsen wrote:
> [Svante Signell]
> > Currently cmake FTBFS on GNU/Hurd due to a PATH_MAX issue. Attached
> > is
> > the patch path_max.patch also provided by the first attachment in
> > this
> > bug #900240, there named path_max.path. With the attached patch and
> > the
> > upcoming bug report on linux-any, providing
> > Source_Modules_FindLibUV.cmake.diff cmake builds fine. 
> 
> I tested the patch, and it seem to solve the problem.  I hope this
> issue
> can be fixed soon, as the missing cmake is blocking a lot of builds.
> 
> But one of the 496 tests failed:
> 
>   Actual stderr:
> 

>actual-err>   ;/home/pere/cmake-
> 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-
> soversion_not_zero-subtest/data_shlibs/usr/foo/libtest_lib.so.0.8:
>actual-err>   linked,
> BuildID[sha1]=dd4771c7b0eef02c878a458492e8b02797b12a0a, with
>actual-err>   debug_info, not stripped
>actual-err> 
>actual-err>   '; readelf "
>actual-err> 
>actual-err>   "
>actual-err> Call Stack (most recent call first):
>actual-err>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/tests/GENERATE_SHLIBS/VerifyResult.cmake:
> 9 (verifyDebControl)
>actual-err>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake:129 (include)
> 
> Call Stack (most recent call first):
>   /home/pere/cmake-3.12.1/Tests/RunCMake/RunCMake.cmake:164
> (run_cmake)
>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:98
> (run_cmake_command)
>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:123
> (run_cpack_test_common_)
>   /home/pere/cmake-3.12.1/Tests/RunCMake/CPack/RunCMakeTest.cmake:16
> (run_cpack_test_subtests)
> 
> 
> -- GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type - PASSED
> -- GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type-Build -
> PASSED
> CMake Error at /home/pere/cmake-
> 3.12.1/Tests/RunCMake/RunCMake.cmake:150 (message):
>   DEB/GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type - FAILED:
> 
>   Result is [1], not [0].
> 
>   stderr does not match that expected.
> 
>   Command was:
> 
>command> "/home/pere/cmake-3.12.1/Build/bin/cmake" "-
> DRunCMake_TEST=GENERATE_SHLIBS-soversion_zero-subtest-COMPONENT-type" 
> "-DRunCMake_TEST_FILE_PREFIX=GENERATE_SHLIBS" "-
> DRunCMake_SUBTEST_SUFFIX=soversion_zero" "-DGENERATOR_TYPE=DEB" "-
> DPACKAGING_TYPE=COMPONENT" "-Dsrc_dir=/home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack" "-Dbin_dir=/home/pere/cmake-
> 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-
> soversion_zero-subtest" "-Dconfig_file=/home/pere/cmake-
> 3.12.1/Build/Tests/RunCMake/CPack/conf/DEB_config.cmake" "-P"
> "/home/pere/cmake-3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake"
> 
>   Actual stdout:
> 
>actual-out> 
> 
>   Expected stderr to match:
> 
>expect-err> ^$
> 
>   Actual stderr:
> 
>actual-err> CMake Error at /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/DEB/Helpers.cmake:144 (message):
>actual-err>   Expected Debian control file does not exist:
> 'shlibs' Extra: install files
>actual-err>   '/home/pere/cmake-
> 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-
> soversion_zero-subtest/data_shlibs/usr/foo/libtest_lib.so:
>actual-err>   symbolic link to libtest_lib.so.0
>actual-err> 
>actual-err>   
>actual-err>   ;/home/pere/cmake-
> 3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-
> soversion_zero-subtest/data_shlibs/usr/foo/libtest_lib.so.0:
>actual-err>   ELF 32-bit LSB pie executable, Intel 80386, version
> 1 (SYSV), dynamically
>actual-err>   linked,
> BuildID[sha1]=38ff16f7199f1977d05e2eed1242c7c88a383db6, with
>actual-err>   debug_info, not stripped
>actual-err> 
>actual-err>   '; readelf "
>actual-err> 
>actual-err>   "
>actual-err> Call Stack (most recent call first):
>actual-err>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/tests/GENERATE_SHLIBS/VerifyResult.cmake:
> 9 (verifyDebControl)
>actual-err>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake:129 (include)
> 
> Call Stack (most recent call first):
>   /home/pere/cmake-3.12.1/Tests/RunCMake/RunCMake.cmake:164
> (run_cmake)
>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:98
> (run_cmake_command)
>   /home/pere/cmake-
> 3.12.1/Tests/RunCMake/CPack/CPackTestHelpers.cmake:123
> (run_cpack_test_common_)
>   /home/pere/cmake-3.12.1/Tests/RunCMake/CPack/RunCMakeTest.cmake:16
> (run_cpack_test_subtests)
> 
> 
> -- GENERATE_SHLIBS_LDCONFIG-COMPONENT-type - PASSED
> -- GENERATE_SHLIBS_LDCONFIG-COMPONENT-type-Build - PASSED
> CMake Error at /home/pere/cmake-
> 3.12.1/Tests/RunCMake/RunCMake.cmake:150 (message):
>   DEB/GENERATE_SHLIBS_LDCONFIG-COMPONENT-type - FAILED:
> 
>   Result is [1], not [0].
> 
>   stderr does not match that expected.
> 
>   Command was:
> 
>command> "/home/pere/cmake-3.12.1/Build/bin/cmake" "-
> 

Bug#900240: cmake: FTBFS on hurd-i386

2018-08-11 Thread Petter Reinholdtsen
[Svante Signell]
> Currently cmake FTBFS on GNU/Hurd due to a PATH_MAX issue. Attached is
> the patch path_max.patch also provided by the first attachment in this
> bug #900240, there named path_max.path. With the attached patch and the
> upcoming bug report on linux-any, providing
> Source_Modules_FindLibUV.cmake.diff cmake builds fine. 

I tested the patch, and it seem to solve the problem.  I hope this issue
can be fixed soon, as the missing cmake is blocking a lot of builds.

But one of the 496 tests failed:

426/496 Test #426: RunCMake.CPack_DEB 
.***Failed  136.49 sec
-- CUSTOM_NAMES-COMPONENT-type - PASSED
-- CUSTOM_NAMES-COMPONENT-type-Build - PASSED
-- DEB/CUSTOM_NAMES-COMPONENT-type - PASSED
-- DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-MONOLITHIC-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-MONOLITHIC-type - PASSED
-- DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-COMPONENT-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-CMAKE_var_set-subtest-COMPONENT-type - PASSED
-- DEFAULT_PERMISSIONS-CPACK_var_set-subtest-MONOLITHIC-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-CPACK_var_set-subtest-MONOLITHIC-type - PASSED
-- DEFAULT_PERMISSIONS-CPACK_var_set-subtest-COMPONENT-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-CPACK_var_set-subtest-COMPONENT-type - PASSED
-- DEFAULT_PERMISSIONS-both_set-subtest-MONOLITHIC-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-both_set-subtest-MONOLITHIC-type - PASSED
-- DEFAULT_PERMISSIONS-both_set-subtest-COMPONENT-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-both_set-subtest-COMPONENT-type - PASSED
-- DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-MONOLITHIC-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-MONOLITHIC-type - PASSED
-- DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-COMPONENT-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-invalid_CMAKE_var-subtest-COMPONENT-type - PASSED
-- DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-MONOLITHIC-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-MONOLITHIC-type - PASSED
-- DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-COMPONENT-type - PASSED
-- DEB/DEFAULT_PERMISSIONS-invalid_CPACK_var-subtest-COMPONENT-type - PASSED
-- DEPENDENCIES-COMPONENT-type - PASSED
-- DEPENDENCIES-COMPONENT-type-Build - PASSED
-- DEB/DEPENDENCIES-COMPONENT-type - PASSED
-- EMPTY_DIR-MONOLITHIC-type - PASSED
-- EMPTY_DIR-MONOLITHIC-type-Build - PASSED
-- DEB/EMPTY_DIR-MONOLITHIC-type - PASSED
-- EMPTY_DIR-COMPONENT-type - PASSED
-- EMPTY_DIR-COMPONENT-type-Build - PASSED
-- DEB/EMPTY_DIR-COMPONENT-type - PASSED
-- VERSION-MONOLITHIC-type - PASSED
-- DEB/VERSION-MONOLITHIC-type - PASSED
-- VERSION-COMPONENT-type - PASSED
-- DEB/VERSION-COMPONENT-type - PASSED
-- EXTRA-COMPONENT-type - PASSED
-- DEB/EXTRA-COMPONENT-type - PASSED
-- GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type - PASSED
-- GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type-Build - PASSED
CMake Error at /home/pere/cmake-3.12.1/Tests/RunCMake/RunCMake.cmake:150 
(message):
  DEB/GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type - FAILED:

  Result is [1], not [0].

  stderr does not match that expected.

  Command was:

   command> "/home/pere/cmake-3.12.1/Build/bin/cmake" 
"-DRunCMake_TEST=GENERATE_SHLIBS-soversion_not_zero-subtest-COMPONENT-type" 
"-DRunCMake_TEST_FILE_PREFIX=GENERATE_SHLIBS" 
"-DRunCMake_SUBTEST_SUFFIX=soversion_not_zero" "-DGENERATOR_TYPE=DEB" 
"-DPACKAGING_TYPE=COMPONENT" 
"-Dsrc_dir=/home/pere/cmake-3.12.1/Tests/RunCMake/CPack" 
"-Dbin_dir=/home/pere/cmake-3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-soversion_not_zero-subtest"
 
"-Dconfig_file=/home/pere/cmake-3.12.1/Build/Tests/RunCMake/CPack/conf/DEB_config.cmake"
 "-P" "/home/pere/cmake-3.12.1/Tests/RunCMake/CPack/VerifyResult.cmake"

  Actual stdout:

   actual-out> 

  Expected stderr to match:

   expect-err> ^$

  Actual stderr:

   actual-err> CMake Error at 
/home/pere/cmake-3.12.1/Tests/RunCMake/CPack/DEB/Helpers.cmake:144 (message):
   actual-err>   Expected Debian control file does not exist: 'shlibs' Extra: 
install files
   actual-err>   
'/home/pere/cmake-3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-soversion_not_zero-subtest/data_shlibs/usr/foo/libtest_lib.so:
   actual-err>   symbolic link to libtest_lib.so.0.8
   actual-err> 
   actual-err>   
   actual-err>   
;/home/pere/cmake-3.12.1/Build/Tests/RunCMake/DEB/CPack/GENERATE_SHLIBS-build-soversion_not_zero-subtest/data_shlibs/usr/foo/libtest_lib.so.0.8:
   actual-err>   ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), 
dynamically
   actual-err>   linked, 
BuildID[sha1]=dd4771c7b0eef02c878a458492e8b02797b12a0a, with
   actual-err>   debug_info, not stripped
   actual-err> 
   actual-err>   '; readelf "
   actual-err> 
   actual-err>   "
   actual-err> Call Stack (most recent call first):
   actual-err>   
/home/pere/cmake-3.12.1/Tests/RunCMake/CPack/tests/GENERATE_SHLIBS/VerifyResult.cmake:9
 (verifyDebControl)
   actual-err>  

Bug#900240: cmake: FTBFS on hurd-i386

2018-07-31 Thread Svante Signell
retitle 900240 cmake: FTBFS on hurd-i386 due to a PATH_MAX issue 
thanks

Hello,

Currently cmake FTBFS on GNU/Hurd due to a PATH_MAX issue. Attached is
the patch path_max.patch also provided by the first attachment in this
bug #900240, there named path_max.path. With the attached patch and the
upcoming bug report on linux-any, providing
Source_Modules_FindLibUV.cmake.diff cmake builds fine. 

Thanks!Index: cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c
===
--- cmake-3.11.2.orig/Utilities/cmlibuv/src/unix/fs.c
+++ cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c
@@ -427,6 +427,7 @@ static ssize_t uv__fs_scandir(uv_fs_t* r
 }
 
 
+#if _POSIX_VERSION < 200809L
 static ssize_t uv__fs_pathmax_size(const char* path) {
   ssize_t pathmax;
 
@@ -442,12 +443,19 @@ static ssize_t uv__fs_pathmax_size(const
 
   return pathmax;
 }
+#endif
 
 static ssize_t uv__fs_readlink(uv_fs_t* req) {
   ssize_t len;
   char* buf;
+  struct stat st;
+  int ret;
 
-  len = uv__fs_pathmax_size(req->path);
+  ret = lstat(req->path, );
+  if (ret != 0) {
+return -1;
+  }
+  len = st.st_size;
   buf = uv__malloc(len + 1);
 
   if (buf == NULL) {
@@ -474,9 +482,16 @@ static ssize_t uv__fs_readlink(uv_fs_t*
 }
 
 static ssize_t uv__fs_realpath(uv_fs_t* req) {
-  ssize_t len;
   char* buf;
 
+#if _POSIX_VERSION >= 200809L
+  buf = realpath(req->path, NULL);
+  if (buf == NULL) {
+return -1;
+  }
+#else
+  ssize_t len;
+
   len = uv__fs_pathmax_size(req->path);
   buf = uv__malloc(len + 1);
 
@@ -489,6 +504,7 @@ static ssize_t uv__fs_realpath(uv_fs_t*
 uv__free(buf);
 return -1;
   }
+#endif
 
   req->ptr = buf;
 


Bug#900240: cmake: FTBFS on hurd-i386: please update cmlibuv

2018-05-27 Thread Samuel Thibault
Package: cmake
Version: 3.11.2-1
Severity: important
Tags: patch

Hello,

Once libuv1 will be fixed (#881882), cmake will still FTBFS, because the
cmake build still builds the embedded libuv. The attached patch updates
it to the patch applied to libuv1, to fix the FTBFS.

Samuel

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'stable-debug'), (500, 'oldoldstable'), (500, 
'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 
'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.15.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages cmake depends on:
ii  cmake-data3.11.2-1
ii  libarchive13  3.2.2-3.1
ii  libc6 2.27-3
ii  libcurl3  7.58.0-2
ii  libexpat1 2.2.5-3
ii  libgcc1   1:8.1.0-3
ii  libjsoncpp1   1.7.4-3
ii  librhash0 1.3.6-2
ii  libstdc++68.1.0-3
ii  libuv11.18.0-3
ii  procps2:3.3.14-1+b1
ii  zlib1g1:1.2.11.dfsg-1

Versions of packages cmake recommends:
ii  gcc   4:7.2.0-1d1
ii  make  4.1-9.1

Versions of packages cmake suggests:
pn  cmake-doc
ii  ninja-build  1.8.2-1

-- no debconf information

-- 
Samuel
 FYLG> Tiens, vlà une URL qui va bien :
 FYLG> ftp://127.0.0.1/WaReZ/NiouZeS/WinDoZe/NeWSMoNGeR/SuPeR
 c'est gentil sauf que l'adresse ne fonctionne pas sa me fais une erreur
 -+- Furtif in Guide du Neuneu Usenet :  -+-
Index: cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c
===
--- cmake-3.11.2.orig/Utilities/cmlibuv/src/unix/fs.c
+++ cmake-3.11.2/Utilities/cmlibuv/src/unix/fs.c
@@ -427,6 +427,7 @@ static ssize_t uv__fs_scandir(uv_fs_t* r
 }
 
 
+#if _POSIX_VERSION < 200809L
 static ssize_t uv__fs_pathmax_size(const char* path) {
   ssize_t pathmax;
 
@@ -442,12 +443,19 @@ static ssize_t uv__fs_pathmax_size(const
 
   return pathmax;
 }
+#endif
 
 static ssize_t uv__fs_readlink(uv_fs_t* req) {
   ssize_t len;
   char* buf;
+  struct stat st;
+  int ret;
 
-  len = uv__fs_pathmax_size(req->path);
+  ret = lstat(req->path, );
+  if (ret != 0) {
+return -1;
+  }
+  len = st.st_size;
   buf = uv__malloc(len + 1);
 
   if (buf == NULL) {
@@ -474,9 +482,16 @@ static ssize_t uv__fs_readlink(uv_fs_t*
 }
 
 static ssize_t uv__fs_realpath(uv_fs_t* req) {
-  ssize_t len;
   char* buf;
 
+#if _POSIX_VERSION >= 200809L
+  buf = realpath(req->path, NULL);
+  if (buf == NULL) {
+return -1;
+  }
+#else
+  ssize_t len;
+
   len = uv__fs_pathmax_size(req->path);
   buf = uv__malloc(len + 1);
 
@@ -489,6 +504,7 @@ static ssize_t uv__fs_realpath(uv_fs_t*
 uv__free(buf);
 return -1;
   }
+#endif
 
   req->ptr = buf;