From SME Server
Jump to navigationJump to search

This page lists all the packages that SME Server needs to build for SME 11. The starting point is the smeos directory from SME 10. For each package it should be checked if it is still needed, or can we use an upstream package if one is available. see bug

Package Build Steps

things have changed between SME10 and SME11. we moved from cvs to git. We also need to change the name of a few old e-smith rpm to smeserver for better consistency, but without forgetting from where we are coming. git is available here :

TODO; write how to checkout and start a build

TODO ; reference on how to configure a build environement.

Required dependencies

created from the work on SME10, and updated.

you can use to fill the blank, reference where the rpm can be found (EPEL8,ROCKY8,REMI8,OPENFUSION8,RPMFUSION8,smedev,smetest) and the status (Build OK, NEED COPY,NOTABUG,WONTFIX,FIXED).

fill bug before building a new package :

Package Requiring Required Package Possible sources status Reference
dar par2cmdline epel par2cmdline-0.8.0-3.el8.x86_64.rpm
smeserver-apache mod_authnz_external epel mod_authnz_external-3.3.3-3.el8.x86_64.rpm
smeserver-base pv epel pv-1.6.6-7.el8.x86_64.rpm
smeserver-email perl(Net::Server::Fork) Rocky Linux AppStream perl-Net-Server-2.009-3.el8.noarch.rpm
smeserver-email perl(Net::Server) >= 0.85 Rocky Linux AppStream perl-Net-Server-2.009-3.el8.noarch.rpm
smeserver-grub grub2 Rocky Linux BaseOS grub2-pc-2.02-150.el8.rocky.0.1.x86_64.rpm
smeserver-horde php-pear(HTTP) none
smeserver-horde php-pear(Date) epel / remi php-pear-Date-1.4.7-22.el8.noarch.rpm


smeserver-horde php-pear(Services_Weather) none
smeserver-horde php-pear(File) none
smeserver-horde php-pear(Log) remi php-pear-Log-1.14.1-1.el8.remi.noarch.rpm
smeserver-horde php-pear(HTTP_Request) epel / remi php-pear-HTTP-Request-1.4.4-18.el8.noarch.rpm


smeserver-ldap libdb4-utils raven third party...

smeserver-devtools perl-Pod-Tests epel perl-Pod-Tests-1.20-6.el8.noarch.rpm
smeserver-lib perl(Authen::PAM) epel perl-Authen-PAM-0.16-37.el8.x86_64.rpm


perl(Taint::Util) epel perl-Taint-Util-0.08-22.el8.x86_64.rpm
smeserver-mysql mariadb-server Rocky Linux AppStream / mariadb mariadb-server-10.5.22-1.module
smeserver-nutUPS nut epel nut-2.8.0-3.el8.x86_64.rpm
smeserver-nutUPS nut-client epel
smeserver-proftpd proftpd epel proftpd-1.3.6e-6.el8.x86_64.rpm
smeserver-radiusd radiusclient-ng >= 0.5.6 none, should migrate to freeradius-client . radius
mbuffer epel mhash-devel-
smeserver-lib perl(Text::Template) Rocky Linux AppStream perl-Text-Template-1.51-1.el8.noarch.rpm (also module 1.58 and 1.47)
qpsmtpd perl(Net::IP) epel perl-Net-IP-1.26-20.el8.noarch.rpm
smeserver-qpsmtpd perl-MIME-tools epel perl-MIME-tools-5.509-9.el8.noarch.rpm
smeserver-qpsmtpd perl-File-MMagic Rocky Linux Devel perl-File-MMagic-1.30-16.el8.noarch.rpm
smeserver-qpsmtpd perl-Convert-TNEF epel perl-Convert-TNEF-0.18-17.el8.noarch.rpm
smeserver-spamassassin perl-razor-agents epel add dep back to spec perl-Razor-Agent-2.86-1.el8.x86_64.rpm
smeserver-spamassassin pyzor epel pyzor-1.0.0-28.20200530gitf46159b.el8.noarch.rpm
smeserver-horde php-pear-Log remi php-pear-Log-1.14.1-1.el8.remi.noarch.rpm
smeserver-horde php-pecl-geoip remi-modular wait is required by remi for php-horde-imp, php-horde-kronolith, php-horde-nag, php-horde-turba : available by modular only
smeserver-horde php-imap remi-modular wait is required by remi for php-horde-ingo, php-horde-mnemo : available by modular only
smeserver-horde php-channel-horde


