esmtp

forse non è la sezione adatta, ma…

dovrei contattare l’owner, tuxbrewr del pacchetto in questione.

per alcune mie esigenze, ho ricreato il pacchetto utilizzando l’ultima versione (1.2).

poichè le mie prove sono andate a buon fine, volevo informarlo del fatto, in modo che lui
possa compiere prove più esaustive e poi creare il pacchetto ufficiale.

pensavo di usare bugzilla, ma bisogna creare un account…

se chi è ambassador mi da una mano…

R.

P.S.

Giusto per la cronache il pacchetto ufficiale per F17 è ancor fermo alla versione 1.0-8

Ciao! Hai aperto il post nella sezione più corretta :slight_smile:

Da https://admin.fedoraproject.org/pkgdb/acls/name/esmtp i responsabili del pacchetto sono più persone. Non ti so dire il motivo per cui non hanno effettuato l’aggiornamento all’ultima versione.

Puoi contattarli direttamente via email (puoi ricostruire l’email utilizzando il loro nickname che vedi e indirizzare la posta al dominio del fedoraproject: [email protected]) tutti insieme per renderli partecipe di questo oppure aprire un bug che forse permette di mantenere traccia anche di quel che sta succedendo (se altri vogliono partecipare).

Puoi facilmente crearti un account su bugzilla di redhat qui:
https://bugzilla.redhat.com/

Una volta creato l’account puoi aprire un nuovo bug report per il pacchetto in questione. Puoi andare direttamente qui:
https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora

Selezioni il pacchetto esmtp. Inserisci un oggetto del bugreport “Update to new version XXX for esmtp” per esempio.
Descrivi cosa hai fatto ed il risultato che hai ottenuto.
Se vuoi puoi condividere il tuo spec file ed eventuali patch aggiungendole al bugreport come allegati.

Altra cosa utile ed interessante che potresti fare è magari inviare una “scratch build” all’infrastruttura di fedora per far vedere il risultato della compilazione sulle varie versioni di fedora. La cosa però è più lunga da farsi e devi iscriverti al fedoraproject.

se vuoi, puoi passarci le informazioni dettagliate,
apriamo noi il bug su bugzilla.

Nel caso qualcuno fosse interessato e/o curioso e voglia fare ulteriori prove…

Esmtp è il giusto complemente per fetchmail; con fetchmail si scarica la posta dai vari account, con esmtp
si invia la posta utilizzando come relay i server dei vari account.

È già da un po che lo uso per inviare la posta, e adesso volevo provarlo come sostituto di sendmail/postfix
in modo da poterlo usare anche per la posta locale (su un portatile è un’ottima soluzione).

In rete ho trovato questo http://arstechnica.com/civis/viewtopic.php?f=16&t=46216, ma la soluzione proposta non funziona con la versione di esmtp fornita da Fedora,
la chiave force_mda non viene riconosciuta.
È necessario usare una versione più aggiornata.

Questi i passi che ho seguito:

  • reperimento sorgenti:
    dal sito esmtp ho scaricato l’ultima versione (1.2)
    ho scaricato la versione di Fedora in formato src.rpm

  • ho installato rpmdevtools e creato l’ambiente per ricreare il pacchetto.

  • ho estratto i file dal pacchetto di Fedora e li ho spostati nella struttura creata con gli rpmdevtool

  • ricreazione del pacchetto
    Per verificare le dipendenze (e la presenza di tutti gli strumenti per la compilazione) ho provato
    a compilare a mano i sorgenti delle due versioni (sh configure; make; ecc.).
    Tutto è andato a buon fine.

    Ho modificato il file spec in modo da usare i nuovi sorgenti e ricreato il pacchetto.

  • installazione ed uso
    per l’installazione nulla da dire, ma al primo uso si presenta un probelma non previsto di dipendenza,
    avrei dovuto leggere i vari file CHANGLOG/README ecc., occorre installare il pacchetto liblockfile.
    Installato il pacchetto tutto ha funzionato correttamente… o quasi, nel file di configurazine del
    proprio utente bisogna scrivere la chiave mda in questo modo

    mda = "/usr/bin/procmail -d <nome utente>"

    e non così

 mda = "/usr/bin/procmail -d %T"

altrimenti procmail si lamenta.

Questo è il file spec corretto.

