GithubHelp home page GithubHelp logo

Comments (8)

dmuhamedagic avatar dmuhamedagic commented on June 19, 2024

I'd vote to revert the commit 1e79b78 as this update would break the existing installations. @davidvossel: David, what do you say? Is that commit really that important?

from resource-agents.

davidvossel avatar davidvossel commented on June 19, 2024

The correct place for this sort of thing is libexec. It's weird that we are putting binary executables (things that are not libraries) in the /usr/lib and /usr/lib64 directories.

My primary reasoning for this change is to avoid the multilib conflicts that arise when building rpms of different architectures. Could we not add something to the build system to optionally place symlinks in the /usr/lib63/heartbeat directory to get around the backwards compatibility issue?

from resource-agents.

dmuhamedagic avatar dmuhamedagic commented on June 19, 2024

On Thu, Oct 10, 2013 at 07:05:49AM -0700, David Vossel wrote:

The correct place for this sort of thing is libexec. It's weird that we are putting binary executables (things that are not libraries) in the /usr/lib and /usr/lib64 directories.

Perhaps Lars would know why that was the case with heartbeat. @lge, do you?

My primary reasoning for this change is to avoid the multilib conflicts that arise when building rpms of different architectures. Could we not add something to the build system to optionally place symlinks in the /usr/lib63/heartbeat directory to get around the backwards compatibility issue?

I think that you're missing the point here. There are heartbeat installations which expect the HA_BIN environment variable which is set in resource-agents to point to the directory where heartbeat's executables are placed. Hence, we cannot change HA_BIN at all. If we do so, the existing installations won't be able to start anymore.

Now whether that's technically right or wrong and how all packages coming from Heartbeat depend on each other is another issue.

from resource-agents.

davidvossel avatar davidvossel commented on June 19, 2024

I didn't realize heartbeat was coupled to resource-agents in that way. I can see why this breaks compatibility (regardless of how bad of an idea I think coupling these two projects like that is)

I guess we'll need a build system option for setting a custom HA_BIN directory then.

from resource-agents.

l-mb avatar l-mb commented on June 19, 2024

I don't think it was an intentional coupling. resource-agents were split out from heartbeat and the two continued to use the same variable. Could, of course, be fixed by having newer versions of resource-agents conflict with older heartbeat versions.

from resource-agents.

dmuhamedagic avatar dmuhamedagic commented on June 19, 2024

On Mon, Oct 14, 2013 at 01:06:13PM -0700, Lars Marowsky-Brée wrote:

I don't think it was an intentional coupling. resource-agents were split out from heartbeat and the two continued to use the same variable.

Right. And this is probably not the only variable. It may take
some serious analysis and quite a bit of time to find out what is
used where. Furthermore, privately developed RA source various
ocf-* scripts, so we should all think twice before moving things
around.

I'm not sure how to solve the multilib problem, I'm not even sure
what is it exactly. And why is it that we never had it before?
Also, on a recent pacemaker I still see
/usr/lib64/pacemaker/crmd.

from resource-agents.

davidvossel avatar davidvossel commented on June 19, 2024

All pacemaker components live in /usr/libexec/pacemaker/, all pacemaker tools live in /usr/sbin/. It has been this way since i started on the project (~2 years) , but it wouldn't surprise me if things were different in the past. Perhaps people are distributing it differently then we are in fedora/rhel for some distros.

The multilib problem boils down to this. We don't want scripts hardcoding references to different library or header locations based on what architecture it is built under. ocf-directories HA_BIN references /usr/lib/heartbeat for 32bit, and /usr/lib64/heartbeat for 64bit.

from resource-agents.

dmuhamedagic avatar dmuhamedagic commented on June 19, 2024

We don't want scripts hardcoding references to different library or header locations based on what architecture it is built under.
Who's "We"? Why was this enforced on upstream when it seems to solve a specific distribution's packaging issue? Can we please have a better argument when breaking existing installations.

from resource-agents.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.