remi wait remi php-channel-horde
smeserver-horde php-horde-Horde-Role remi wait remi php-horde-Horde-Role

RPM's from smeos directory

before attempting to buidl check if they are available and put them rather in the table above with source to copy from, with at least the version number we had on SME10.

if you need to build check if a newer version is available. Sometime we might need to stick to an old version so document here when uping version in reference.

koji build dist-sme11-os git+

where PACKAGE is listed under, and GITTAG should be found in

Package Builder status Reference
bglibs terryf builds ok
buffer-1.19-11 jpp builds ok
buildsys-macros jpp builds ok
cpu-1.4.3-14 trevorb builds ok
checkpassword-pam-0.99-1.3 trevorb builds ok
daemontools-0.76-7 jpp builds ok
DCC-2.3.168-1 trevorb builds ok
diald-1.0-5 jpp builds ok
dietlibc terryf builds ok
djbdns jpp builds ok
dot-forward-0.71-5 jpp builds ok
fastforward-0.51-5 jpp builds ok
flexbackup jpp builds ok
headermatch-0.0.1-4 jpp builds ok
ipsvd jpp builds ok ; do we still use it ? required by smeserver-qpsmtpd and smeserver-tftp-server
libnetfilter_acct-1.0.3 terryf builds ok


jpp builds ok
LPRng-3.8.35-7 jpp builds ok
mod_auth_tkt-2.3.99b1 jpp builds ok
perl-Algorithm-Dependency-1.112 trevorb builds ok
perl-Apache-AuthTkt-2.1-1 jpp builds ok
perl-CGI-FormMagick-0.93-8 jpp builds ok
perl-CGI-Persistent-1.11-1 jpp builds ok after perl-Object-Persistence
perl-ClamAV-Client-0.11-1 terryf builds ok cpan latest
perl-Class-ParamParser-1.041-1 jpp builds ok
perl-File-chmod-0.42 trevorb builds ok
perl-File-Flat-1.07 trevorb builds ok
perl-HTML-Tabulate-0.45-1 jpp builds ok cpan latest

openfusion perl-HTML-Tabulate-0.45-1.of.el8.noarch.rpm

perl-I18N-AcceptLanguage-1.04-1 terryf builds ok cpan latest
perl-IP-Country-2.28-1 terryf builds ok cpan latest
perl-Mail-DMARC terryf builds ok

cpan has newer version

perl-Net-DNS-Native >= 0.15 terryf build ok

cpan newer version 0.22

perl-Net-Ident-1.25 jpp builds ok cpan latest
perl-Object-Persistence-0.92-8 jpp builds ok
perl-Passwd-Unix-1.09-1 jpp builds ok cpan latest
perl-Quota-1.8.2 jpp builds ok cpan latest
perl-Session-Token-1.503 terryf builds ok cpan latest

perl-Struct-Compare-1.0.1-1 jpp builds ok cpan latest
perl-Test-ClassAPI-1.07 trevorb builds ok
perl-Test-Harness-Straps-0.30 jpp builds ok
perl-Test-Inline-2.214-2 trevorb builds ok
perl-Unix-ConfigFile-0.06 jpp builds ok
perl-WWW-Automate-0.21 jpp builds ok

cpan latest

php-horde-Horde-ActiveSync-2.34.0 jpp builds ok

will need v3

php-horde-Horde-Service-Facebook-2.0.9 jpp builds ok

will need v3

php-horde-Horde-Service-Twitter-2.1.5 jpp builds ok

will need v3

php-pear-Auth-SASL2-0.1.0 brianr builds ok
php-pear-Console-GetoptPlus-1.0.0RC1 brianr builds ok
php-pear-Date-Holidays-Australia-0.2.2 jpp builds ok

php-pear-Date-Holidays-Denmark-0.1.3 terryf builds ok

php-pear-Date-Holidays-France-0.1.0 terryf builds ok

php-pear-Date-Holidays-Germany-0.1.2 terryf builds ok

php-pear-Date-Holidays-Italy-0.1.1 terryf builds ok

php-pear-Date-Holidays-Netherlands-0.1.4 terryf builds ok

php-pear-Date-Holidays-Norway-0.1.2 terryf builds ok

php-pear-Date-Holidays-Portugal-0.1.1 terryf builds ok

