FreshPorts

Stuff about FreshPorts.

Figuring out the upgrade path for AWS RDS from PostgreSQL 12.14 to PostgreSQL 16.1

These are my notes on figuring out an upgrade path for the FreshPorts PostgreSQL 12.14 database hosted on Amazon RDS. Most of this is based on Upgrading the PostgreSQL DB engine for Amazon RDS The sections of this post relate to the sections found at the above URL. First, I installed the AWS CLI (via py39-awscli, created an Access Key for my AWS login, and ran: Note that on line 4 I did […]

Figuring out the upgrade path for AWS RDS from PostgreSQL 12.14 to PostgreSQL 16.1 Read More »

Using FreeBSD’s daemon(8)? Consider -r

FreshPorts make use of a simple python daemon (fp_listen). It has been in use since at least 2006. It was (I think) vermaden who mentioned it (I can’t find the reference) and it triggered an idea. The role of fp_listen is to listen for backend notifications and respond accordingly. One of its primary goals is to clear the front end cache as required. Part of that strategy involves a persistent connection to the

Using FreeBSD’s daemon(8)? Consider -r Read More »

How to limit a jail

After encountering a rare instance where processing a FreeBSD commit caused FreshPorts to run low on resources, I want to investigate how limiting a jail might help this situation. I searched for ‘jail limit’ – found sentencing guidelines. I searched for ‘jail limit freebsd’ and found a FreeBSD Forums referring me to rctl(8), which I recognize from my $DAYJOB. I’ve just rebooted my host to add this to /boot/loader.conf: Then I started referring

How to limit a jail Read More »

Preventing a given package from being installed

I have a few development jails dedicated to my work on FreshPorts. It’s been a hobby of mine since the late 1990s. The code I create gets packaged, ready to deploy onto the test, stage, and production hosts. What I absolutely do not want to happen, and it’s happened recently, is for those packages to be installed on the development environments. Why? It installs to the same location as the working copy of

Preventing a given package from being installed Read More »

Changing from one dataset to another within a FreeBSD [iocage] jail

ZFS has a the ability to share itself within a jail. That gives the jail some autonomy, and I like that. I’ve written briefly about that, specifically for iocage. More recently, I started using a zfs snapshot for caching clearing. The purpose of this post is to document the existing configuration of the production FreshPorts webserver and outline the plan on how to modify it for more zfs-snapshot-based cache clearing. The current configuration

Changing from one dataset to another within a FreeBSD [iocage] jail Read More »

starting service would freeze the terminal session

I noticed a problem with a newly-created freshports daemon script: starting it would sometime freeze the terminal session. The rc.d script The rc.d script was fairly straight forward: Nothing odd there, right? This first happened a week or so ago. I moved on it and decided to look into later. But wait, there’s more This issue came up again today. The system would be processing incoming commits and it would hang. It would

starting service would freeze the terminal session Read More »

Migrating FreshPorts from one db server to another

FreshPorts runs on a FreeBSD server which hosts multiple jails. Two of these jails run PostgreSQL server. When upgrading from one version of PostgreSQL to another, we run pg_dump in the new jail, and load the backup into that database server. I’m writing this blog post to keep track of this procedure so I do not have to remember it each time. take website offline sudo mv mv offline.conf.disabled offline.conf && \ sudo

Migrating FreshPorts from one db server to another Read More »

Perl @INC – customizing it for FreeBSD

This post is all about creating technical debt. If you accept that, go for it. I’m avoiding porting my FreshPorts scripts into SITEPERL. Why? I’ll migrate them to SITEPERL after BSDCan & PGCon. Right now, I need to get the servers upgraded from Perl 5.24 to Perl 5.26, because 5.24 is deprecated. FreshPorts uses Perl for processing incoming commits and for various administrative backend tasks. Everything on the front end (website) is PHP

Perl @INC – customizing it for FreeBSD Read More »

Moving FreshPorts

Today I moved the FreshPorts website from one server to another. My goal is for nobody to notice. In preparation for this move, I have: DNS TTL reduced to 60s Posted to Twitter Updated the status page Put the website put in offline mode: Sorry, the website is offline from 2017-11-05 17:01, for approximately 3 hours. It is now 2017-11-05 17:01. That works for both http and https: [dan@air01:~] $ wget -S http://www.freshports.org

Moving FreshPorts Read More »

Dumping PostgreSQL 9.4 to upgrade to PostgreSQL 9.6

FreeBSD 10.3 & PostgreSQL 9.4 on the old server, and FreeBSD 11.1 & PostgreSQL 9.6 on the new server. As part of the move from the old FreshPorts server (photos) to the new FreshPorts server, I’ll need to dump the database and copy it over. What? No zfs send? There is no ZFS on the old server. The rule of thumb when upgrading a PostgreSQL database is to dump with the pg_dump client

Dumping PostgreSQL 9.4 to upgrade to PostgreSQL 9.6 Read More »

Scroll to Top