Line 73: |
Line 73: |
| This will have created 6 build targets with various build tags to use | | This will have created 6 build targets with various build tags to use |
| | | |
− | * dist-sme10-os (dist-sme10-os-build) | + | * smeserver10 (smeserver10-build) |
− | * dist-sme10-contribs (dist-sme10-contribs-build) | + | * smecontribs10 (smecontribs10-build) |
− | * dist-sme11-os (dist-sme11-os-build) | + | * smeserver11 (smeserver11-build) |
− | * dist-sme11-contribs (dist-sme11-contribs-build) | + | * smecontribs11 (smecontribs11-build) |
− | * dist-sme12-os (dist-sme12-os-build) | + | * smeserver12 (smeserver12-build) |
− | * dist-sme12-contribs (dist-sme12-contribs-build) | + | * smecontribs12 (smecontribs12-build) |
| There is a hierarchy inheritance structure for each release (see 10, 11 & 12), where the basic settings are inherited (e.g. yum or dnf, centos:7 or rockylinux:8 bootstrap image for mock) as well as which external repositories to use (e.g. centos7/el7 versions or rocky8/el8 versions) | | There is a hierarchy inheritance structure for each release (see 10, 11 & 12), where the basic settings are inherited (e.g. yum or dnf, centos:7 or rockylinux:8 bootstrap image for mock) as well as which external repositories to use (e.g. centos7/el7 versions or rocky8/el8 versions) |
| | | |
− | + dist-sme<release>-os | + | + smeserver<release> |
| | | |
− | ++ dist-sme<release>-os-build | + | ++ smeserver<release>-build |
| | | |
− | ++ dist-sme<release>-contribs | + | ++ smeserver<release>-testing |
| | | |
− | +++ dist-sme<release>-contribs-buikl | + | + smecontribs<release> |
| | | |
− | ++ dist-sme<release>-addons | + | ++ smecontribs<release>-build |
| | | |
− | ++ dist-sme<release>-testing | + | ++ smecontribs<release>-testing |
| | | |
− | ++ dist-sme<release>-updates
| + | How to build etc. is covered in [[Howto interact with gitea and koji to do an rpm build for SME11]] |
− | | |
− | ++ dist-sme<release>-updates-testing
| |
− | | |
− | How to build etc. will be covered in the 'to be written' koji usage page...... | |
| | | |
| ===Additional Builders=== | | ===Additional Builders=== |
Line 123: |
Line 119: |
| === Bootstrap === | | === Bootstrap === |
| The setup of the repos used for building SME10, SME11 & SME12 are all included in the install script, but a brief description of what has been setup seems sensible. | | The setup of the repos used for building SME10, SME11 & SME12 are all included in the install script, but a brief description of what has been setup seems sensible. |
| + | |
| + | === Plugins === |
| + | At this time, we are using the following koji plugins to manage our builds: |
| + | |
| + | - koji-plugin-sign (to sign all built rpms with the appropriate koozali gnupg key) |
| + | |
| + | - tag2distrepo (to automatically regenerate external repositories, when we have included a new build) |
| + | |
| + | These have been installed manually, using the following instructions, but should be included in the install scripts in the future |
| + | |
| + | * Copy the tag2distrepo.py and sign.py programs into /usr/lib/koji-hub-plugins |
| + | * Set the configurations as per the directions for each plugin below |
| + | * Edit the following settings in /etc/koji-hub/hub.conf to enable the plugins:<syntaxhighlight lang="text"> |
| + | PluginPath = /usr/lib/koji-hub-plugins |
| + | Plugins = tag2distrepo sign |
| + | </syntaxhighlight> |
| + | |
| + | * Reload Apache<syntaxhighlight lang="bash"> |
| + | systemctl reload httpd |
| + | </syntaxhighlight> |
| + | |
| + | ==== koji-sign-rpm ==== |
| + | |
| + | * Make sure that the koji-sign selinux policy is installed and enabled<syntaxhighlight lang="bash"> |
| + | semodule --list-modules=full | grep koji-sign |
| + | </syntaxhighlight> |
| + | * If it's not listed, copy down the koji-sign.te file, compile and install it<syntaxhighlight lang="bash"> |
| + | checkmodule -M -m -o koji-sign.mod koji-sign.te |
| + | semodule_package -o koji-sign.pp -m koji-sign.mod |
| + | semodule -i koji-sign.pp |
| + | </syntaxhighlight> |
| + | * Copy your gpg keys etc. into /etc/koji-hub/plugins/gnupg/ |
| + | * Copy sign.conf into /etc/koji-hub/plugins/ |
| + | * Edit /etc/koji-hub/plugins/sign.conf to have the correct gpg key names for each tag and set enabled, when ready |
| + | |
| + | ==== tag2distrepo ==== |
| + | |
| + | * Set the extra options on the tag so the plugin will generate the repository: where ONLY those rpms signed with that key will be included in the generated external repository<syntaxhighlight lang="bash"> |
| + | koji edit-tag -x tag2distrepo.enabled=True -x tag2distrepo.keys='44922a28' smecontribs11 |
| + | </syntaxhighlight>You can check by doing:<syntaxhighlight lang="bash"> |
| + | koji taginfo smecontribs11 |
| + | </syntaxhighlight>and you should see<syntaxhighlight lang="text"> |
| + | Tag: smecontribs11 [38] |
| + | Arches: x86_64 |
| + | Groups: |
| + | Tag options: |
| + | mock.bootstrap_image : 'rockylinux:8' |
| + | mock.package_manager : 'dnf' |
| + | rpm.macro.dist : '.el8.sme' |
| + | rpm.macro.distribution : 'SME Server v11' |
| + | rpm.macro.packager : 'Koozali.org <http://www.koozali.org>' |
| + | rpm.macro.vendor : 'Koozali.org <http://www.koozali.org>' |
| + | tag2distrepo : '44922a28' |
| + | tag2distrepo.enabled : True |
| + | Inheritance: |
| + | </syntaxhighlight> |
| | | |
| ==Install - The long way (Beware: Demons lurk here) == | | ==Install - The long way (Beware: Demons lurk here) == |