php-pear-Date-Holidays-Russia-0.1.0 terryf builds ok

php-pear-Date-Holidays-Slovenia-0.1.2 terryf builds ok

php-pear-Date-Holidays-Sweden-0.1.3 terryf builds oj

php-pear-Date-Holidays-Turkey-0.1.1 terryf builds ok

php-pear-HTTP_WebDAV_Server-1.0.0RC8 brianr builds ok
php-pear-Math_BigInteger-1.0.3 brianr builds ok
php-pear-XML-Parser2-0.1.0 brianr builds ok
qmail jpp builds ok
qmailanalog-0.70-9 jpp builds ok
qpsmtpd terryf builds ok
qpsmtpd-plugins brianr builds ok

merge to smeserver-qpsmtpd?

runit jpp builds ok
smeserver trevorb builds ok
smeserver-apache trevor builds ok
smeserver-audittools brianr builds ok
smeserver-backup terryf builds ok
smeserver-base-5.8.1-32 jpp builds ok
smeserver-clamav brianr builds ok
smeserver-devtools-2.6.0-19 jpp builds ok
smeserver-dnscache terryf builds ok
smeserver-domains terryf builds ok
smeserver-dovecot brianr builds ok
smeserver-email terryf builds ok
smeserver-flexbackup terryf builds ok
smeserver-formmagick terryf builds ok
smeserver-grub terryf builds ok
smeserver-horde terryf builds ok
smeserver-hosts terryf builds ok
smeserver-ibays terryf builds ok
smeserver-ldap terryf builds ok
smeserver-lib-2.6.0-18 terryf builds ok
smeserver-lib-compspec brianr builds ok
smeserver-locale brianr builds ok
smeserver-LPRng jpp builds ok
smeserver-manager Will pull this across as "smeserver-manager-panels".
smeserver-manager-panels jpp builds ok
e-smith-manager -2.8.0-40 jpp builds ok
smeserver-manager-locale brianr builds ok
smeserver-manager-jsquery brianr builds ok
smeserver-mysql brianr builds ok
smeserver-ntp brianr builds ok
smeserver-nutUPS brianr builds ok
smeserver-oidentd jpp builds ok
smeserver-openssh jpp builds ok
smeserver-packetfilter terryf builds ok
smeserver-php jpp builds ok
smeserver-portforwarding brianr builds ok
smeserver-proftpd brianr builds ok
smeserver-proxy brianr builds ok
smeserver-qmail brianr builds ok
smeserver-qmailanalog brianr builds ok
smeserver-quota brianr builds ok
smeserver-qpsmtpd brianr builds ok
smeserver-radiusd brianr builds ok
smeserver-release brianr builds ok
smeserver-runit jpp builds ok
smeserver-samba brianr builds ok
smeserver-spamassassin brianr builds ok
smeserver-support brianr builds ok
smeserver-test brianr builds ok
smeserver-tinydns brianr builds ok
smeserver-viewlogfiles terryf builds ok
smeserver-yum brianr builds ok
spamassassin jpp builds ok resubmitted after 'perl-IP-Country-DB_File' 'perl-Net-DNS-Nameserver'
tai64nunix-0.70-6 jpp builds ok
timeobjects-2.1.2 jpp builds ok
ucspi-tcp jpp builds ok
ulogd jpp builds ok
xlhtml-0.5 brianr builds ok

not installed on SME10

vconfig jpp builds ok need to check if really used
php-pear-HTTP jpp builds ok
php-pear-Services-Weather jpp builds ok
php-pear-File jpp builds ok
perl-Time-TAI64 jpp builds ok
perl-IP-Country-DB_File jpp builds ok

from perl-Net-DNS-1.15-1

jpp builds ok
perl-JSON-PP-4.04 jpp builds ok
perl-Net-IPv4Addr >= 0.10 jpp builds ok

from libdb4

jpp builds ok
perl(Mojo::JWT) >= 0.08-1 trevorb builds ok
perl(Mojolicious::Plugin::CSRFDefender) >= 0.0.8 trevorb builds ok cvs smeserver
perl(Mojolicious::Plugin::I18N) >= 1.6 trevorb builds ok
perl(Mojolicious::Plugin::RenderFile) >= 0.12 trevorb builds ok
perl(Crypt::Password) trevorb builds ok
perl(Tie::Array::CSV) trevorb builds ok
perl-File-MMagic trevorb builds ok
php-pear-Crypt-Blowfish jpp builds ok
php-pear-File-CSV jpp builds ok
php-pear-File-Util jpp builds ok
php-pear-MDB2 jpp builds ok
php-pear-Net-URL2 jpp builds ok
php-pear-XML-RPC2 jpp builds ok
ntpsec jpp builds ok
pwauth jpp epel pwauth-2.3.10-25.el9.x86_64.rpm

