Operations grimoire/Packages repository: Difference between revisions
(Created page with "The '''packages repository''' provide packages for FreeBSD and RHEL. It's accessible at https://packages.nasqueron.org/ and served from WindRiver. == FreeBSD packages == The [https://packages.nasqueron.org/freebsd/ /freebsd] path is divided by ABI. For example, `FreeBSD:14:amd64` is used for FreeBSD 14 on amd64 architecture. To add a package: - for a custom software at Nasqueron, commit a port to [https://devcentral.nasqueron.org/source/freebsd-ports-nasqueron/...") |
|||
Line 8: | Line 8: | ||
To add a package: | To add a package: | ||
* for a custom software at Nasqueron, commit a port to [https://devcentral.nasqueron.org/source/freebsd-ports-nasqueron/ rPORTS] following [https://docs.freebsd.org/en/books/porters-handbook/quick-porting/ FreeBSD porters handbook] - automation is fully there | |||
* for a special configuration of an upstream package, build it on WindRiver, and copy it to /var/repo - no automation currently, but we could automate based on {{Ops file|roles/devserver/userland-software/ports.sls}} logic. | |||
=== Automated builds === | === Automated builds === |
Revision as of 22:23, 16 October 2024
The packages repository provide packages for FreeBSD and RHEL.
It's accessible at https://packages.nasqueron.org/ and served from WindRiver.
FreeBSD packages
The /freebsd path is divided by ABI. For example, `FreeBSD:14:amd64` is used for FreeBSD 14 on amd64 architecture.
To add a package:
- for a custom software at Nasqueron, commit a port to rPORTS following FreeBSD porters handbook - automation is fully there
- for a special configuration of an upstream package, build it on WindRiver, and copy it to /var/repo - no automation currently, but we could automate based on rOPS: roles/devserver/userland-software/ports.sls logic.
Automated builds
Poudriere and portshaker are used to build automatically the ports per D3520.
To update the packages repository, just run rebuild-nasqueron-packages
as root. It takes care to update FreeBSD and Nasqueron Git repositories, merge them and trigger a ports build. That poudriere build will take care of repository metadata too.
https://packages.nasqueron.org/freebsd/experimental/ serves automated builds content.
RHEL packages
Currently unavailable. Dwellers is a good candidate to prepare packaging, as the only RHEL-family development server we have.
For RHEL 8/9, we probably only need "dive" (3rdparty) and "docker-processes" (Nasqueron).
Build a package
Resources:
- https://ftp.osuosl.org/pub/rpm/max-rpm/
- https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial/
How to recreate the repository
As of October 2024, the easiest would be to :
- create a datacube "packages/redhat" in addition to "packages/freebsd" at rOPS: pillar/devserver/datacubes.sls, deploy
- copy packages to /datacube/packages/redhat directory
- configure nginx to serve /redhat as
alias /datacube/packages/redhat;
at rOPS: roles/webserver-alkane/nginx/files/vhosts/nasqueron.org/packages.conf
Automation
The copr project - https://copr.fedorainfracloud.org/ - has resources to automate the process. That could be investigated if we've a lot of packages to build (we don't currently).