[MDEV-11258] Upgrade CMake on kvm-rpm-centos7-amd64 Created: 2016-11-08  Updated: 2016-11-11  Resolved: 2016-11-11

Status: Closed
Project: MariaDB Server
Component/s: Packaging
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Kolbe Kegel (Inactive) Assignee: Daniel Bartholomew
Resolution: Fixed Votes: 0
Labels: None


 Description   

The AWS key management plugin uses the AWS C++ SDK, which newly requires CMake 2.8.12. EL7 ships CMake 2.8.11, so the plugin can no longer be built there.

Can you upgrade CMake on kvm-rpm-centos7-amd64 so that the AWS key management plugin can be built?



 Comments   
Comment by Elena Stepanova [ 2016-11-09 ]

I don't think it's such a good idea to install non-default build environment on build VMs, it drives us away from reality. We've just seen the consequences of it when it turned out that we've lost the ability to build the server on pristine precise without even knowing about it. I don't think distributions will be happy if it continues to happen.

If the enterprise server really must not build without the AWS plugin, then maybe we should fork the VM images when the "community" ones are not suitable?

Comment by Daniel Bartholomew [ 2016-11-10 ]

serg: Do you have an opinion on this?

For myself, if it's just cmake that is being updated I'm OK with doing it, but elenst makes a good point about our builders moving away from reality.

Comment by Kolbe Kegel (Inactive) [ 2016-11-10 ]

I do not personally have any valuable insight about the right thing to do here. We created that AWS key management plugin some time ago, and initially it was only available on EL7. Now it no longer builds there. I don't like that very much, so I'd like to find a solution that allows us to continue to build and distribute this plugin on EL7.

a) Upgrade cmake on the centos7 builder
b) Patch the SDK so that it does not need CMake 2.8.12 (wlad?)
c) Build this plugin elsewhere

You all have much more knowledge than I do of the build process, its restrictions, ramifications of changes, etc., so I'm relying on you all to help decide what to do here.

Comment by Vladislav Vaintroub [ 2016-11-10 ]

We stay in reality, as there is still cmake 2.8.9 somewhere else. So if we patch it one tiny version number on a single host, nothing bad will happen, my opinion. It is the easiest thing to do. I'm not sure what was that on pristine precise, but cmake is not a compiler just in case.

If we fork the VM images, I don't mind, just think it is overcautious. Patching AWS sources and maybe contribute back. maybe it is possible, but seriously, 2.8.11 belongs to species that will die out soon.

Comment by Sergei Golubchik [ 2016-11-10 ]

what about installing newer cmake in $HOME? Then normal server builds will use cmake, while builds with AWS will use $HOME/bin/cmake (or will simply prepend $HOME/bin to path), and everyone will be happy.

Comment by Vladislav Vaintroub [ 2016-11-11 ]

sounds like a good idea to me, serg

Comment by Elena Stepanova [ 2016-11-11 ]

It's fine by me as well.

Comment by Daniel Bartholomew [ 2016-11-11 ]

cmake 3.7.0 is now in place on the CentOS 7 build VM.

Here are the commands I used to install it:

wget https://cmake.org/files/v3.7/cmake-3.7.0.tar.gz
tar -zxvf cmake-3.7.0.tar.gz
cd cmake-3.7.0
./configure --prefix=/home/buildbot/local
make;make install

And here is how cmake is laid out under /home/buildbot/local/:

[buildbot@centos70-x86-64 ~]$ tree -L 3 ~/local
/home/buildbot/local
├── bin
│   ├── ccmake
│   ├── cmake
│   ├── cpack
│   └── ctest
├── doc
│   └── cmake-3.7
│       ├── cmcompress
│       ├── cmcurl
│       ├── cmlibarchive
│       ├── cmliblzma
│       ├── cmlibuv
│       ├── cmsys
│       ├── cmzlib
│       └── Copyright.txt
└── share
    ├── aclocal
    │   └── cmake.m4
    └── cmake-3.7
        ├── completions
        ├── editors
        ├── Help
        ├── include
        ├── Modules
        └── Templates

Comment by Daniel Bartholomew [ 2016-11-11 ]

BTW: What I've done is an alteration of what serg originally suggested. Instead of installing to $HOME/bin I've installed it to $HOME/local to avoid a common Linux feature of automatically adding $HOME/bin to a user's $PATH if it exists. Such a configuration doesn't exist on the CentOS 7 builder, but it's common enough that I wouldn't rule it out getting added automatically during a future update of the builder, thus the decision to use $HOME/local/bin/ instead.

Comment by Daniel Bartholomew [ 2016-11-11 ]

CMake 3.7.0 installed on vm-centos7-amd64-build VM and buildbot configured so that it is used if the tree is 10.1e or 10.2e. Closing issue.

Generated at Thu Feb 08 07:48:33 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.