Changes

From SME Server
Jump to navigationJump to search
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) ==
381

edits

Navigation menu