but need a patch see

Packages in git, but we will use upstream

in git but use the upstream version
Package Builder status Reference
dar X epel: dar-2.7.6-2.el8.x86_64.rpm
geoipupdate X Rocky Linux AppStream : geoipupdate-2.5.0-3.el8.x86_64.rpm

unless we see we have a local patch to use older app

maildrop-2.8.4 X epel maildrop-3.0.8-1.el8.x86_64.rpm
mbuffer X epel mbuffer-20190725-1.el8.x86_64.rpm
mod_perl X epel mod_perl-2.0.12-1.el8.x86_64.rpm
oidentd >= 2.0.6 X epel oidentd-2.5.0-1.el8.x86_64.rpm
perl-Crypt-Cracklib X epel perl-Crypt-Cracklib-1.7-24.el8.x86_64.rpm
perl-Data-Validate-Domain X epel perl-Data-Validate-Domain-0.15-7.el8.noarch.rpm

openfusion perl-Data-Validate-Domain-0.14-1.of.el8.noarch.rpm

perl-IO-Socket-SSL X Rocky Linux AppStream perl-IO-Socket-SSL-2.066-4.module
perl-Mail-RFC822-Address X epel perl-Mail-RFC822-Address-0.3-36.el8.noarch.rpm
perl-Net-IMAP-Simple-1.1916 X openfusion perl-Net-IMAP-Simple-1.2212-1.of.el8.noarch.rpm X epel 8 perl-Mojolicious-8.42-1.el8.noarch.rpm
perl-RPM2 X epel perl-RPM2-1.4-10.el8.x86_64.rpm
ppp X Rocky Linux BaseOS ppp-2.4.7-26.el8_1.x86_64.rpm

Packages to obsolete from git / not to build

in git but obsolete not to build.
Package Builder status Reference
cvm to drop!
pam_abl need git

not installed on SME10

rssh to drop unmaintianed and unsecure

need to import - EL7:

smeserver-cvm-unix-local to drop!
smeserver-dynamicdns-dyndns to drop? to drop?
smeserver-dynamicdns-tzo to drop?
smeserver-dynamicdns-yi to drop?
whiptail usage drop, references needs to be removed

wv-1.2.7 cc1: some warnings being treated as errors


warning: 'password' may be used uninitialized in this function [-Wmaybe-uninitialized]

=> not installed on SME10 ; was needed by e-smith-horde, but not anymore

new version and last version (2009)

Bare install test

Warning.png Warning:
WIP inspired from Sme10BuildQueue#Bare install test

install minimal iso for rocky 8

configure network access during installation with option to restore. Configure only root user.

install EPEL8 repo.

dnf install epel-release

install remi 8 repos

dnf install

update, and install those package, as the might get handy (nb iptraf is now iptraf-ng)

dnf update -y
dnf install mc htop iftop iptraf screen wget vim ppp traceroute setserial traceroute cyrus-sasl-md5 cyrus-sasl device-mapper-multipath dhcp-client fetchmail ftp iscsi-initiator-utils lm_sensors minicom mt-st sysfsutils tcpdump telnet wodim
  • disable SELinux

SELinux is enabled by default. We want to disable it for there are a few services (e.g. httpd) that get blocked by SELinux. To check the status of SELinux you can enter the command:


SELinux uses policies that conflict with some of the SME Server services ports like https. One can adjust the allowed ports, or remove the SELinux policies and disable SELinux by the following commands:

setenforce 0
sed -i -e 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
dnf remove selinux-policy-targeted
  • SSH

SSH is present and is enabled by default at this stage. To check issue:

systemctl status sshd

You may have a slow login to ssh, if needed :

vi /etc/ssh/sshd_config

You have to restart the ssh service , You might also want to wget your public keys in /root/.ssh/authorized_keys

systemctl restart sshd

update packages

dnf update

install SME11 repo

vim /etc/yum.repos.d/smeserver11.repo