Summary:        User configurable send-only Mail Transfer Agent
Summary(de):    Benutzerkonfigurierbarer nur versendender Mail Transfer Agent (MTA)
Name:           esmtp
Version:        1.2
Release:        1%{?dist}
Source:         http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
Source1:        esmtp-0.4.1-mutt
# esmtp system config file configuring procmail as mda, for the local-delivery
# sub-package
Source2:        esmtprc-mda
Url:            http://esmtp.sourceforge.net/
# no license in files. Some come from fetchmail, another from libesmtp
# esmtp-wrapper is GPLv2+
License:        GPL+ and GPLv2+
Group:          Applications/Internet
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Requires(post):  %{_sbindir}/alternatives
Requires(preun): %{_sbindir}/alternatives
BuildRequires:   libesmtp-devel
# these files are set up with alternatives
Provides:        %{_sbindir}/sendmail
Provides:        %{_bindir}/mailq
# for esmtp-wrapper
Requires:       coreutils
# esmtp doesn't listen on port 25, so it cannot provide server(smtp). 
# This implies that any program requiring a program that sends mail
# on port 25 should rely on another package than esmtp to fulfill the 
# dependency.
#Provides:       server(smtp)

%description
ESMTP is a user configurable relay-only Mail Transfer Agent (MTA) with a
sendmail-compatible syntax. It's based on libESMTP supporting the AUTH
(including the CRAM-MD5 and NTLM SASL mechanisms) and the StartTLS SMTP
extensions.

%description -l de
ESMTP ist ein benutzerkonfigurierbarer nur versendender Mail Transfer
Agent (MTA) mit einem Sendmail-kompatiblen Syntax. Es basiert auf 
libESMTP und unterstützt AUTH (mit CRAM-MD5 und NTLM SASL) und StartTLS
SMTP.

%package local-delivery
Summary:        Configuration for esmtp allowing for local delivery
Group:          Applications/Internet
Requires:       %{name} = %{version}-%{release}
Requires:       procmail
Requires:	liblockfile
Provides:       mail(local)

%description local-delivery
This packages contains the system ESMTP configuration file with local
delivery through an external mail delivery agent configured.

%prep
%setup -q
cp -p %{SOURCE1} mutt-esmtp
for file in esmtp.1 esmtprc.5; do
   iconv -f ISO8859-1 -t UTF8 < $file > $file.new && touch -r $file $file.new && mv -f $file.new $file
done

%build
%configure
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p'
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}
install -p -m0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/esmtprc
install -p -m0755 esmtp-wrapper $RPM_BUILD_ROOT%{_bindir}
# remove all the sendmail alternative installed, it is done in %post
rm $RPM_BUILD_ROOT%{_bindir}/mailq \
   $RPM_BUILD_ROOT%{_bindir}/newaliases \
   $RPM_BUILD_ROOT%{_libdir}/sendmail \
   $RPM_BUILD_ROOT%{_sbindir}/sendmail \
   $RPM_BUILD_ROOT%{_mandir}/man1/mailq.1 \
   $RPM_BUILD_ROOT%{_mandir}/man1/newaliases.1 \
   $RPM_BUILD_ROOT%{_mandir}/man1/sendmail.1

%post
# newaliases is fake, so don't install the links.
%{_sbindir}/alternatives --install %{_sbindir}/sendmail mta %{_bindir}/esmtp-wrapper 30 \
  --slave %{_prefix}/lib/sendmail mta-sendmail %{_bindir}/esmtp-wrapper \
  --slave %{_mandir}/man8/sendmail.8.gz mta-sendmailman %{_mandir}/man1/esmtp.1.gz \
  --slave %{_bindir}/mailq mta-mailq %{_bindir}/esmtp-wrapper \
  --slave %{_mandir}/man1/mailq.1.gz mta-mailqman %{_mandir}/man1/esmtp.1.gz

#  --slave %{_bindir}/newaliases mta-newaliases %{_bindir}/esmtp \
#  --slave %{_mandir}/man1/newaliases.1.gz mta-newaliasesman %{_mandir}/man1/esmtp.1.gz \

%preun
if  "$1" = 0 ]; then
   %{_sbindir}/alternatives --remove mta %{_bindir}/esmtp-wrapper
