Hacker News new | ask | show | jobs
by valbaca 618 days ago
> I want every package to ship with all dependencies inside.

Stopping where? python? c libraries? glibc? the kernel?

"all the dependencies" isn't what you think it is

> 2. homebrew often wants to install things I already have, like python.

oh yeah "python" like it's just A Thing You have. nothing has versions and of course every version can execute every code that's ever been written, past and future.

> I don't understand why things are made harder than they should be.

You're just willfully ignoring or not understanding the complexities.

1 comments

> Stopping where?

Where OS provides guarantees. If OS provides guarantee that libc will be there, do not ship libc. If OS provides guarantees that python will be there, do not ship python. If you do ship python, hide it very well, so I'd never even know about it, unless I go out of my way. And it'll never be shared by anything.

Those questions are easy and solved by every commercial software. They need to make those choices and they do make it.

I'm sure you're familiar with versions. What happens when your software depends on a libc that has a function that was removed on the newer version, or added since the previous one? Now older or newer versions of libc don't work with your software, even though they're "there".
Right now I'm downloading "sonoma_bottle" build through the homebrew. So they already build versions for every supported macos version. I'm pretty sure that macos libc will not remove functions in the minor upgrade, and having 2-3 builds for currently supported OSes is not a big deal.