3 ms·
> you have no decent binary packages This is completely incorrect. OpenBSD has been all about building reproducible binary packages for quite a long time now,
by avsm 12y ago
> you have no decent binary packages
This is completely incorrect. OpenBSD has been all about building reproducible binary packages for quite a long time now, and the ports tree is regularly bulk-built and failing ports fixed or swept out of the way. The key difference from FreeBSD is that OpenBSD binary package sets are released every six months with the base system, and you are expected to upgrade them during a system upgrade.
It's as simple as `pkg_add -ui` if you point the PKG_PATH to a remote OpenBSD distribution mirror.
One advantage of upgrading ports with the base system is that caveats are all conveniently listed in the upgrade guide for that release. E.g. for 5.4->5.5: http://www.openbsd.org/faq/upgrade55.html#Pkgup http://www.openbsd.org/faq/upgrade55.html#Pkgup
- darklajid 12y agoCool! Thanks for correcting me. That said: I need more stuff than the ports tree contains (I .. checked NetBSD and FreeBSD, plus a couple of Linux distributions. I admit that I haven't checked all my packages against OpenBSD's ports tree, but I assume I'm correct). Plus, I do need the occasional update without waiting 6 month. How would I do that? For comparison: On FreeBSD I use portshaker to create a ports tree that is a mixture of upstream (FreeBSD) and other sources (a git repository, in my case). If FreeBSD doesn't bump a package and PRs take a whiiiiile, I bump that thing in my overlay. poudriere allows me to build (in bulk) all my relevant packages in jails, is clever enough to rebuild just the stuff that changed (or where I changed the config) and spits out a directory structure that represents a pkgng repository with (optional) signed binary packages. pkgng is pointed to my repository (actually it supports multiple sources, apt like. Can PKG_PATH do that?), which contains now builds from upstream ports and my overlay. How would I (hoping that you have a couple of minutes and can prove me wrong once more) - build binary packages for ports that either don't exist upstream (stuff I ported) or are outdated upstream? - distribute those in a decent way (PKG_PATH swapping..?) I guess I'm left with the question whether we're talking about the same thing when we're saying 'decent binary packages'? I'm sure you can OpenBSD works well for the intended use - but 'decent' wasn't an objective attribute here, it was more a subjective 'decent for my needs' kind of thing. More details above. In the end, pkg_* feel like ooold Solaris, or like using Slackware again. That's package management on a different level and feels like a step down from apt/yum/pacman/pkgng. Again: Probably it's just a matter of convenience and my laziness in the end, but so far I feel that's not for me.
- avsm 12y agoI'll just point you at the ports and packages documentation, which has answers to all your questions: http://www.openbsd.org/faq/faq15.html http://www.openbsd.org/faq/faq15.html
- darklajid 12y agoFair enough. Here's an upvote, that's probably the right answer. That said: I read that page. Multiple times. It doesn't help me mapping my portshaker/poudriere setup into something in the OpenBSD world so far. On the other hand: It makes no sense to expect that answer from you either, so .. back to the first line, full circle. :)
- clarry 12y agoI should note that most OpenBSD users don't like needless tinkering and therefore stick to the binary packages. Those who want more up to date packages run a -current snapshot. Stable packages are also available via M:Tier. But if you want to tinker and build your packages, you can do that. That's what the ports tree is there for. That is how the OpenBSD packages are built. > - build binary packages for ports that either don't exist upstream (stuff I ported) or are outdated upstream? The package target for bsd.port.mk(5): package Build a port package (or packages in a MULTI_PACKAGES case) from the fake installation. Involves creating packaging information from templates (see COMMENT, SUBST_VARS among others) and invoking pkg_create(1) for each package in the MULTI_PACKAGES list. If the repository already contains up-to-date packages, they are not rebuilt. > - distribute those in a decent way (PKG_PATH swapping..?) It is very easy to distribute OpenBSD packages. You can use http, ftp, nfs.. Yes, PKG_PATH needs to be set, just like you need to configure the package manager to your own repo on any other system. > actually it supports multiple sources, apt like. Can PKG_PATH do that? pkg_add(1): PKG_PATH If a given package name cannot be found, the directories named by PKG_PATH are searched. It should contain a series of entries separated by colons. Each entry consists of a directory name. URL schemes such as FTP, HTTP, HTTPS, or SCP are also appropriate. The current directory may be indicated implicitly by an empty directory name, or explicitly by a single period (`./'). > poudriere allows me to build (in bulk) all my relevant packages in jails So OpenBSD doesn't have jails, but it is possible to do ports builds from a read-only ports tree using a non-privileged user, with systrace in place to filter accesses that shouldn't happen. > In the end, pkg_* feel like ooold Solaris, or like using Slackware again. That's package management on a different level and feels like a step down from apt/yum/pacman/pkgng. You sure have lots of feelings about a package manager you don't know. Have you even used it? I haven't used pkgng and my experience with yum & pacman is limited, but apt (and aptitude) is what made me finally quit using Linux; I'm 100% OpenBSD now. pkg_add is a definite step up for me, whether using subjective feelings or the number of times it's broken things for me as the metric.