I am trying to create cmake 3.25.1 debain package for ubuntu 20.04 as it is not available for ubuntu 20.04. I was able to install all dependencies except python3-sphinxcontrib.qthelp:native as it is not available for ubuntu 20.04. I hope it is fine to skip it as it is used only for cmake documentation and not required for cmake binary.(I have commented out dh_sphinxdoc -pcmake-doc in rules file in debian folder). I also downgraded Jinja2 to 3.0.0 from 3.1.2 due to below error:
ImportError: Error importing plugin "sphinx.testing.fixtures": cannot import name 'contextfunction' from 'jinja2' (/usr/local/lib/python3.8/dist-packages/jinja2/__init__.py)
While packaging CMake (dpkg-buildpackage -rfakeroot -uc -b), I see that lot of tests fail because stderr does not match that expected. I don’t see any mismatch. Only difference I see is the regular expression in the expected text.
eg:-
Expected stderr to match:
expect-err> ^CMake Deprecation Warning at CMakeLists.txt:1 \(cmake_minimum_required\):
expect-err> Compatibility with CMake < 2.8.12 will be removed from a future version of
expect-err> CMake.
expect-err>
expect-err> Update the VERSION argument <min> value or use a ...<max> suffix to tell
expect-err> CMake that the project does not need compatibility with older versions.
expect-err> +
expect-err> CMake Warning \(dev\) in CMakeLists.txt:
expect-err> Policy CMP0019 is not set: Do not re-expand variables in include and link
expect-err> information. Run "cmake --help-policy CMP0019" for policy details. Use
expect-err> the cmake_policy command to set the policy and suppress this warning.
expect-err>
expect-err> The following variable evaluations were encountered:
expect-err>
expect-err> Evaluated directory INCLUDE_DIRECTORIES
expect-err>
expect-err> /usr/include/\${VAR_INCLUDE};/usr/include/normal
expect-err>
expect-err> as
expect-err>
expect-err> /usr/include/VAL_INCLUDE;/usr/include/normal
expect-err>
expect-err> Evaluated target some_target INCLUDE_DIRECTORIES
expect-err>
expect-err> /usr/include/\${VAR_INCLUDE};/usr/include/normal
expect-err>
expect-err> as
expect-err>
expect-err> /usr/include/VAL_INCLUDE;/usr/include/normal
expect-err>
expect-err> Evaluated link directories
expect-err>
expect-err> /usr/lib/\${VAR_LINK_DIRS};/usr/lib/normal
expect-err>
expect-err> as
expect-err>
expect-err> /usr/lib/VAL_LINK_DIRS;/usr/lib/normal
expect-err>
expect-err> Evaluated link library
expect-err>
expect-err> \${VAR_LINK_LIBS}
expect-err>
expect-err> as
expect-err>
expect-err> VAL_LINK_LIBS
expect-err>
expect-err> This warning is for project developers. Use -Wno-dev to suppress it.$
Actual stderr:
actual-err> CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
actual-err> Compatibility with CMake < 2.8.12 will be removed from a future version of
actual-err> CMake.
actual-err>
actual-err> Update the VERSION argument <min> value or use a ...<max> suffix to tell
actual-err> CMake that the project does not need compatibility with older versions.
actual-err>
actual-err>
actual-err> CMake Warning (dev) in CMakeLists.txt:
actual-err> Policy CMP0019 is not set: Do not re-expand variables in include and link
actual-err> information. Run "cmake --help-policy CMP0019" for policy details. Use
actual-err> the cmake_policy command to set the policy and suppress this warning.
actual-err>