Smarter Fetch

Table of Contents

Tool(s?) to aid in speeding up package updates on OpenBSD.

The Problem

As it stands, package updates on OpenBSD are incredibly slow. This is because:

  • No central index.
    • Every update, each tarball file is partially downloaded to check if it needs to be updated.
  • Every request to a tgz is a new call to ftp.

Possible Solutions

Reverse Proxy

Simple reverse proxy that supports keepalives / http/2 would help. I noticed a multi-minute reduction in wait time when using one.

Something like httputil.RevereProxy would work.

Better ftp(1)

A new command that supports:

  • ranged partial gets.
  • persistent connections via HTTP pipelining (or http/2?).

Reduced Update List

Basically passing a list of pre-processed package names to pkg_add.

Reverse Index Proxy

Bolt on package index that is somehow(!?) introduced into pkg_*

Author: Aaron Bieber

Created: 2022-08-23 Tue 13:13