Line 1: |
Line 1: |
− | Updated - July 2023 - Added latest smeserver-10-x86_64-base.cfg contents and git details | + | <!-- Updated - July 2023 - Added latest smeserver-10-x86_64-base.cfg contents and git details |
| | | |
| + | Updated Aug 2023 - Add Rocky 8 build details and notification of EL8 plague-client. |
| | | |
− | Login as brianr (or whatever)
| + | And added in instructions for pulling git repos down and mockbuilding locall. |
| + | --> |
| + | <nowiki>__TOC__</nowiki> |
| + | |
| + | ==Creating the build system== |
| + | |
| + | Build yourself a Rock8 system, probably minimal, but any level will do. |
| + | |
| + | https://rockylinux.org/download/ |
| + | |
| + | Then login to the new system as "brianr" (or whatever user you created as part of the install.) |
| | | |
| sudo dnf install epel-release | | sudo dnf install epel-release |
Line 8: |
Line 19: |
| sudo /usr/sbin/usermod -G mock brianr | | sudo /usr/sbin/usermod -G mock brianr |
| sudo dnf install glances | | sudo dnf install glances |
− | sudo yum install make rpm-build rpm-sig | + | sudo yum install make rpm-build rpm-sign |
| sudo dnf install xz | | sudo dnf install xz |
| | | |
Line 235: |
Line 246: |
| Then next time you need to access the repo to push and it asks for your credentials it will save them. | | Then next time you need to access the repo to push and it asks for your credentials it will save them. |
| This saves them apparently in plain to a restricted file called ".git-credentials" somewhere, however I've not found it yet! | | This saves them apparently in plain to a restricted file called ".git-credentials" somewhere, however I've not found it yet! |
| + | |
| + | ===Using the git utilities=== |
| + | |
| + | Say you want to move a package from CVS to the GIT system. Here are the instructions: |
| + | |
| + | * git-cvs2git.sh packagename organisation #Bring it across from CVS, create an equivalent git repo |
| + | * git-get-repo-and-build.sh packagename organisation #Prime it down from the gitr repo and "make mockbuild" on it. |
| + | * git-make-release.sh packagename organisation tagname releasetype #Create the release as part of the repo and copy the rpms to it as attachments. |
| + | |
| + | releasetypes are draft, prerelease or release. Note that a draft release is not visible unless you are logged in with write access to the repo. |
| + | |
| + | === Mockbuilding direct from the git repos === |
| + | |
| + | First create some sort of directory structure to hold the repo contents - this is what I use:<syntaxhighlight lang="shell"> |
| + | cd ~ |
| + | mkdir -p GITFiles |
| + | cd GITFiles |
| + | mkdir -p {smedev,smecontribs,smeserver} |
| + | |
| + | </syntaxhighlight>and add in the common directory which provides an environment for the mockbuild .<syntaxhighlight lang="shell"> |
| + | cd smecontribs |
| + | git clone https://src.koozali.org/smedev/common.git |
| + | cd smeserver |
| + | git clone https://src.koozali.org/smedev/common.git |
| + | </syntaxhighlight>we then can add in the repo we want to work on (you get the git clone link by browsing to [https://src.koozali.org/smecontribs/smeserver-mailstats https://src.koozali.org] and then (e.g.) https://src.koozali.org/smecontribs/smeserver-mailstats, or you can "guess" the URL!<syntaxhighlight lang="shell"> |
| + | cd ~/GITFiles/smecontribs |
| + | git clone https://src.koozali.org/smecontribs/smeserver-mailstats |
| + | </syntaxhighlight>Then to mockbuild it locally you can:<syntaxhighlight> |
| + | cd ~/smecontribs/smeserver-mailstats |
| + | make mockbuild |
| + | </syntaxhighlight>after a lot of on screen messages you should finally see a positive outcome message. |
| + | |
| + | If you want to pull down a complete set of repos for (e.g.) the core system, then by using one of the git-utils you can do this:<syntaxhighlight lang="shell"> |
| + | cd ~/GITFiles/smeserver |
| + | git-list-all-org-repos.sh smeserver | xargs -I % sh -c 'git clone https://src.koozali.org/smeserver/%' |
| + | </syntaxhighlight> |
| | | |
| ==Submitting jobs to the build system== | | ==Submitting jobs to the build system== |
Line 251: |
Line 298: |
| Need python2 | | Need python2 |
| sudo dnf install python2 | | sudo dnf install python2 |
− | Unfortunately it seems that the plague client needs things that Rocky is unable to provide (or at least I can't sort out!!). The perceived wisdom is to wait for the move from CVS to git which is expected for SME11. | + | Unfortunately it seems that the plague client needs things that Rocky is unable to provide (or at least I can't sort out!!). The perceived wisdom is to wait for the move from CVS to git which is expected for SME11. (Aug 2023) Apparently Jean-Paul has built a Plague-client for EL8 now - but I've not tried it! |
| | | |
| [[Category:Developer]] | | [[Category:Developer]] |