58 lines
1.7 KiB
Markdown
58 lines
1.7 KiB
Markdown
|
---
|
||
|
layout: post
|
||
|
title: "Setting up a private package repo for FreeBSD"
|
||
|
date: 2020-04-07
|
||
|
comments: true
|
||
|
tags: freebsd, pkgng
|
||
|
---
|
||
|
|
||
|
Lately the EU mirror for FreeBSD packages(<http://pkg0.bme.freebsd.org>) has been really slow for me. My best guess is the mirror is being overloaded, it could be because of my ISP peering weirdly too.
|
||
|
|
||
|
I already have a [Poudriere](https://www.freebsd.org/doc/handbook/ports-poudriere.html) setup running on a beefy server. How hard it would be building all the packages that I need? Turns out its not that hard at all.
|
||
|
|
||
|
First step is to get all the packages that I currently use and their port names
|
||
|
|
||
|
```bash
|
||
|
$ pkg query '%o' > x230-packages
|
||
|
|
||
|
# make sure they look right
|
||
|
$ head x230-packages
|
||
|
math/coinmp
|
||
|
x11-fonts/gentium-basic
|
||
|
graphics/ImageMagick6
|
||
|
devel/ORBit2
|
||
|
graphics/aalib
|
||
|
sysutils/accountsservice
|
||
|
print/adobe-cmaps
|
||
|
x11-themes/adwaita-icon-theme
|
||
|
x11/alacritty
|
||
|
audio/alsa-lib
|
||
|
```
|
||
|
|
||
|
Setup poudriere with instructions from handbook: <https://www.freebsd.org/doc/handbook/ports-poudriere.html>
|
||
|
|
||
|
Build the packages
|
||
|
```bash
|
||
|
/usr/local/bin/poudriere ports -p local -u
|
||
|
/usr/local/bin/poudriere bulk -j 12amd64 -p local -z x230 -f /root/x230-packages
|
||
|
```
|
||
|
|
||
|
After **a day and half** poudriere built all the packages I need :)
|
||
|
|
||
|
Now all that left is to disable the official repo and replace it with mine
|
||
|
|
||
|
```bash
|
||
|
cat > /usr/local/etc/pkg/repos/Mine.conf <<EOF
|
||
|
FreeBSD: { enabled: no }
|
||
|
|
||
|
builder: {
|
||
|
url: "https://<path to repo>/repo/12amd64-local-x230/",
|
||
|
enabled: yes
|
||
|
}
|
||
|
EOF
|
||
|
```
|
||
|
Bye bye slow mirrors!
|
||
|
|
||
|
|
||
|
This should be filed under over-engineering, and I should really investigate why the mirror is slow; This does work and love how simple and powerful the pkg system is. Workflow is far better than I am used to bulk building debian or arch packages.
|