Difference between revisions of "Koji Usage"
Unnilennium (talk | contribs) |
(Straucture) |
||
Line 46: | Line 46: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
Check that you can connect<syntaxhighlight lang="bash"> | Check that you can connect<syntaxhighlight lang="bash"> | ||
Line 55: | Line 53: | ||
=== Build from git === | === Build from git === | ||
For now, this is the only way we can do a build from git on koji, but in the future this will be incorporated into the 'make build'. <syntaxhighlight lang="bash"> | For now, this is the only way we can do a build from git on koji, but in the future this will be incorporated into the 'make build'. <syntaxhighlight lang="bash"> | ||
− | koji build | + | koji build sme11-test git+https://src.koozali.org/smeserver/<pkg>.git?#<tag> |
+ | koji build sme11-contribs-test git+https://src.koozali.org/smecontribs/<pkg>.git?#<tag> | ||
</syntaxhighlight>Where: | </syntaxhighlight>Where: | ||
− | |||
− | |||
− | |||
* <pkg> = your package (e.g. smeserver-php) | * <pkg> = your package (e.g. smeserver-php) | ||
− | * <tag> = version tag to be built ( | + | * <tag> = version tag to be built (3_0-1) |
+ | |||
Example:<syntaxhighlight lang="bash"> | Example:<syntaxhighlight lang="bash"> | ||
− | koji build | + | koji build sme11-test git+https://src.koozali.org/smeserver/smeserver-php.git?#3_0-1 |
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | == Structure == | ||
+ | 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 | ||
+ | * smecontribs/<pkg>-<tag> -> sme11-contribs-test (dist-sme11-contribs-testing) -> dist-sme11-contribs | ||
+ | {{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}} | ||
+ | The repos align with the repos available to dnf in smeserver: | ||
+ | |||
+ | * smeos (dist-sme11-os) | ||
+ | * smetest (dist-sme11-os-test) | ||
+ | * smeupdates-test (dist-sme11-updates-testing) | ||
+ | * smeupdates (dist-sme11-updates) | ||
+ | * smecontribs-test (dist-sme11-contribs-testing) | ||
+ | * smecontribs (dist-sme11-contribs) | ||
== Advanced commands == | == Advanced commands == | ||
to add a rpm to the base rpm to install in a mock environment : | to add a rpm to the base rpm to install in a mock environment : | ||
− | + | koji add-group-pkg dist-sme11-build build perl-Module-Install | |
to list rpms in the mock environment: | to list rpms in the mock environment: | ||
− | koji list-groups dist-sme11 | + | koji list-groups dist-sme11-build build |
to add a package to build list | to add a package to build list |
Revision as of 22:57, 1 April 2024
This howto is for using the Koozali.org Koji Build Farm (http://koji.koozali.org/koji).
Official Koji documentation can be found at: https://docs.pagure.org/koji/
We are slowliy 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.
Web Interface
The web interface is available to everyone for read-only access to the status of builds the configuration of the farm.
Developers and Admins have additional rights after they login.
<<We'll add a bit more here>>
Developers
As a developer, you will need access to koji to be able to initiate builds, add new packages and tweak settings.
Please ask in the Development Forum or via the #buildsys channel on Rocket Chat.
A koji user will be created and you'll be given a 'bundle' (koji-<userid>-bundle.tgz) that contains your koji config and keys.
Please extract this in your home directory on your development workstation.
tar -xzf koji-<userid>-bundle.tgz ls ~/.koji client.crt config <userid>_browser_cert.p12 serverca.crt
Install the koji client ('sudo dnf install koji' or equivalent on your flavour of linux)
- on fedora do
dnf install koji-tool -y
- on centos 7 do
yum install koji -y
- On Rocky 8
#!/bin/sh dnf -y install epel-release dnf -y install policycoreutils-python-utils dnf -y install setools-console dnf -y install rsyslog dnf -y install setroubleshoot-server dnf -y install koji
Check that you can connect
koji moshimoshi
And you should receive a welcome message, telling you that you've connected.
Build from git
For now, this is the only way we can do a build from git on koji, but in the future this will be incorporated into the 'make build'.
koji build sme11-test git+https://src.koozali.org/smeserver/<pkg>.git?#<tag>
koji build sme11-contribs-test git+https://src.koozali.org/smecontribs/<pkg>.git?#<tag>
Where:
- <pkg> = your package (e.g. smeserver-php)
- <tag> = version tag to be built (3_0-1)
Example:
koji build sme11-test git+https://src.koozali.org/smeserver/smeserver-php.git?#3_0-1
Structure
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
- smecontribs/<pkg>-<tag> -> sme11-contribs-test (dist-sme11-contribs-testing) -> dist-sme11-contribs
The repos align with the repos available to dnf in smeserver:
- smeos (dist-sme11-os)
- smetest (dist-sme11-os-test)
- smeupdates-test (dist-sme11-updates-testing)
- smeupdates (dist-sme11-updates)
- smecontribs-test (dist-sme11-contribs-testing)
- smecontribs (dist-sme11-contribs)
Advanced commands
to add a rpm to the base rpm to install in a mock environment :
koji add-group-pkg dist-sme11-build build perl-Module-Install
to list rpms in the mock environment:
koji list-groups dist-sme11-build build
to add a package to build list
koji add-pkg --owner jpp dist-sme10-os smeserver-manager-jsquery koji add-pkg --owner jpp dist-sme11-os smeserver-manager-jsquery koji add-pkg --owner jpp dist-sme12-os smeserver-manager-jsquery