The Red Little Pills - Sistems for me

 

Creare gli rpm della suite Courier con rpmbuild

Page history last edited by g0blin79 2 yrs ago

Come forse saprete Red Hat Enterprise Linux 5 (e più generalmente Red Hat) non distribuisce gli rpm di Courier. La pila software obbligatoria per creare un mailserver RedHat attraverso gli rpm è costituita da Postfix+Cyrus.

Dato che vengo da Debian e a me le costrizioni non piacciono (e men che meno mi piace troppo compilare :) ), prima di cedere ho provato a crearmi gli rpm da solo utilizzando i sorgenti di Courier e il tool rpmbuild.

 

Innanzitutto vi serve il pacchetto rpmbuild:

 

root@machine# rpm -ivh rpm-build-4.4.2-37.el5.i386.rpm

 

oppure attraverso yum, se lo avete configurato

 

root@machine# yum install -i rpm-build

 

Quindi basta recarsi sul sito di Courier e scaricarsi il pacchetto sorgente a questo indirizzo: http://www.courier-mta.org/download.php: verrete rimandati sul sito di sourceforge e da lì preleverete il pacchetto.

 

Ora, Courier ha un paio di cosette interessanti da sapere se fate questa cosa qui: punto primo ha come dipendenza diretta l'installazione delle Courier authentication library scaricabili sempre dalla pagina download di Courier; punto secondo Courier non può essere compilato da root e quindi dovrete attrezzarvi. Ma andiamo con ordine.

 

Dato che le courier-authlib-devel sono una dipendenza diretta di courier, è necessario creare prima gli rpm di questo pacchetto, installarlo e poi iniziare a creare gli rpm di Courier.

Insieme ai sorgenti di Courier, quindi, scarichiamoci qui i sorgenti delle courier-authlib. Se provate a crearne gli rpm (a voi serve sia il pacchetto base che il devel) in questo modo:

 

root@machine# rpmbuild -ta courier-authlib-0.59.3.tar.bz2

 

otterrete una serie di errori sulle dipendenze: fra le dipendenze di Courier e le dipendenze delle Courier-authlib dovrete installare un bel po' di pacchetti. Alcuni sono forniti direttamente dai cd di Rhel5 o sul RedHat Network, ma altri dovrete cercarli su internet, fra gli rpm di altre distro (consiglio sempre di usare gli rpm di CentOs o quelli di Fedora: evitate gli rpm di altre distribuzioni perchè è più facile che vi diano problemi).

 

Tra tutti ricordo i seguenti:

 

  • libtool
  • mysql-devel
  • postgresql-devel
  • gdbm-devel
  • pam-devel
  • gcc-c++
  • redhat-rpm-config
  • libtool-ltdl-devel.i386

 

per quanto riguarda courier-authlib e

 

  • expect
  • openssl-perl
  • xpdf (non esiste fra i pacchetti rhel5, scaricatelo qui
  • libXp (che è una dipendenza di xpdf)
  • openmotif22.i386 (altra dipendenza di xpdf)
  • fam-devel (anche questo dovete prenderlo su internet, qui
  • mgetty-sendfax
  • pcre-devel

 

e mi pare che può bastare ma non è detto, in ogni modo vedrete le dipendenze insoddisfatte quando lanciate il comando di rpmbuild sul sorgente che volete compilare e chiudere in rpm.

 

Una volta soddisfatte tutte le dipendenze compilate le courier-authlib, posizionandovi nella directory dove è presente il pacchetto sorgente, in questo modo:

 

root@machine# rpmbuild -ta courier-authlib-0.59.3.tar.bz2

 

Ci mette un po' ma alla fine vi crea i pacchetti .rpm nell'alberatura /usr/src/redhat/RPMS/i386/, recativici e installate i pacchetti in questo modo:

 

root@machine# cd /usr/src/redhat/RPMS/i386/

root@machine# rpm -ivh courier-authlib-0.59.3-10.rh5Server.i386.rpm courier-authlib-devel-0.59.3-10.rh5Server.i386.rpm

 

ne troverete altri dentro, ma non vi servono: conservateli e basta che non si sa mai.

 

Una volta installate le courier-authlib siete pronti per creare finalmente i pacchetti della suite courier. Però, come vi dicevo prima, c'è un problema: courier NON va compilato da root. Esiste una FAQ in rete per creare gli rpm di courier da utente, la trovate a questo indirizzo e vi consiglio di leggerla per completezza di informazioni. Qui di seguito riporterò i passi da fare in maniera "scimmiesca": nel senso che non ve li spiegherò...così imparate a leggervi anche le guide tecniche e non solo i wiki (e che devo fa tutto io!!!).

 

root@machine# cp courier-0.56.0.tar.bz2 /home/user

root@machine# su - user

user@machine$ mkdir -p rpm/{SOURCES,SPECS,BUILD,SRPMS,RPMS,RPMS/i386}

user@machine$ echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

user@machine$ rpmbuild -ta courier-0.56.0.tar.bz2

 

Alla fine della fiera troverete i vostri splendidi pacchetti courier (tutti, sia il pacchetto principale che courier-imap, courier-pop, courier-ldap, ecc...) nella directory dell'utente scelto in questa alberatura:

 

user@machine$ cd rpm/RPMS/i386/

user@machine$ ls

courier-0.56.0-1.5Server.i386.rpm

courier-maildrop-0.56.0-1.5Server.i386.rpm

courier-pgsql-0.56.0-1.5Server.i386.rpm

courier-debuginfo-0.56.0-1.5Server.i386.rpm

courier-maildrop-wrapper-0.56.0-1.5Server.i386.rpm

courier-pop3d-0.56.0-1.5Server.i386.rpm

courier-fax-0.56.0-1.5Server.i386.rpm

courier-mlm-0.56.0-1.5Server.i386.rpm

courier-webadmin-0.56.0-1.5Server.i386.rpm

courier-imapd-0.56.0-1.5Server.i386.rpm

courier-mlm-web-0.56.0-1.5Server.i386.rpm

courier-webmail-0.56.0-1.5Server.i386.rpm

courier-ldap-0.56.0-1.5Server.i386.rpm

courier-mysql-0.56.0-1.5Server.i386.rpm

 

Lascio un po' di link che possono tornare utili:

 

http://www.courier-mta.org

http://www.courier-mta.org/rpm.html

http://www.courier-mta.org/FAQ.html#rpm

http://prdownloads.sourceforge.net/courier/courier-0.56.0.tar.bz2

http://prdownloads.sourceforge.net/courier/courier-authlib-0.59.3.tar.bz2

Comments (0)

You don't have permission to comment on this page.