Line 1: |
Line 1: |
| This howto is for using the Koozali.org Koji Build Farm (http://koji.koozali.org/koji). | | This howto is for using the Koozali.org Koji Build Farm (http://koji.koozali.org/koji). |
| | | |
− | {{Note box|This is no longer the case (Aug 2024):Warning: The Koji farm is still in development and locked inside the koozali compound, so you will need to have VPN access until we open it up to the world. | + | {{Note box|Koji is now publicly available for read-only, but you are advised to get a login in order that you can fully utilise it. |
| | | |
− | Koji is now publically available, but you are advised to get a login in order that you can fully utilise it.}}
| + | Developers should be following the guide at <>. |
| + | This wiki page is for interacting directly with koji.}} |
| | | |
| Official Koji documentation can be found at: https://docs.pagure.org/koji/ | | Official Koji documentation can be found at: https://docs.pagure.org/koji/ |
Line 9: |
Line 10: |
| We are slowly migrating smeserver to newer build tools, which includes git for source management and koji for managing the builds. | | We are slowly migrating smeserver to newer build tools, which includes git for source management and koji for managing the builds. |
| | | |
− | Here we will try to explain how to setup and use Koji within the development process. | + | Here we will try to explain how to setup and and interact directly with Koji. |
| | | |
− | Another document worth reading is [[Howto interact with gitea and koji to do an rpm build for SME11|here]]. This document is up to date as of Aug 2024.
| + | Please read [[Howto interact with gitea and koji to do an rpm build for SME11|here]] for normal development. This is primarily focussed on i=understanding the koji backend and how to interact with it directly. |
| | | |
| == Web Interface == | | == Web Interface == |
Line 33: |
Line 34: |
| | | |
| Install the koji client ('sudo dnf install koji' or equivalent on your flavour of linux) | | Install the koji client ('sudo dnf install koji' or equivalent on your flavour of linux) |
− | * on fedora do | + | * on fedora/rocky do |
| dnf install koji-tool -y | | dnf install koji-tool -y |
| * on centos 7 do | | * on centos 7 do |
Line 69: |
Line 70: |
| We have created build targets that align with the standard development practice of building into test, then migrating that build through the different environments | | We have created build targets that align with the standard development practice of building into test, then migrating that build through the different environments |
| | | |
− | * smeserver/<pkg>-<tag> -> sme11-test (dist-sme11-os-testing) -> dist-sme11-updates-testing -> dist-sme11-updates | + | * smeserver/<pkg>-<tag> -> sme11-test (dist-sme11-testing) -> dist-sme11-os |
− | * smecontribs/<pkg>-<tag> -> sme11-contribs-test (dist-sme11-contribs-testing) -> dist-sme11-contribs | + | * smecontribs/<pkg>-<tag> -> sme11-contribs (smecontribs11-testing) -> smecontribs11 |
| {{Note box|There is a target of sme11-os that will build into dist-sme11-os, but this should ONLY be used for tthe initial load of the smeos repository}} | | {{Note box|There is a target of sme11-os that will build into dist-sme11-os, but this should ONLY be used for tthe initial load of the smeos repository}} |
− | There is ONLY 1 build tag for sme11 which is used by all targets (dist-sme11-build) as all sme11 builds use the same external repos and settings. | + | There is 1 build tag for each of smeserver and smecontribs to allow for the use of different external repos and settings. |
| | | |
| | | |
Line 78: |
Line 79: |
| | | |
| * smeos (dist-sme11-os) | | * smeos (dist-sme11-os) |
− | * smetest (dist-sme11-os-test) | + | * smetest (dist-sme11-test) |
− | * smeupdates-test (dist-sme11-updates-testing)
| + | * smecontribs-test (smecontribs11-testing) |
− | * smeupdates (dist-sme11-updates)
| + | * smecontribs (smecontribs11) |
− | * smecontribs-test (dist-sme11-contribs-testing) | |
− | * smecontribs (dist-sme11-contribs) | |
− | *smeaddons (dist-sme11-addons)
| |
| | | |
| ==Advanced commands == | | ==Advanced commands == |
− | to add a rpm to the base rpm to install in a mock environment : | + | If adding a new package, it needs to be added to the parent tag for that Stream/Release:<syntaxhighlight lang="bash"> |
| + | koji add-pkg --owner kojiadmin smecontribs11 smeserver-my-new-contrib |
| + | </syntaxhighlight>to add a rpm to the build group to install in a mock environment : |
| | | |
| koji add-group-pkg dist-sme11-build build perl-Module-Install | | koji add-group-pkg dist-sme11-build build perl-Module-Install |
Line 99: |
Line 99: |
| koji add-pkg --owner jpp dist-sme12-os smeserver-manager-jsquery | | koji add-pkg --owner jpp dist-sme12-os smeserver-manager-jsquery |
| | | |
− | to tag and existing build against a new tag (e.g. copy from testing to updates-testing-) | + | to tag and existing build against a new tag (e.g. copy from testing to os) |
− | koji tag-build dist-sme11-updates-testing smeserver-updaye-11.0.0-7.el8.sme | + | koji tag-build dist-sme11-os smeserver-update-11.0.0-7.el8.sme |
| | | |
− | to populate an external repo for use by dnf | + | to manually populate an external repo for use by dnf (external repos should be automatically generated when a new build is attached to that tag) |
− | koji dist-repo dist-sme11-testing --allow-missing-signatures | + | koji dist-repo dist-sme11-testing <gpg key> |
− | koji dist-repo dist-sme11-updates-testing --allow-missing-signatures
| + | koji dist-repo dist-sme11-os <gpg key> |
− | koji dist-repo dist-sme11-os --allow-missing-signatures | + | koji dist-repo smecontribs11-testing <gpg key> |
− | koji dist-repo dist-sme11-contribs-testing --allow-missing-signatures | + | koji dist-repo smecontribs11 <gpg key> |
− | koji dist-repo dist-sme11-contribs --allow-missing-signatures | + | |
− |
| + | |
− | [[Category:Developer]]
| + | [[Category:Developer]] |