[FFe] [merge request] Import cmake-3.5 series to Ubuntu Xenial 16.04LTS

Bug #1534263 reported by Jose Luis Rivero
26
This bug affects 3 people
Affects Status Importance Assigned to Milestone
cmake (Ubuntu)
Fix Released
High
Unassigned

Bug Description

Latest stable upstream release. New 3.4 series which brings nice features with respect to current version in Xenial. It has been in debian-sid for more than one month and I can not find any bug related to this latest version.

It builds just fine in my Xenial PPA:
https://launchpad.net/~j-rivero/+archive/ubuntu/cmake-3.4-xenial

Regarding to the building issues in armhf, arm64 and powerpc in the 3.3 series, I see that 3.4 debian packages compiles in all them (https://packages.debian.org/sid/cmake) so probably they are now fixed.

I was close to submit the standard requestsync but just realized that we probably want to keep a set of specific ubuntu patches. The requestsync displayed me this message:

---------------- 8< ----------------------------------------
Explanation of the Ubuntu delta and why it can be dropped:
  * Cherry-pick upstream commit fe558718b30da989db8b880374012a0e580574e6
    to fix test suite failure with new file.
  * Cherrypick Features_Extract_strings_from_test_binary_more_reliably.patch
    from Debian to fix test-suite errors.
  * Revert back to 3.2.2, build issues on armhf, arm64 and powerpc.
  * Merge with Debian; remaining changes:
    - debian/cmake-data.install
      debian/MultiArchCross.cmake
      debian/patches/ubuntu_cmake-crosscompile.patch
      Add MultiArchCross.cmake to installed files.
      (help cmake to find libraries in multiarch path)
      xnox says this is not yet ready to go upstream but he will work on it
    - debian/patches/ubuntu_boost-multiarch.patch
      find boost and python in multiarch path
      this is a candidate for removal but needs rdepend testing
  * Search for Python 3.5.

---------------- 8< ----------------------------------------

So: can we go with a normal requestsync? Is there any patches that needs to be migrated? I'm available to get some work done if needed.

Thanks.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in cmake (Ubuntu):
status: New → Confirmed
Revision history for this message
Michi Henning (michihenning) wrote :

After pulling trunk and looking at the commit log, I see this as the final commit:

revno: 15302
committer: king
timestamp: Mon 2010-02-22 18:31:57 +0000
message:
  CMake has moved!

  See

    http://www.cmake.org/cmake/resources/software.html#dev

  for details. This source tree comes from the legacy CVS repository at

    :pserver:<email address hidden>:/cvsroot/CMake

  and exists only to report this message.

  The legacy repository is no longer maintained. Old versions are still
  available by date- or tag-based checkout, but the new repository is
  preferred.

This code is almost six (!) years old.

Looking at https://code.launchpad.net/~vcs-imports/cmake/trunk

it shows:

Last successful import was 4 hours ago.
[Success with no changes] Import started 4 hours ago on russkaya and finished 4 hours ago taking 3 minutes — see the log

So, it looks like that ancient version is being re-imported endlessly?

Changed in cmake (Ubuntu):
importance: Undecided → High
Revision history for this message
Michi Henning (michihenning) wrote :

It also looks like this version causes problems. It does not work with ccache (older version, such as 3.0.2, did), and it does not permit changing the CMAKE_CXX_COMPILER variable from ccmake. See https://public.kitware.com/Bug/view.php?id=15937

Revision history for this message
Dirk Thomas (dthomas-b) wrote :

The ticket you mentioned is filled against CMake 3.2.2. Wily already contains that version (http://packages.ubuntu.com/wily/cmake). So I don't see why this would be a reason ont to release a newer version into Xenial?

Revision history for this message
combieone (u9yo1ovjgfwe28r1) wrote :

Yes, please update CMake to the newest version (3.4 currently) for 16.04. See also #1540169. It would be a big fail not to do so.

summary: - Import cmake-3.4 series to Ubuntu Xenial
+ [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS
tags: added: upgrade-software-version
Revision history for this message
Dirk Thomas (dthomas-b) wrote : Re: [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS

Any chance this makes it before the upcoming freeze in two days?

Revision history for this message
Jose Luis Rivero (j-rivero) wrote :

cmake-3.4 series went into debian unstable so it is probably a good moment to sync:
https://packages.debian.org/source/testing/cmake

Revision history for this message
Dirk Thomas (dthomas-b) wrote : Re: [Bug 1534263] Re: [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS

But how does the sync happen? Is it for sure going to happen before the
freeze?

- Dirk

On Tue, Feb 16, 2016 at 2:00 PM, Jose Luis Rivero <<email address hidden>
> wrote:

> cmake-3.4 series went into debian unstable so it is probably a good moment
> to sync:
> https://packages.debian.org/source/testing/cmake
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1534263
>
> Title:
> [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS
>
> Status in cmake package in Ubuntu:
> Confirmed
>
> Bug description:
> Latest stable upstream release. New 3.4 series which brings nice
> features with respect to current version in Xenial. It has been in
> debian-sid for more than one month and I can not find any bug related
> to this latest version.
>
> It builds just fine in my Xenial PPA:
> https://launchpad.net/~j-rivero/+archive/ubuntu/cmake-3.4-xenial
>
> Regarding to the building issues in armhf, arm64 and powerpc in the
> 3.3 series, I see that 3.4 debian packages compiles in all them
> (https://packages.debian.org/sid/cmake) so probably they are now
> fixed.
>
> I was close to submit the standard requestsync but just realized that
> we probably want to keep a set of specific ubuntu patches. The
> requestsync displayed me this message:
>
> ---------------- 8< ----------------------------------------
> Explanation of the Ubuntu delta and why it can be dropped:
> * Cherry-pick upstream commit fe558718b30da989db8b880374012a0e580574e6
> to fix test suite failure with new file.
> * Cherrypick
> Features_Extract_strings_from_test_binary_more_reliably.patch
> from Debian to fix test-suite errors.
> * Revert back to 3.2.2, build issues on armhf, arm64 and powerpc.
> * Merge with Debian; remaining changes:
> - debian/cmake-data.install
> debian/MultiArchCross.cmake
> debian/patches/ubuntu_cmake-crosscompile.patch
> Add MultiArchCross.cmake to installed files.
> (help cmake to find libraries in multiarch path)
> xnox says this is not yet ready to go upstream but he will work on
> it
> - debian/patches/ubuntu_boost-multiarch.patch
> find boost and python in multiarch path
> this is a candidate for removal but needs rdepend testing
> * Search for Python 3.5.
>
> ---------------- 8< ----------------------------------------
>
> So: can we go with a normal requestsync? Is there any patches that
> needs to be migrated? I'm available to get some work done if needed.
>
> Thanks.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/ubuntu/+source/cmake/+bug/1534263/+subscriptions
>

summary: - [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS
+ [FFe] [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS
Revision history for this message
Martin Pitt (pitti) wrote : Re: [FFe] [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS

Setting to incomplete until someone familiar with cmake can investigate whether this is desirable at this point and how much of the delta we still need. Please also note that merely building cmake itself is by far not sufficient -- there needs to be some test builds of sources that use cmake with the new version.

Changed in cmake (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
combieone (u9yo1ovjgfwe28r1) wrote :

I'm not familiar with building or syncing Ubuntu packages, but I just want to stress the importance of this. 16.04 is a big LTS release and an old CMake version will cause lots of problem for people distributing C++ source code. Please, update to CMake 3.4. There are so many important changes between 3.2 and 3.4.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

Today 3.5 has been uploaded in debian.

Revision history for this message
Jose Luis Rivero (j-rivero) wrote :

My analysis of the delta between the patches in Ubuntu 3.3.2is3.2.2 (current in Xenial) and Debian 3.5.0:

[[ Patches in 3.3.2is3.2.2 than can be removed ]]

 * cpack-doc-typo.patch (fixed in upstream code)
 * openjdk-8-detection.patch (fixed in upstream code, it was a commit cherry-picked)
 * custom-sphinx-flags.patch (fixed in upstream code, it was a commit cherry-picked)
 * protect-tests-from-makeflags.patch (fixed in upstream code, it was a commit cherry-picked)
 * FindJNI.cmake.mips.patch (fixed in upstream code)
 * fix-hdf5-hl.patch (fixed in upstream code)
 * fix-mips-endian.patch (code was moved to Utilities/KWIML/include/kwiml/abi.h but changes are now in upstream)
 * upstream_findpkgconfig.diff (fixed in upstream code)

[[ Patches in debian 3.5.0 that will stay in Ubuntu 3.5.0 ]]

 * FindBoost_add_-lpthread_#563479.diff (in debian 3.5.0)
 * qt_import_dir_variable.diff (in debian 3.5.0)
 * fix-ftbfs-on-kfreebsd.patch (in debian 3.5.0)

[[ Patches in Ubuntu 3.3.2is3.2.2 that needs to be updated ]]

 * ubuntu_boost-multiarch.patch
 - needs to be ported to the new upstream code
 * ubuntu_cmake-crosscompile.patch
 - needs to be ported to the new upstream code

I've updated these last two patches, include them with in the debian 3.5.0 package and built in the Xenial PPA:
https://launchpad.net/~j-rivero/+archive/ubuntu/cmake-3.4-xenial/+build/9386917

Revision history for this message
Philip Muškovac (yofel) wrote :

I had done a no-change rebuild of the ~260 core kde packages against the debian 3.5 package in yofel/staging4, and other than a couple deprecation warning I see no problems.
As the kde developers always use a recent version of cmake for development there shouldn't be any issues for Kubuntu.

Revision history for this message
Martin Pitt (pitti) wrote :

Thanks Jose and Philip for your investigations! This, and cmake 3.4 being in Debian since November are convincing enough, FFE approved. Please try and upload this as soon as possible, so that there's still enough time to fix some potential fallout. Thanks!

Changed in cmake (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Dirk Thomas (dthomas-b) wrote :

I tried to test the ~1500 downstream packages of CMake to see if the new version has any generic problems.

I setup a pair of jobs for each of them. One builds the package with the standard CMake version of Xenial, the other uses the CMake 3.5 package fomr Joses PPA. The build steps these jobs perform as well as how I set them up are described here: https://github.com/dirk-thomas/ubuntu_xenial_cmake

While our build farm hasn't finsihed all of the 3k jobs yet the results looks promising. All ran jobs have a consistent result with the different CMake version - not a single one of the 900 pairs already finished diverge: http://54.183.26.131:8080/view/UbuntuCMake/
This job provides an easier to read summary: http://54.183.26.131:8080/view/UbuntuCMake/job/_dashboard_ubuntu_cmake/

Should we move forward and use the CMake 3.5 package form Joses PPA instead of 3.4?

Revision history for this message
Jose Luis Rivero (j-rivero) wrote :

Please note that my research and reduction of delta and Dirk's + Phillip's massive rebuilds are using cmake-3.5 although the tittle of the issue refers to 3.4. Looking at the debian issue tracker, I can not see any bug referring only to the new 3.5 version.

Revision history for this message
Martin Pitt (pitti) wrote :

Right, let's bump to 3.5 right away then, as that's what Dirk is testing. Thanks Dirk, this is great!

summary: - [FFe] [merge request] Import cmake-3.4 series to Ubuntu Xenial 16.04LTS
+ [FFe] [merge request] Import cmake-3.5 series to Ubuntu Xenial 16.04LTS
Revision history for this message
Dirk Thomas (dthomas-b) wrote :

Am I right that the remaining task is for the release team to select the CMake 3.5 package from Joses PPA and no further action is required by us?

What is the timeline on this then? It is kind of urgent to get this in (any day more for testing is good) but this has been stale for 4 days again.

Revision history for this message
Martin Pitt (pitti) wrote :

What about debian/MultiArchCross.cmake, why is that not necessary any more?

Revision history for this message
Martin Pitt (pitti) wrote :

I cleaned up the changelog for the merge and uploaded to xenial-proposed, so that new builds of packages will be done with 3.5 from now on. However, I'll add the block-proposed tag until the fate of MultiArchCross.make has been understood -- this will prevent the package from actually landing in xenial for the time being.

Thanks Jose!

tags: added: block-proposed
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

when I did the work some releases ago, the patch was needed, but this makes some packages build successfully in Ubuntu but not in Debian

(going just with my memory) something like this one https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=807763 had this issue.

The above package should be in xenial, so if it builds with the new cmake it might mean the patch is useless now.

(I might be wrong, never looked at 3.5 code, and I'm not sure the delta causing the issue is the above mentioned patch, however in the bug report I did some checks and found the reason of the breakage. You might save some time by reading it)

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

I took tomahawk-player from xenial new queue [1]
I tried a build with pbuilder sid and pbuilder xenial.
They *now* failed both with the same error message (can't find libraries, because they are in usr/lib and not usr/lib/{triplet})

-- Installing: /build/tomahawk-player-0.8.4+dfsg1/debian/tmp/usr/lib/libtomahawk_configstorage_telepathy_kde.so

so, even if I don't know how many packages relies on that file, I know for sure it shouldn't be dropped at this point of xenial freeze.

Attached the patch that restores the file, and makes tomahawk build successfully again.

you can see the build against the borked cmake here
https://launchpad.net/~costamagnagianfranco/+archive/ubuntu/locutusofborg-ppa/
I uploaded the fixed one some seconds ago, and I'll retry the build when it finishes.
Locally this test has been successful, and since I already did the same some time ago for sponsoring the package in Debian, I would reapply it.

Note: I have been having the same discussion in my previous merge from Debian
1459727 (probably on irc #ubuntu-devel)

at the end...

please sponsor it!

[1] https://launchpad.net/ubuntu/xenial/+queue

Revision history for this message
Jose Luis Rivero (j-rivero) wrote :

You are right guys, I've reviewed the patches but missed the added file inside the debian directory, it is used by the patch 'ubuntu_cmake-crosscompile.patch' and we probably did not get it in our massive rebuild because we did not run a cross compilation. Sorry about that.

I'm updating the version on my PPA right now.

Revision history for this message
Martin Pitt (pitti) wrote :

Thanks Gianfranco, this indeed looks more plausible. Sponsored.

Changed in cmake (Ubuntu):
status: Confirmed → Fix Committed
tags: removed: block-proposed
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

anytime Martin, I'm happy to contribute a little bit to my favourite tool in Linux :)

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package cmake - 3.5.0-1ubuntu1

---------------
cmake (3.5.0-1ubuntu1) xenial; urgency=medium

  * Merge from Debian unstable (LP: #1534263). Remaining changes:
    - debian/patches/ubuntu_cmake-crosscompile.patch:
      help cmake to find libraries in multiarch path
      xnox says this is not yet ready to go upstream but he will work on it
    - debian/patches/ubuntu_boost-multiarch.patch
      find boost and python in multiarch path
      this is a candidate for removal but needs rdepend testing

cmake (3.5.0-1) unstable; urgency=medium

  * New upstream release.
    - Fixes fltk_wrap_ui segmentation fault. (Closes: #809535)
  * Pass correct buildsystem to dh_auto_test, fixes FTBFS. (Closes: #818040)
  * Change Vcs-* and Homepage to https URLs.
  * Migrate to dbgsym debug package.

cmake (3.4.1-2) unstable; urgency=medium

  * Upload to unstable.

cmake (3.4.1-1) experimental; urgency=medium

  * New upstream release.

cmake (3.4.0-1) experimental; urgency=medium

  * New upstream release.
  * Drop patches that have been applied upstream:
    - FindJNI.cmake.mips.patch
    - fix-hdf5-hl.patch
    - FindJNI-Add-support-for-x32-architecture-on-Linux.patch
    - Features_Extract_strings_from_test_binary_more_reliably.patch
    - FindPkgConfig_remove_variable_dereference.patch
    - FindPython_Add_versions_3.5_and_3.6.patch
  * Point watch file to the https URL.
  * Stop hardcoding the major version in cmake-data.install.
  * Remove upgrade maintainer scripts from before wheezy.

cmake (3.3.2-2) unstable; urgency=medium

  * Search for Python 3.5 and 3.6. (Closes: #802826)
    - Add FindPython_Add_versions_3.5_and_3.6.patch
  * Add tighter build-depends on dpkg-dev and debhelper for Build-Profiles
    support.

cmake (3.3.2-1) unstable; urgency=medium

  * Upload to unstable.
  * New upstream release.
  * Drop Debian menu entries.
  * Make compiler feature testing more reliable.
    - Fixes testsuite failure on alpha. (Closes: #789807)
    - Features_Extract_strings_from_test_binary_more_reliably.patch
  * Fix FindPkgConfig when no minimum version has been set.
    - FindPkgConfig_remove_variable_dereference.patch
  * Remove inactive uploaders from the list.

cmake (3.3.1-2) experimental; urgency=medium

  * Set the team mailing list as maintainer.
  * Add a stage1 build profile that disables building cmake-qt-gui.
    (Closes: #738161)
  * Add autopkgtests which run the upstream testsuite against the system cmake.
  * Add support for x32 in FindJNI. (Closes: #792262)
    - FindJNI-Add-support-for-x32-architecture-on-Linux.patch

cmake (3.3.1-1) experimental; urgency=medium

  * New upstream release.
    - Fixes bashism in Modules/Squish4RunTestCase.sh. (Closes: #772218)
  * Drop patches that have been applied upstream:
    - cpack-doc-typo.patch
    - protect-tests-from-makeflags.patch
    - custom-sphinx-flags.patch
    - fix-mips-endian.patch
    - openjdk-8-detection.patch
  * Move bash_completion from /etc to /usr/share.
    - Stop using dh_bash-completion. It still installs files to /etc and
      dh_install works just fine.

 -- Jose Luis Rivero <email address hidden> Tue, 22 Mar 2016 17:33:09 +0100

Changed in cmake (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

we got the first bug report because of cmake 3.5
LP: 1563548

maybe the ubuntu2 fixes this issue.

Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

I opened #1563580 to track/seek sponsors for 3.5.1 that had already the upstream fixes for two issues.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.