diff --git a/blog/2020-04-07-setting-up-a-private-package-repo-for-freebsd.markdown b/blog/2020-04-07-setting-up-a-private-package-repo-for-freebsd.markdown new file mode 100644 index 0000000..1266d47 --- /dev/null +++ b/blog/2020-04-07-setting-up-a-private-package-repo-for-freebsd.markdown @@ -0,0 +1,57 @@ +--- +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() 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: + +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 </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.