JuliaCI / julia-buildbot

Buildbot configuration for build.julialang.org
MIT License
18 stars 14 forks source link

install cmake in julia-nightlies.spec #7

Closed tkelman closed 9 years ago

tkelman commented 9 years ago

cc @nalimilan

If new enough versions of libgit2 are available in all the distros this builds for, probably want to turn on USE_SYSTEM_LIBGIT2.

nalimilan commented 9 years ago

Wait, this is only to build libgit2? Then I prefer using libgit2 distro packages. I'll backport packages for distros that don't have recent enough versions (just like I did for other dependencies).

tkelman commented 9 years ago

Wait, this is only to build libgit2?

At the moment. Also for some custom libcxx stuff in LLVM that isn't default and I think only Keno uses.

Then I prefer using libgit2 distro packages. I'll backport packages for distros that don't have recent enough versions (just like I did for other dependencies).

Perfect. I believe if USE_SYSTEM_LIBGIT2 is enabled, then you shouldn't need cmake to build, but open an issue if not. It sounds like we are going to require v0.21.0 or newer of libgit2.

nalimilan commented 9 years ago

OK, I'll have a look.

nalimilan commented 9 years ago

I've packaged libgit2 where it was too old, and updated the .spec file (https://github.com/staticfloat/julia-buildbot/commit/47e0053732b62342e05c824641252800f924dc7a). Now it works, though unfortunately we cannot enable SSH on RHEL5, libssh2 is too old there. I could package a newer version of it, but I'm not comfortable with updating such a security-critical part of the OS when people just want to try Julia. Not sure there's a good solution here, except bundling libssh2 with libgit2.

tkelman commented 9 years ago

I've packaged libgit2 where it was too old, and updated the .spec file (47e0053).

@nalimilan awesome, great work! You probably want to leave git in the Requires: for now, until the libgit2 Pkg rewrite is completely finished.

Now it works, though unfortunately we cannot enable SSH on RHEL5, libssh2 is too old there. I could package a newer version of it, but I'm not comfortable with updating such a security-critical part of the OS when people just want to try Julia. Not sure there's a good solution here, except bundling libssh2 with libgit2.

Yikes, yeah I wouldn't want to get into the business of building that library either. What was the problem with the version that's available there? Don't they keep that library fairly well-updated for security issues? Is there a reputable source like the devtoolset that could provide a good frequently-updated place to get it from? Otherwise we might have to update our "lowest-common-denominator" for generic Linux binary building to CentOS/RHEL 6.

nalimilan commented 9 years ago

(Believe it or not, I had this comment open in a tab for months:)

I haven't investigated too much, but I've found posts stating that the symbol I needed wasn't present in that libssh2 version (the error is 'LIBSSH2_AGENT' undeclared, apparently we need version 1.2.2). I guess Red Hat only backports security fixes, not API changes. And no, I haven't found an alternative version anywhere.

tkelman commented 9 years ago

Maybe we can ask the libgit2 devs if they have any recommendations. At this point it's looking highly likely that 0.4 will ship without a libgit2-based package manager (unless someone starts working on it full time within the next few weeks/months...), so we will probably just disable the build of libgit2 and the test for it after we branch. That's my guess for now, we'll ask Stefan for his opinion when things get closer to ready.