fi

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING NEWS README TODO sample.esmtprc mutt-esmtp
%{_bindir}/esmtp-wrapper
%{_bindir}/esmtp
%{_mandir}/man^3]/esmtp*

%files local-delivery
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/esmtprc

%changelog
* Fri Jan 13 2012 Fedora Release Engineering <[email protected]> - 1.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Feb 08 2011 Fedora Release Engineering <[email protected]> - 1.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Aug 21 2009 Tomas Mraz <[email protected]> - 1.0-6
- rebuilt with new openssl

* Fri Jul 24 2009 Fedora Release Engineering <[email protected]> - 1.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Feb 24 2009 Fedora Release Engineering <[email protected]> - 1.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Fri Jan 16 2009 Tomas Mraz <[email protected]> 1.0-3
- rebuild with new openssl

* Mon Nov 24 2008 Patrice Dumas <[email protected]> 1.0-2
- update to 1.0
- add a subpackage with local delivery enabled and dependency on procmail

* Tue Feb 19 2008 Fedora Release Engineering <[email protected]> - 0.6.0-4
- Autorebuild for GCC 4.3

* Tue Dec 18 2007 Patrice Dumas <[email protected]> 0.6.0-3
- keep more timestamps
- add a Requires(preun) for alternatives

* Thu Dec 06 2007 Release Engineering <rel-eng at fedoraproject dot org> - 0.6.0-2
 - Rebuild for deps

* Wed Oct 10 2007 Patrice Dumas <[email protected]> 0.6.0-1
- update to 0.6.0

* Mon Sep 11 2006 Patrice Dumas <[email protected]> 0.5.1-13
- rebuild for FC6

* Thu Jun 22 2006 Patrice Dumas <[email protected]> 0.5.1-12
- provide an alternative for /usr/lib/sendmail even if %%_lib isn't lib
  fix 196277

* Thu Feb 16 2006 Patrice Dumas <[email protected]> 0.5.1-11
- rebuild for fc5

* Sun Jan  8 2006 Patrice Dumas <[email protected]> 0.5.1-10
- convert man pages to utf8 (Dmitry Butskoy report)

* Wed Nov 16 2005 Patrice Dumas <[email protected]> 0.5.1-9
- remove the workaround for libesmtp not requiring openssl (#166844 closed)

* Sun Nov 13 2005 Patrice Dumas <[email protected]> 0.5.1-8
- rebuild against new openssl

* Mon Aug 29 2005 Patrice Dumas <[email protected]> 0.5.1-7
- uncomment german translation

* Fri Aug 26 2005 Patrice Dumas <[email protected]> 0.5.1-6
- add temporarily a BuildRequires: openssl-devel to workaround missing 
  Requires: of libesmtp-devel (#166844)

* Fri Aug 26 2005 Patrice Dumas <[email protected]> 0.5.1-5
- comment out german translation
- cleanups (thanks Aurelien Bompard)

* Sat Mar 12 2004 Patrice Dumas <[email protected]> 0.5.1-2
- Use alternatives

* Sat Mar 12 2004 Patrice Dumas <[email protected]> 0.5.1-1
- Use fedora-newrpmspec to update the spec file
- Package sendmail replacements

* Sat Nov 15 2003 Robert Scheck <[email protected]> 0.5.0-1
- Update to 0.5.0
- Added german description and summary

* Mon Oct 27 2003 Robert Scheck <[email protected]> 0.4.1-1
- Update to 0.4.1
- Initial Release for Red Hat Linux

Se non ci sono commenti negativi per una settimana seguiro i consigli di MarioS.

Intanto di già due dritte:

Puoi fare anche in questo modo:

$ yumdownloader --source nome_pacchetto

per scaricare l’rpm sorgente e poi all’interno della directory in cui c’è rpmbuild e tutto l’albero di sviluppo dei pacchetti rpm puoi fare:

$ rpm -ivh nome_pacchetto.src.rpm

Tutti i file saranno al loro posto.

Per le dipendenze invece, in fase di creazione del pacchetto puoi usare http://fedoraproject.org/wiki/Projects/Mock. Eventuali dipendenze necessarie in fase di costruzione rpm verranno fuori. Se poi il software necessita di altre dipendenze per funzionare, questo lo si vedrà installandolo e testandolo.

Infine, bisogna aggiungere una voce nel changelog di quello che hai fatto :slight_smile:

Ciao