Oggi andremo a creare dei pacchetti rpm per l’installazione di un server di posta (imap – pop3).Il nostro software di riferimento è Courier, reperibile come sorgente al seguente link.La creazione di pacchetti rpm è necessaria al momento si voglia utilizzare gli stessi pacchetti per altri server (o solo alcuni).Sono andato ad utilizzare l’ultima release disponibile che funziona perfettamente con il systemd.Ho utilizzato Centos7 come sistema operativo successivamente assicurarsi di avere i pacchetti necessari per costrire gli rpms;di seguito un estratto del files di spec di courier-authlib:
di courier:
Courier-authlib e courier-imap sono scritti in C ++, il che significa che è necessario assicurarsi che il compilatore C ++ e la libreria standard C ++ per il sistema siano installati. I pacchetti avranno nomi come “gcc-c ++” e “libstdc ++ – devel”. Sarà inoltre necessario il pacchetto “rpm-build”.Se si prevede di costruire corriere-authlib con il supporto per vpopmail, è necessario installare sia Qmail e vpopmail prima di procedere.
Eseguire il comando seguente per facilitare l’installazione dei pacchetti richiesti:
yum install rpm-build.x86_64 perl-CGI-Session.noarch gamin.x86_64 libtool openldap-devel mysql-devel zlib-devel sqlite-devel postgresql-devel gdbm-devel pam-devel expect gcc gcc-c++ libtool-ltdl-devel.x86_64 perl-Digest-MD5.x86_64 netpbm-progs mgetty-sendfax groff openssl-perl libidn-devel gamin-devel.x86_64 perl-ExtUtils-Embed.noarch mailcap.noarch
Scarica il codice sorgente corrente per Courier-authlib e Courier dalla pagina ufficiale di download. Ho scaricato anche il pacchetto courier-unicode, perchè richiesto nella compilazione di courier-authlib e maildrop.
Se non l’hai già fatto, configurare la propria directory home in modo che si possano costruire i file RPM senza aver bisogno dei privilegi di root. Ciò comporta due fasi:
Creare una struttura di directory RPM nella propria home directory.
mkdir -m 755 rpm mkdir -m 755 rpm/BUILD mkdir -m 755 rpm/RPMS mkdir -m 755 rpm/SOURCES mkdir -m 755 rpm/SPECS mkdir -m 755 rpm/SRPMS
Creare un file .rpmmacros nella propria home directory che contiene un puntatore alla struttura della directory appena creata. Io uso una seconda linea che segna tutti i pacchetti RPM che ho costruito con il mio nome e indirizzo email anche se non strettamente necessario. Il mio file è simile al seguente:
%_topdir /home/thomasmilian/rpm %packager thomasmilian <postmaster@prometheusproject.it>
Il passo successiva sarà quello di creare i pacchetti rpm
rpmbuild -ta courier-unicode-1.4.tar.bz2 rpmbuild -ta courier-authlib-0.66.3.tar.bz2 rpmbuild -ta courier-0.75.0.20150809.tar.bz2 rpmbuild -ta maildrop-2.8.3.20150809.tar.bz2
che saranno disponibili nel path /home/”user-name”/rpm/RPMS/x86_64/
Fine