Rocky9 as a build system

From SME Server
Revision as of 15:30, 7 February 2023 by Brianr (talk | contribs)
Jump to navigation Jump to search

Instructions for using Rocky9 as an SMEServer build system - using git and mock to build rpm.

1. Minimal Rocky install - 2Gb RAM, 32Gb HD

2. Extras needed: git, rpmbuild, epel-release, mock, make (and I use mc).

3. Add user to mock group "sudo usermod -a -G mock <username>"

4. Add "smeserver-10-x86_64-base.cfg" to /etc/mock:

config_opts['package_manager'] = 'yum'
config_opts['use_nspawn'] = False

config_opts['root'] = 'smeserver-10-x86_64'
config_opts['target_arch'] = 'x86_64'
config_opts['dist'] = '.el7.sme'
config_opts['chroot_setup_cmd'] = ' install @buildsys-build  @buildsys scl-utils-build python27-build '
 
config_opts['plugin_conf']['ccache_opts']['dir'] = "%(cache_topdir)s/ccache/x86_64/"
 
config_opts['macros']['%distribution'] = "SME Server v10"
config_opts['macros']['%packager'] = "Koozali.org <http://www.koozali.org>"
config_opts['macros']['%vendor'] = "Koozali.org <http://www.koozali.org>"
config_opts['macros']['%dist'] = ".el7.sme"
 
config_opts['yum.conf'] = """
[main]
cachedir=/var/cache/yum
debuglevel=4
logfile=/var/log/yum.log
reposdir=/dev/null
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
syslog_ident=mock
syslog_device=
 
[os]
name=os
baseurl=http://buildsys.koozali.org/build/7/os/x86_64
exclude=buildsys-macros
 
[updates]
name=updates
baseurl=http://buildsys.koozali.org/build/7/updates/x86_64
exclude=buildsys-macros
 
[fastrack]
name=fastrack
baseurl=http://buildsys.koozali.org/build/7/fastrack/x86_64
 
# centos cr
[opt1]
name=opt1
baseurl=http://buildsys.koozali.org/build/7/opt1/x86_64
 
# centos extra
[opt2]
name=opt2
baseurl=http://buildsys.koozali.org/build/7/opt2/x86_64

# Not used
[opt3]
name=opt3
baseurl=http://buildsys.koozali.org/build/7/opt3/x86_64

[epel]
name=epel
baseurl=http://download.fedoraproject.org/pub/epel/7/x86_64
#baseurl=http://buildsys.koozali.org/build/7/epel/x86_64
includepkgs=ccache mhash* perl-Taint-Util libdb4 libdb4-devel php-channel-horde php-horde-* perl-Class-Method-Modifiers perl-Class-XSAccessor perl-Devel-GlobalDestruction perl-Sub-Name perl-indirect perl-B-Hooks-OP-Check perl-ExtUtils-Depends perl-Lexical-SealRequireHints perl-Params-Classify perl-Dist-CheckConflicts perl-Math-Int64 perl-Sort-Naturally perl-Sub-Exporter-Progressive perl-Bytes-Random-Secure perl-Crypt-Random-TESHA2 perl-Crypt-Random-Seed perl-Math-Random-ISAAC kmodtool  libmaxminddb-devel libmaxminddb

#[rpmforge]
#name=rpmforge
#baseurl=http://buildsys.koozali.org/build/7/rpmforge/x86_64
#includepkgs=perl-Taint-Util
 
[rpmfusion]
name=rpmfusion
baseurl=http://download1.rpmfusion.org/free/el/updates/7/x86_64
includepkgs=ffmpeg* libva* x264-libs xvidcore librtmp 

[sclo-sclo]
name=sclo-sclo
baseurl=http://mirror.centos.org/centos/7/sclo/x86_64/sclo
includepkgs=python27*

[sclo-rh]
name=sclo-rh
baseurl=http://mirror.centos.org/centos/7/sclo/x86_64/rh
includepkgs=python27* python33* rh-mongodb26* rh-mongodb32* rh-mongodb34* nodejs010* rh-nodejs6*

[buildsys-core]
name=buildsys-core
baseurl=http://buildsys.koozali.org/build/10/smeserver-core/x86_64
includepkgs=bglibs buildsys-macros cvm* dietlibc* e-smith-devtools perl-Test-Inline perl-IO-Socket-IP perl-Geography-Countries perl-Object-Persistence perl-bareword-filehandles perl-multidimensional perl-strictures perl-Module-Runtime perl-Role-Tiny perl-Sub-Quote perl-Bytes-Random-Secure

[buildsys-contribs]
name=buildsys-contribs
baseurl=http://buildsys.koozali.org/build/10/smeserver-contribs/x86_64
includepkgs=libevent2* perl-Ezmlm perl-Crypt-GPG perl-IPC-Run libevhtp* libsearpc* ccnet* libccnet* libzdb* libccnet* evhtp* sqlite* ocaml camlp5 python27-python-versiontools libarchive*

[groups]
name=groups
baseurl=http://buildsys.koozali.org/build/10/smeserver-groups/x86_64
"""

5 cd ~; mkdir GitFiles; cd GitFiles; git clone https://src.koozali.org/brianr/smeserver-mailstats.git; cd smeserver-mailstats/contribs10; make mockbuild