Skip to content

v2.79.2

Choose a tag to compare

@marcpope marcpope released this 13 Aug 01:50
· 5 commits to main since this release

A point release: borg 1.4.5 for older Linux, and a fix for file catalogs that went missing without explanation.

borg 1.4.5 for glibc 2.17+

Upstream's release binaries target a newer glibc than long-lived enterprise Linux ships, so they refuse to start on CentOS/RHEL 7, Amazon Linux 2 and the appliances that outlive everything around them. BBS carries its own build for those clients, and 1.4.5 is now available alongside 1.4.4 and 1.4.3.

Nothing changes on update. The version your clients receive is a setting — Settings → Updates → Borg, "Use Server Binaries" — and it stays where you left it until you select v1.4.5 and save. Even then, a client that can run upstream's own binary still gets upstream's; the bundled build is only used where no compatible official binary exists, which is the case it was made for.

Verified on a real CentOS 7 host at glibc 2.17 before shipping. The binary is signed with the same key as the previous two, and the public key included in the directory is unchanged, so anything that verified an earlier binary verifies this one.

A backup can no longer succeed with an unexplained empty file browser

Importing the file catalog a client streams is the one step between a finished backup and being able to browse or restore individual files from it. It could decline to run in four different ways and record none of them, so the symptom was a green backup, an empty file browser, and a log with nothing to say about it.

Each of those now writes a warning naming the reason — no SSH home directory for the client, no catalog file arrived, the file was empty, or no archive record to attach it to — along with the fact that the backup itself is fine and a catalog rebuild is what restores browsing.

Two related problems turned up while tracing that:

A job could sit at "Importing file catalog..." indefinitely on a backup that had actually finished, because the only code that marked it complete lived inside the import it never reached.

The cleanup sweep deleted a job's catalog file as soon as the job was marked failed — which does not mean the client stopped writing to it. A job failed out from under a running backup left borg and the catalog stream going, and the delete pulled the file out from under the write. It now waits for the file to stop growing first.

Notes

  • The agent is unchanged; clients on 2.79.0 do not need to update.