and paste

name=SME Server - dev
name=SME Server - dev
name=SME Server - dev
name=SME Server - dev


install SME10 key

rpm --import RPM-GPG-KEY-koozali

install openfusion 8

dnf install


dnf --enablerepo=* clean all

try installing SME11 packages, you might need to enable some repo using --enablerepo=smedev,epel,elrepo ... e.g.

dnf module switch-to php:remi-8.3 -y
dnf module switch-to mariadb:10.5 -y
dnf module switch-to python36:3.6 -y
dnf module install php:remi-8.3
dnf install e-smith-manager smeserver-* --enablerepo=koji-sme11-os,epel,remi,remi-safe,of --exclude=smeserver-mariadb*  --exclude=smeserver-horde
Warning.png Warning:
we will drop horde support, so we have no limitation in keeping php 8.1 which is obsolete, I suggest to go with 8.3 EOL 23 Nov 2026

et voilà, you have a non functional SME 11 over Rocky 8 minimal.

Also remember that the legacy server manager (SM1) is not installed by the above, so, perhaps:

dnf install e-smith-manager 

If you then find you get an SM1 login but the login just celars the fields and does not login, then you can fix this with:

expand-template /etc/e-smith/web/common//cgi-bin/AuthTKT.cfg

## This is safer to be done directly on tty, not via ssh:

Get rid of Network-Manager NOW!

systemctl stop NetworkManager
systemctl disable NetworkManager 
systemctl stop NetworkManager-wait-online.service
systemctl disable NetworkManager-wait-online.service
systemctl start networking
dnf remove NetworkManager* --noautoremove

then you could try, (you might have no network form there), unlink this to avoid root password locking

unlink  /etc/e-smith/events/post-install/S10init-passwords
/sbin/e-smith/signal-event post-install

if you want to avoid the reboot and configure loop for the moment you can do

passwd admin
/usr/bin/systemctl restart rsyslog
/sbin/e-smith/db accounts setprop admin PasswordSet yes
/sbin/e-smith/db configuration set PasswordSet yes
/sbin/e-smith/db configuration setprop bootstrap-console Restore disabled

then try to configure using console


To get better information from Server Manager 2 (this replaces the barfing dinosaur):

mkdir -p /etc/e-smith/templates-custom/usr/share/smanager/conf/srvmngr.conf/
cat <<EOF > /etc/e-smith/templates-custom/usr/share/smanager/conf/srvmngr.conf/30Other
    modules_dir => 'lib/SrvMngr/Controller',
    webapp => 'smanager',
    mode => 'development',
    debug => 1,
expand-template /usr/share/smanager/conf/srvmngr.conf
signal-event smanager-refresh

then to be sure to get sshd back

/sbin/e-smith/db configuration setprop  sshd status enabled PermitRootLogin yes access public
# add PasswordAuthentication yes  to enable password login
/sbin/e-smith/expand-template /etc/ssh/ssh_config
/sbin/e-smith/expand-template /etc/ssh/sshd_config
/usr/bin/systemctl restart sshd.service 
/sbin/e-smith/signal-event  remoteaccess-update

then you can

signal-event post-upgrade; 
signal-event reboot; 

or maybe

signal-event bootstrap-console-save;

## end of the part better on tty than on sshd

you can also tidy a little

dnf remove NetworkManager* --noautoremove

you might need avoid using sme* repo except for koji builsdsystem one as long as they are not populated to do so:

mkdir -p /etc/e-smith/templates-custom/etc/dnf/dnf.conf/
echo "#rem custom"> /etc/e-smith/templates-custom/etc/dnf/dnf.conf/20main_reposdir
expand-template /etc/dnf/dnf.conf

also you might want to plan ahead and put the koji repo for when you will have deleted the custom template.

vim /etc/yum.smerepos.d/koji.repo

and paste:


from there if you are lucky it worked and you can try to test , report as bug or even create a patch


we will have horde 6 in remi Horde 6 requires PHP 8.1 or PHP 8.2 versions. Support for PHP 8.3 is in development.

Horde 6 has been tested with MariaDB 10.8 and MariaDB 10.9 - any MariaDB of the 10.x series should work.

* ensure mariadb uses "innodb" as its default engine

* ensure the PHP server can reach the database hostname and port

* use utf8mb4 as default charset.

* create a database schema. This documentation assumes the db name is "horde"