# TODO:
# - backport man-pages from pine.spec
-# - alpine should obsolete pine, link pine -> alpine should be made
-# - pine -> alpine config converter
-# - review patches from pine:
-# - home_etc support
-# - ....many more
-Summary: University of Washington Pine mail user agent
-Summary(pl.UTF-8): Klient pocztowy Pine z Uniwersytetu w Waszyngtonie
+# - separate package with tcl web-frontend
+# - fix as-needed
+%define ver 2.00
+%define patchlevel 21
+Summary: University of Washington Alpine mail user agent
+Summary(pl.UTF-8): Klient pocztowy Alpine z Uniwersytetu w Waszyngtonie
Name: alpine
-Version: 0.999
-Release: 0.3
+Version: %{ver}.%{patchlevel}
+Release: 1
Epoch: 1
-License: Apache License 2.0
+License: Apache v2.0
Group: Applications/Mail
-Source0: ftp://ftp.cac.washington.edu/alpine/%{name}-%{version}.tar.gz
-# Source0-md5: 082de388a998c1faa2385ebdfd6800f5
+# Main site:
+#Source0: ftp://ftp.cac.washington.edu/alpine/%{name}-%{version}.tar.gz
+# Source with applied patches from http://staff.washington.edu/chappa/alpine/
+Source0: http://staff.washington.edu/chappa/alpine/patches/alpine-%{ver}/%{name}-%{ver}_%{patchlevel}.tar.gz
+# Source0-md5: f310476a8d63710abfe8de666174eaaa
Source1: pico.desktop
-# http://staff.washington.edu/chappa/alpine/info/all.html
-Patch0: http://staff.washington.edu/chappa/alpine/patches/%{name}-%{version}/all.patch.gz
-URL: http://www.washington.edu/alpine
+Source2: %{name}.desktop
+Source3: %{name}.png
+Patch0: %{name}-index_display.patch
+Patch1: %{name}-doc.patch
+Patch2: %{name}-filter.patch
+Patch3: %{name}-fhs.patch
+Patch4: %{name}-libc-client.patch
+Patch5: %{name}-ssl.patch
+Patch6: %{name}-no_1777_warning.patch
+Patch7: %{name}-home_etc.patch
+URL: http://www.washington.edu/alpine/
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: home-etc-devel
+%if "%{pld_release}" != "ac"
BuildRequires: krb5-devel
+%endif
BuildRequires: ncurses-devel
BuildRequires: openldap-devel
BuildRequires: openssl-devel
BuildRequires: pam-devel
-BuildRequires: tcl-devel
+# Only for web-frontend:
+#BuildRequires: tcl-devel
+Suggests: aspell
+Suggests: ca-certificates
+Conflicts: ca-certificates < 20080809-4
+Provides: pine = 6.00
+Obsoletes: pine
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define alpineconfdir /etc/%{name}
+%define alpineconfdir %{_sysconfdir}/%{name}
+%define filterout_ld -Wl,--as-needed
%description
Alpine -- an Alternatively Licensed Program for Internet News & Email
ciągle rośnie.
%package -n pico
-Summary: Simple text editor in the style of the Pine Composer
-Summary(pl.UTF-8): Prosty edytor tekstowy w stylu alpine
-Summary(pt_BR.UTF-8): Editor de textos para terminal simples e fácil de usar
-Group: Applications/Editors
+Summary: Simple text editor in the style of the Pine Composer
+Summary(pl.UTF-8): Prosty edytor tekstowy w stylu alpine
+Summary(pt_BR.UTF-8): Editor de textos para terminal simples e fácil de usar
+Group: Applications/Editors
+Provides: pico = 6.00
%description -n pico
Pico is a simple, display-oriented text editor based on the Alpine
%description -n pico -l pl.UTF-8
Pico jest prostym, zorientowanym na wyświetlanie edytorem bazującym na
alpine. Tak jak w pine komendy są wyświetlane na dole ekranu oraz
-dostępna jest pomoc konteksowa. Wpisywane znaki są natychmiast
+dostępna jest pomoc kontekstowa. Wpisywane znaki są natychmiast
włączane do tekstu.
%description -n pico -l pt_BR.UTF-8
e ajuda de acordo com o contexto está disponível.
%package -n pilot
-Summary: Simple file system browser in the style of the Alpine Composer
-Summary(pl.UTF-8): Prosta przeglądarka plików w stylu composera alpine
-Summary(pt_BR.UTF-8): Navegador de sistemas de arquivos no estilo do compositor do Alpine
-Group: Applications/Shells
+Summary: Simple file system browser in the style of the Alpine Composer
+Summary(pl.UTF-8): Prosta przeglądarka plików w stylu composera alpine
+Summary(pt_BR.UTF-8): Navegador de sistemas de arquivos no estilo do compositor do Alpine
+Group: Applications/Shells
+Provides: pilot = 6.00
%description -n pilot
Pilot is a simple, display-oriented file system browser based on the
-Alpine message system composer. As with Alpine, commands are displayed at
-the bottom of the screen, and context-sensitive help is provided.
+Alpine message system composer. As with Alpine, commands are displayed
+at the bottom of the screen, and context-sensitive help is provided.
%description -n pilot -l pl.UTF-8
Pilot jest prostą, zorientowaną na wyświetlanie przeglądarką plików w
-stylu compsera pine. Podobnie jak w alpine polecenia sa wyświetlane na
-dole ekranu oraz jest dostępna pomoc kontekstowa.
+stylu composera pine. Podobnie jak w alpine polecenia są wyświetlane
+na dole ekranu oraz jest dostępna pomoc kontekstowa.
%description -n pilot -l pt_BR.UTF-8
Pilot é um navegador de sistemas de arquivos baseado no Pine. Assim
ajuda de acordo com o contexto está disponível.
%prep
-%setup -q
+%setup -q -n %{name}-%{ver}
%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%build
+rm -f libtool missing
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
%configure \
+ --%{?debug:en}%{!?debug:dis}able-debug \
--enable-quotas \
+ --without-tcl \
--with-smtp-msa=%{_libdir}/sendmail \
- --with-spellcheck-prog=aspell \
- --with-system-pinerc=%{alpineconfdir}/%{name}.conf \
- --with-system-fixed-pinerc=%{alpineconfdir}/%{name}.conf.fixed \
+ --with-simple-spellcheck=aspell \
+ --with-system-pinerc=%{_sysconfdir}/%{name}/%{name}.conf \
+ --with-system-fixed-pinerc=%{_sysconfdir}/%{name}/%{name}.conf.fixed \
--with-krb5-dir=%{_prefix} \
--with-ldap-dir=%{_prefix} \
- --with-system-mail-directory=/var/mail
-%{__make}
+ --with-system-mail-directory=/var/mail \
+ --with-c-client-target=slx \
+%if "%{pld_release}" == "ti"
+ --with-ssl-dir=/var/lib/openssl/certs \
+ --with-ssl-certs-dir=/var/lib/openssl/certs \
+%else
+ --with-ssl-dir=/etc/openssl/certs \
+ --with-ssl-certs-dir=/etc/certs \
+%endif
+ --with-passfile=.pine.pwd
+
+%{__make} \
+ GCCOPTLEVEL="%{rpmcflags}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{alpineconfdir},%{_desktopdir}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{_desktopdir},%{_pixmapsdir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+install %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
+install %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir}
+
+ln -s alpine $RPM_BUILD_ROOT%{_bindir}/pine
+
+$RPM_BUILD_ROOT%{_bindir}/alpine -conf > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/alpine.conf
+cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/alpine.conf.fixed
+#
+# Alpine system-wide enforced configuration file - customize as needed
+#
+# This file holds the system-wide enforced values for alpine configuration
+# settings. Any values set in it will override values set in the
+# system-wide default configuration file (%{_sysconfdir}/%{name}/alpine.conf) and
+# the user's own configuration file (~/.pinerc).
+# For more information on the format of this file, read the
+# comments at the top of %{_sysconfdir}/%{name}/alpine.conf
+
+EOF
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc README doc/tech-notes.txt
-%dir %{alpineconfdir}
-%attr(755,root,root) %{_bindir}/alpine
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/alpine.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/alpine.conf.fixed
+%attr(755,root,root) %{_bindir}/%{name}
+%attr(755,root,root) %{_bindir}/pine
%attr(755,root,root) %{_bindir}/rpload
%attr(755,root,root) %{_bindir}/rpdump
-#%attr(755,root,root) %{_bindir}/mailutil
-#%attr(2755,root,mail) %{_sbindir}/mlock
-%{_mandir}/man1/alpine.1*
-#%{_mandir}/man1/rpload.1*
-#%{_mandir}/man1/rpdump.1*
-#%{_mandir}/man1/mailutil.1*
+%{_mandir}/man1/%{name}.1*
+%{_mandir}/man1/rpload.1*
+%{_mandir}/man1/rpdump.1*
+%{_desktopdir}/%{name}.desktop
+%{_pixmapsdir}/%{name}.png
%files -n pico
%defattr(644,root,root,755)