Mar 112018
 

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 […]

Jan 222018
 

Jochen Neumeister noticed that FreshPorts no longer lists phpunit6. Sure enough, I went searching and failed to find it. It did not turn up. Then I checked Include deleted ports, then clicked on Search again. Ahh, there it it. Sure enough, it is marked as deleted. Look for the small icon at the top, just […]

Dec 152017
 

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 […]

Oct 102017
 

The previous post on this blog was nearly 10 months ago. However, things have not stood still. There have been a few issues fixed and some are still in progress. The biggest thing underway is a major rework of the backend, the part that processes the incoming commits. There is nothing major; no huge code […]

Dec 162016
 

Tonight, I was contacted by jrm on IRC, who told me that FreshPorts was missing something on a search. Yep. It was not in there. I looked on dev and I saw the same thing. Finding the cause I started by enabling debug on dev. I found this SQL: I started by removing one LEFT […]

Aug 232016
 

I was asked if this was a known bug. It’s not. I don’t think anyone knows about it. dvl: ping. FreshPorts truncates COMMENT. Known issue? https://www.freshports.org/devel/include-what-you-use/ Here’s what I found there: Tool for use with clang to analyze Here is what the Makefile contains: $ grep COMMENT Makefile COMMENT= Tool for use with clang to […]

Jul 252016
 

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 […]