Setting up RPM Building for SME Server on rocky 8
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.
#!/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
Install fails:
[brianr@rockysmebuild ~]$ sudo dnf install ./plague-client-0.4.5.8-19.el7.4.noarch.rpm ./plague-common-0.4.5.8-19.el7.4.noarch.rpm ./python2-pyOpenSSL-19.0.0-1.el7.noarch.rpm Last metadata expiration check: 1:07:26 ago on Sun 10 Oct 2021 05:53:43 EDT. Error: Problem 1: conflicting requests - nothing provides /usr/bin/python needed by plague-client-0.4.5.8-19.el7.4.noarch Problem 2: conflicting requests - nothing provides python2-cryptography >= 2.2.1 needed by python2-pyOpenSSL-19.0.0-1.el7.noarch Problem 3: package plague-common-0.4.5.8-19.el7.4.noarch requires pyOpenSSL, but none of the providers can be installed - conflicting requests - nothing provides python2-cryptography >= 2.2.1 needed by python2-pyOpenSSL-19.0.0-1.el7.noarch (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
Need python2
sudo dnf install python2