Duplicate dependency issues – avoiding duplicate rows

Databases use relational integrity to enforce expected situations. A common scenario is duplicates. Case in point, I present the port_dependencies table: For those not familiar with FreeBSD ports, each port (you could also refer to them as a package or application) can have zero or more dependencies. The FreshPorts database extracts and lists these dependencies […]

Duplicate dependency issues – avoiding duplicate rows Read More »

Details of the vuxml processing problem

For several weeks, FreshPorts had a vuxml processing problem. In this blog post, I will share what I found. Introduction Incoming events for FreshPorts are handled by a small Python script which checks for flags and incoming commits. This ensures that work is carried out serially because parallel work can have unintended consequences. After each

Details of the vuxml processing problem Read More »

When dependencies change, both ports need to be updated

FreshPorts uses a cache for every port page (e.g. https://www.freshports.org/sysutils/bacula-server/). When an update to a port occurs, we must clear the cache for that port. This sounds simple, and it is. The various ways in which updates occur complicates the situation. This post is all about fixing one edge case: the addition or removal of

When dependencies change, both ports need to be updated Read More »

Scroll to Top