Setting up RPM Building for SME Server on rocky 8

From SME Server
Revision as of 09:06, 12 October 2021 by Brianr (talk | contribs)
Jump to navigationJump to search

Login as brianr.

sudo dnf install epel-release
sudo dnf install mock
sudo /usr/sbin/usermod -G mock brianr
sudo dnf install glances
sudo yum install make rpm-build rpm-sig

(Missing python-ctypes??)

cd /etc/mock/
sudo rm site-defaults.cfg 
sudo dnf install wget
sudo wget http://mirror.contribs.org/contribs/dani/mock/site-defaults.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-8-i386-base.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-8-i386-iso.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-8-x86_64-base.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-8-x86_64-iso.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-9-i386-base.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-9-i386-iso.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-9-x86_64-base.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-9-x86_64-iso.cfg
sudo wget http://mirror.contribs.org/contribs/dani/mock/smeserver-10-x86_64-base.cfg
sudo chown root:mock /etc/mock/*

Note that the smeserver-10 file is incomplete (and actually the only one we really want!). Ideally the full one will be uploaded in time. See later, I copied from my Centos 7 build system.

#!/bin/sh
mkdir ~/rpmbuild
for i in BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
do
 mkdir ~/rpmbuild/$i
done
sudo dnf install cvs
sudo nano /etc/profile.d/smebuild.sh

# Developer environment
# This gets symlinked into /etc/profile.d
export CVS_RSH=ssh # tell CVS to use ssh
 # DO NOT set CVSROOT
alias rm='rm -i'
alias cp='cp -i --preserve=timestamps'
alias mv='mv -i'

Create the ssh details for the build server:

mkdir -p ~/.ssh
nano ~/.ssh/config
Host  shell.koozali.org
User  brianr
Port  222
IdentityFile /home/brianr/.ssh/smeserver-buildsys
ForwardAgent yes

Make Sure your public and private keys are syncronised onto the build server (I just copied the key files to the rocky server from my Centos 7 server).

Then pull in the complete Contribs tree

cvs -z3 -d:ext:shell.koozali.org:/cvs/smeserver co -P rpms

Disable selinux by editing config replace "enforcing" by "disabled"

sudo nano /etc/sysconfig/selinux

and reboot.

Need also to copy over from current build system ~/.plague-client.cfg .rpmmacros .cvspass (although this one is empty?)

AND smeserver-10-x86_64-base.cfg from (and to) /etc/mock as the one downloaded above seems to be not complete for sme10.

make mockbuild runs ok.

Not yet tried submitting build to buildsys - need to find plague-client to download - found Centos 7

wget ftp://ftp.pbone.net/mirror/ftp.centos.org/7.9.2009/infra/x86_64/infra-common/Packages/p/plague-client-0.4.5.8-19.el7.4.noarch.rpm
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/7.9.2009/infra/x86_64/infra-common/Packages/p/plague-common-0.4.5.8-19.el7.4.noarch.rpm
wget ftp://ftp.pbone.net/mirror/vault.centos.org/7.6.1810/cloud/x86_64/openstack-stein/python2-pyOpenSSL-19.0.0-1.el7.noarch.rpm
wget ftp://ftp.pbone.net/mirror/ftp.centos.org/7.9.2009/cloud/x86_64/openstack-stein/Packages/p/python2-cryptography-2.5-1.el7.x86_64.rpm

Need python2

 sudo dnf install python2