> With ports it is entirely possible to install a package that does not work completely or at all due to missing dependencies.

Meanwhile, I have discovered that with APT it is entirely possible for a failed install to hose up the entire package management system so that only "manually" fixing some broken dependency handling will allow me to use it again.

> It's trivially easy to remove a package required by other packages with ports. Meaning that it's entirely possible to break vast swaths of your system without warning.

Well, sure -- if you're a masochist. The same is true of Debian and Fedora, too, if you bypass the user-level tools and use the underlying utilities. If you use the user-level tools on FreeBSD, you get protections against doing that sort of thing, though. Let me guess: you always use "make deinstall" instead of pkg_deinstall. Right?

> I simply can't believe anyone could run a fully functional, and secure, FreeBSD system on nothing but binary packages.

I can't help what you are unwilling to believe.

> The libraries move out from under the binaries, and they simply stop functioning.

Are you installing libraries from ports and stuff that depends on the libraries from packages? I guess you could run into that problem under those circumstances.

> Either they'd be running an out of date, and thus insecure, system

You don't always have to update to run secure software. You only have to update when there are security updates.

> they'd have to test to know which stuff is broken, because ports and the pkg tools won't warn you when you're breaking stuff by updating software

I wouldn't know, because I haven't broken "stuff" by updating software the way you describe it. I have, however, had portupgrade warn me that if I installed something that required a different library version than another tool it would break something.

Hmm. I guess I do know, and you're wrong, in my experience.

> I also don't understand the mindset of anyone that chooses to wait hours for their system to be useful while they wait for a huge stack of ports to build. How little is your time worth to you?

I don't wait hours for my system to be useful while waiting for a huge stack of ports to build. I build stuff while I use the system. Y'know, I had the same question before I started using FreeBSD regularly, then discovered that it's not really an issue. Go figure.

> rpm -V httpd
>
> This command verifies the installation of httpd. Does what's running on the system match what the package contains? If not, it tells you which files have changed.
>
> There is no equivalent for ports that I know of, and I'm pretty sure it would be deeply non-trivial to implement such a command because I don't think ports have a manifest or any sort of particular knowledge about what the payload of the package is.

You must not be familiar with pkg_info, or the pkg-plist file that is part of every port for that matter. There's actually probably a few dozen ways to achieve the same thing, including using mtree to verify filesystem integrity.

Come to think of it, maybe you just aren't familiar with the ports system.

> Yeah, I find it difficult to believe, too. It's just stupid, but it's true. You can build a pkg and install it, but then there's no way to keep it up to date via native means (except requiring the user to download and install new pkgs over time, which is unacceptable when there are dozens of packages to deal with).

Yeah, yeah . . . like I said, I've never had to look into the use of third-party repositories, so I wouldn't know. I'm beginning to rethink taking your word for it, though, given your demonstrated lack of knowledge of basic ports management tools. In fact, a cursory look at the manpages for some ports management tools suggests that the ability to specify alternate sources for ports and/or packages is provided by these tools. I might look into this more.

> So, if you want to distribute a pile of applications and keep them up to date, you have to build your own update management system.

Even if the foregoing was true, this would not be true. There are gobs of cross-platform options available for software management, including even repurposed version control systems. You do not need to design your own software management system from scratch.

> people already understand how to keep their system up to date using yum or apt-get, or whatever. We don't have that ability on FreeBSD.

Have you tried submitting to ports?

> Give it time.

How much time does it take? I have been using FreeBSD for years already.