Live data from Hacker News

Baseline Mac OS X Support merged into FreeBSD package manager

github.com

31–40 of 61 posts

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#31

Earlier quoted context omitted.

It's a binary package manager vs homebrew that downloads the source, patches it and compiles it AFAIK.

Most of the standard stuff in homebrew is available in bottled form. Which isn't to say Homebrew doesn't have its problems— setting up your own bottling infrastructure is difficult/impossible, and basic stuff like caching dependencies isn't there (cf. https://github.com/Homebrew/homebrew/issues/27457 ).

It's also worth noting that what you've mentioned about "caching dependencies" isn't caching them on disk (we do that already and extensively) but instead being able to cache it in memory to make dependency resolution faster. I don't think that's basic stuff and most users don't seem to have a problem with the speed of such things.

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#32
post #12

Earlier quoted context omitted.

Most of the standard stuff in homebrew is available in bottled form. Which isn't to say Homebrew doesn't have its problems— setting up your own bottling infrastructure is difficult/impossible, and basic stuff like caching dependencies isn't there (cf. https://github.com/Homebrew/homebrew/issues/27457 ).

It can be done (I'm doing it in production), but it is not thought out with this situation in mind. I forked the formula repo at some point in the distant past, and untar it onto each machine. Then I manually manage dependencies when I tell it to fetch bottles from my own source. A lot of the simplicity and 'it just works' nature of Homebrew is because it's meant to be used in one situation and that's it.

You probably want to be using your own tap and the `root_url` in `bottle do` blocks. I'm open to improving your use-case if you can file a feature request about what you're trying to do. Thanks!

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#33

Interesting! What is the advantage of the FreeBSD package manager over existing OS X package managers like Homebrew or MacPorts?

Mainly just another sign for Apple that says: "Welcome to the 21st century! In this *nix era we have package managers!"

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#34
post #9

This pull request is a thing of beauty. Each commit is a little slice of (mostly) independent awesome. The project nerd in me just did a little dance.

I've found this to be true for most of FreeBSD and even other BSD-licensed code.

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#35
post #9

This pull request is a thing of beauty. Each commit is a little slice of (mostly) independent awesome. The project nerd in me just did a little dance.

How the fuck do people do this with git? I loved doing pretty commits with mercurial's patch queue. Git is awesome but it seems like the only option for pretty commits is rebase (ew). All the git patch queue implementations are basically dead or unmaintained. :(

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#36
post #17

Earlier quoted context omitted.

You can already have that with pkgsrc for osx - joyent maintains the osx binary packages see http://pkgsrc.joyent.com/ (pkgsrc is the NetBSD version of FreeBSD ports, but its always been portable to other systems).

Hmm I didn't know that Joyent maintained their own packages for non-SmartOS platforms. The OS X packages seem to be limited to 32-bit versions and even though you didn't mention this I noticed their Linux packages seem to lag behind pkgsrc upstream. What is the advantage of using their packages over the OS X and Linux ones offered by NetBSD? https://www.pkgsrc.org/#platforms

I'm building fresh 64bit packages on Mac OS X Yosemite. They will be uploaded in a few days at http://pkgsrc.saveosx.org/Darwin/2014Q4/x86_64/All/. Oh and they are GPG signed. Documentation at http://saveosx.org

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#38

Interesting! What is the advantage of the FreeBSD package manager over existing OS X package managers like Homebrew or MacPorts?

IMHO, Homebrew offers a lot of advantages over traditional package management tools. It's simple to use, offers a really easy way to add your own packages, and contributing upstream is quite painless. MacPorts has always been reminiscent (to me, anyways) of the FreeBSD Ports Collection...it might even be based on it I'm not sure. So this seems like a prelude to a possible sunsetting of the MacPorts project in favor o…

I've stayed away from Homebrew because of its insistence on taking over /usr/local. I understand the reasoning, but I use /usr/local for my own installs and Homebrew doesn't play nicely in that kind of mixed environment. I would use it if it defaulted to /opt/homebrew or something similar.

I'm looking forward to this new package manager alternative.

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#39
post #9

This pull request is a thing of beauty. Each commit is a little slice of (mostly) independent awesome. The project nerd in me just did a little dance.

How the fuck do people do this with git? I loved doing pretty commits with mercurial's patch queue. Git is awesome but it seems like the only option for pretty commits is rebase (ew). All the git patch queue implementations are basically dead or unmaintained. :(

I haven't used it much so please forgive my ignorance, but what is wrong with git rebase?

Re: Baseline Mac OS X Support merged into FreeBSD package manager

#40

Earlier quoted context omitted.

Most of the standard stuff in homebrew is available in bottled form. Which isn't to say Homebrew doesn't have its problems— setting up your own bottling infrastructure is difficult/impossible, and basic stuff like caching dependencies isn't there (cf. https://github.com/Homebrew/homebrew/issues/27457 ).

For a long time bottling was just done by me on my local VMs. It's pretty simple really; `brew install --build-bottle wget && brew bottle --root-url youweb.com wget`, upload the outputted bottles somewhere and add the `bottle do` block into the formula file. You can go a step further with this by using the `brew test-bot.rb` script ( https://github.com/Homebrew/homebrew/blob/master/Library/Hom... ) that we use for ou…

That's fair, thanks for the response!

The use case I'm interested in would be running the test-bot automatically in a Jenkins/buildbot/whatever environment, where you point the bot at a repo of Formulae and it dumps bottles to a storage provider like S3. Once the dependency caching issue is resolved, I'm interested in getting this to a point of anyone being able to relatively trivially deploy it.

The other use case would be commercial entities wanting to distribute closed-source libraries or other software via bottle-only. So they'd want to run something as CI that would watch the private repo for a tag, and once tags are created, would automatically bottle those releases and push them out.

Post reply on HN