mesosphere / mesos-deb-packaging

Mesos package for Debian, Ubuntu, CentOS, RHEL, and Fedora
Other
58 stars 67 forks source link

Added dependency on libcurl4-nss-dev to Debian packaging #69

Closed sgnn7 closed 6 years ago

sgnn7 commented 8 years ago

When building on Ubuntu 15.10, the resulting package has a hard dependency on this lib but it's not listed in the fpm so it has to be manually installed after mesos. Not sure how this affects other debian-based distributions but as-is, the package doesn't work when built for the 15.10 platform

sgnn7 commented 8 years ago

Hmm - seems like https://github.com/mesosphere/mesos-deb-packaging/pull/48 and https://github.com/mesosphere/mesos-deb-packaging/pull/66 cover similar issues that this PR is trying to fix so feel free to close this if it's superfluous to them but please read the rest of the comment before doing so.

Mesos docs for Ubuntu 14.04 state that you need libcurl4-nss-dev as a build dependency so this ends up as a hard .so dependency on installation so I'd probably say that for 14.04+ this patch (or possibly PR#48 though I don't know why libstdc++6 is needed) should be merged.

The difference here between PR#48 is that it doesn't include dependency on libstdc++6 > 5.1 and between PR#66 is that is uses libcurl4-nss-dev vs libcurl3-nss.

sgnn7 commented 8 years ago

PS: I have Docker build scripts that could be extended to other architectures that I could add in another PR to test the other Debian architectures.

travishegner commented 8 years ago

I believe that you are correct that libcurl4-nss-dev is a build dependency, however, in my PR (#66), I'm only depending on libcurl3-nss because that is all that is needed at run time. In my case, I'm not building the deb package on the same node that is running it, so I tried to keep the run time dependencies to a minimum.

My build environment absolutely has libcurl4-nss-dev installed, but I don't believe that is necessary in my run environment, and it brings in a lot of other (potentially unnecessary) dependencies.

sgnn7 commented 8 years ago

@travishegner Fair points and to be honest I didn't investigate this too much but the actual error when running the build specifically mentioned libcurl4. Either way, one of these needs to be merged by the maintainers since as-is things do not work on recent Ubuntu distros.

lingmann commented 8 years ago

@artemharutyunyan have you had a chance to look at this?

sgnn7 commented 8 years ago

@lingmann / @travishegner To help your testing, I've provided the Dockerfiles I've been using to build clean-room mesos.deb for Ubuntu 15.10 though you should point the repo endpoints to mesosphere vs endlessm.

Edit: Files are at https://gist.github.com/sgnn7/c1a1d17bec0ec9e02b5d

If you guys include these in the repo code in some form all I ask is for attribution :)

sgnn7 commented 6 years ago

Closing this PR since the fix got applied already by a different one in https://github.com/mesosphere/mesos-deb-packaging/commit/fbe8f921599749002d07062835db1d869b2a7d0a though I'm curious why this wasn't merged vs the later direct patch with the same content on master. Doesn't matter though.