HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
openbsd
ports
Makefile2018–2026
openbsd / ports

ports

Read-only git conversion of OpenBSD's CVS ports repository. This only includes the main branch; use CVS for -stable or release branches. Send any diffs to the port's maintainer and/or ports@ mailing list.

13Distinct people
17Mentions
0Explicit recommenders
586GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Read-only git conversion of OpenBSD's CVS ports repository. This only includes the main branch; use CVS for -stable or release branches. Send any diffs to the port's maintainer and/or ports@ mailing list.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2018-10-12 16:51:22 UTC to 2026-10-19 15:57:52 UTC.

0123452018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC303
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC514
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

What Hacker News says

17 sources
> At that time, its researchers have modified Chromium to make use of Capsicum and compared how much effort was required to make use of each sandboxing mechanism within Chromium. [..] If you’re only going to study one sandboxing mechanism in your life, it should be Capsicum. To this date, I have yet to see a better sandboxing mechanism than Capsicum. In the years since it was added, there's a reason you can count on two hands the number of programs using it in FreeBSD. Even less using it effectively, with refactoring, and not just calling cap_enter(). Capsicum Chrome has never been committed to the official FreeBSD ports tree, it was an academic research project from 17 years ago. https://github.com/rwatson/chromium-capsicum https://www.freshports.org/www/chromium/ https://cgit.freebsd.org/ports/log/www/chromium/Makefile?qt=... No browser
Read the rest
s on FreeBSD today use Capsicum. Compare that instead to OpenBSD, where the Chromium port has used pledge(2) since January 2016, and unveil(2) since 2018. Enabled by default. The Mozilla Firefox ports also use both pledge and unveil since 2018-2019, and this work has even been accepted upstream. https://marc.info/?l=openbsd-ports-cvs&m=145211683609002&w=2 https://github.com/openbsd/ports/blob/master/www/chromium/pa... https://github.com/openbsd/ports/tree/master/www/chromium/fi...
In Software sandboxing: The basics (2025)
I quite like the OpenBSD approach to Go and Rust projects in ports. They store all the dependencies and their hashes in the build recipe, not trusting the project ones. And they’re more readable. Here is jujutsu’s list of dependencies[0] and their hashes[1]. As an aside, that’s why I don’t like those packages managers. Something like Python’s numpy or lib curl, get sliced into atomic portions. [0]: https://github.com/openbsd/ports/blob/master/devel/jujutsu/c... [1]: https://github.com/openbsd/ports/blob/master/devel/jujutsu/d...
In Debian must ship reproducible packages
OpenBSD maintained several local patches to nginx, such as chroot [0] by default and reallocarray fixes, but it was rejected by the upstream and too big to maintain locally. OpenBSD httpd would probably have never existed if nginx upstream reacted differently. https://www.openbsd.org/papers/httpd-slides-asiabsdcon2015.p... [0] The OpenBSD nginx port still includes the default chroot patch, ~8 years later, see https://raw.githubusercontent.com/sthen/nginx_chroot_patch/a... and https://github.com/openbsd/ports/blob/master/www/nginx/Makef...
In BCHS software stack: BSD, C, httpd, SQLite
I think OpenBSD comes the closest to what you want with its two easy to use syscalls that provide syscall filtering and restricting access to paths: https://man.openbsd.org/pledge.2 https://man.openbsd.org/unveil.2 A few random examples: https://github.com/tmux/tmux/blob/c8494dff7b6b9a996866edaf8c... https://github.com/openbsd/ports/blob/master/www/mozilla-fir... https://github.com/openbsd/ports/blob/master/www/mozilla-fir... To get the best isolation you need to patch the source — the application needs to go through initial setup and then drop privileges to the absolute possible minimum. But it's easy to make custom wrappers for third-party applications — the above profiles taken from the OpenBSD ports tree are the proof.
In Firejail: Light, featureful and zero-dependency security sandbox for Linux
> https://github.com/openbsd/ports/commit/bf33ea5f3ff390d8cde3... Now, this is surprising. I randomly clicked on that link and I immediately see that the code and the patch has a bug. It only checks the first 8 characters: - if (gr != NULL && strncmp(gr->gr_name, "operator", 8) == 0) + if (gr != NULL && strncmp(gr->gr_name, "_shutdown", 8) == 0) so it will also match a group named "_shutdow" or "_shutdow1234" because only the first 8 characters matter. A trivial silly mistake like this is... not what I expected considering OpenBSD's reputation for security.
In OpenBSD: Shutdown/reboot now require membership of group _shutdown
For me it's the ease of management and good documentation. For example, during 6.8 to 6.9 upgrade, there was a major postgresql upgrade. It is mentioned in the doc https://www.openbsd.org/faq/upgrade69.html (see Special packages at the bottom). You're redirected to the package README with special instructions on how to setup and upgrade: https://github.com/openbsd/ports/blob/master/databases/postg... Et voilà, everything is explained. On debian, if I am not careful, I'll do an upgrade and risk breaking something during a db migration (I'm looking at you MySQL upgrades...).
In How I would sell OpenBSD as a salesperson
> An old and somewhat crusty cross-platform daemon replaced by an OS-specific set of daemons, that takes care of managing /etc files that have been there forever. The older solution remains available, but may bitrot or otherwise become harder to maintain in the future. > Wait, isn't this what systemd is "accused" of doing all the time? Each of these do one thing and one thing only. The code is loosely coupled between the two, so you can use or not use either/both. Basically the opposite of systemd, which is a giant code ball of code with components tightly coupled. And while it is likely that dhclient will eventually be removed from OpenBSD Base, it will live on in Ports, where it will be available to those who desire to use it: * https://cvsweb.openbsd.org/ports/net/isc-dhcp/ * https://github.com/openbsd/ports/tree/master/net/isc-dhcp Th
Read the rest
e use or non-use of of either of these program will also not effect device discovery / hot-plugging, mounting of file systems, system run levels, network time, system logging, etc. One of the programs does DHCP. One does resolve.conf(5) changes. Each does nothing else. It may even be possible to port each of these programs to another operating system, as I suspect they don't need special APIs (*cough*dbus*cough*) and may mostly just use POSIX-y stuff.
In dhcpleased(8) and resolvd(8) enabled in base, replacing dhclient(8)
Browsers having unfettered access to users files is something which should be mitigated against on all platforms, not fleshed out into an ill-conceived feature, it goes in complete contrary to browser sandboxing efforts in Chrome itself for different process types (renderer/gpu/utility), but also work like OpenBSD has done with pledge(2)/unveil(2). On OpenBSD, all processes of chromium, including the main browser process are tightly pledged and unveiled by default, write access to the users home directory is limited to only a few paths (~/Downloads), and a few config directories. As a consequence, users are rather forcibly taught safer usage pattern of copying files into the unveiled paths when uploading, which as Bob Beck alludes to in his slides below, is a reasonable compromise to every website having access to your ssh keys. https://w
Read the rest
In The Native File System API allows web apps to save directly to files
"FreeBSD 11.4-RELEASE Announcement [...] Some of the highlights: The clang, llvm, lld, lldb, and compiler-rt utilities as well as libc++ have been updated to upstream version 10.0.0. [...]" I found this interesting. Seems like FreeBSD is more pragmatic than OpenBSD. They are using the latest and greatest llvm/clang series. For license related reasons OpenBSD is stuck on an older version of gcc. I understand that OpenBSD has now _also_ become stuck on an older clang/llvm due to license changes there too. In the long run, not upgrading the compiler is going to hurt OpenBSD a lot, I think. A lot of mitigations are now built in the compiler and languages (e.g. C++) are accumulating features at quite a fast pace. I was wondering if users of OpenBSD have thoughts on the above. Do you think its a bit deal? What is the solution?
Read the rest
How does OpenBSD not get left behind as a platform? Or is this older clang/llvm issue only relevant for the core system and pkgs would have latest clang/llvm? P.S. It seems llvm on pkgs is still 8.0.x https://github.com/openbsd/ports/tree/master/devel/llvm
In FreeBSD 11.4

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.