3 ms·
Pretty much everything you said is wrong. There are indeed ports that occasionally require you to rebuild a bunch of downstream packages, but the default for a
by Sanddancer 12y ago
Pretty much everything you said is wrong. There are indeed ports that occasionally require you to rebuild a bunch of downstream packages, but the default for a while has been to move the old libraries, etc into /usr/local/lib/compat/pkg so that new stuff will continue running.
Regarding rolling back/forward, the ports system allows you to create binary packages from your build. So, if you're in a production environment, the old version of the package still is there, ready to be reinstalled with all your compile flags intact.
Verification is also something that ports does. Because ports work with the pkg system, installing a port installs it in a package, with hashes and everything. Auditing's a no brainer there.
Furthermore, the ports system allows you to build everything within jails dedicated to port building, so every time you update, you get fresh packages with no legacy dependencies.
Oh, and one more thing. That's just the steps FreeBSD has made. OpenBSD does not have a rolling ports tree, the ports tree is tied to a specific version, which creates binary packages by default, without installing the port to your filesystem. So, again, you get everything apt and rpm can do, plus you get a level of flexibility that they can't match.
- SwellJoe 12y ago"Regarding rolling back/forward, the ports system allows you to create binary packages from your build. So, if you're in a production environment, the old version of the package still is there, ready to be reinstalled with all your compile flags intact." This doesn't sound equivalent to: yum install httpd-<specific-older-version> To me. What does that look like, exactly? What are the steps to roll back to a prior version? "Verification is also something that ports does. Because ports work with the pkg system, installing a port installs it in a package, with hashes and everything. Auditing's a no brainer there." I now see this is true; apologies for misleading statements above. The pkg_check command seems to do what is necessary here. That's great! "Furthermore, the ports system allows you to build everything within jails dedicated to port building, so every time you update, you get fresh packages with no legacy dependencies." Again, what does that look like? What are the commands? How long does it take? "So, again, you get everything apt and rpm can do, plus you get a level of flexibility that they can't match." I think we may both be speaking from positions of ignorance. I'm gonna go install an OpenBSD VM and fix my ignorance.
- Mordak 12y ago> What does that look like, exactly? What are the steps to roll back to a prior version? I am tracking the -stable branch in ports, which means I periodically sync my local ports tree with upstream and then build / upgrade any updated packages. Inside my /usr/ports/packages/amd64/all/ directory I have the following packages: firefox-esr-31.4.0.tgz firefox-esr-31.5.0.tgz firefox-esr-31.5.3.tgz firefox-esr-31.6.0.tgz If I somehow decide I do not want the newest firefox-esr, I would: pkg_delete firefox-esr-31.6.0 && pkg_add firefox-esr-31.5.3 And that's it.