OBS User unknown 2007-10-01 02:26:09 +00:00 committed by Git OBS Bridge
commit a735eb4764
20 changed files with 894 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

11
adhere-to-prototypes.diff Normal file
View File

@ -0,0 +1,11 @@
--- alpine-0.999/imap/src/mlock/mlock.c 2006-08-31 02:21:48.000000000 +0000
+++ alpine-0.999.fixed/imap/src/mlock/mlock.c 2007-07-31 23:30:08.000000000 +0000
@@ -40,6 +40,8 @@
#include <netdb.h>
#include <ctype.h>
#include <strings.h>
+#include <string.h>
+#include <unistd.h>
#define LOCKTIMEOUT 5 /* lock timeout in minutes */
#define LOCKPROTECTION 0775

3
all.patch.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be1701721b410421e8cc69c9f21f2e234e8dc8a782fb6e0e317fe8caa064f842
size 134906

3
alpine-0.9999.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a63e7ee0fd371c728c1a1cf769276be3913a12b0d6fe2f30d7a826604ac6533c
size 4957096

View File

@ -0,0 +1,50 @@
This is a patch from upstream which is likely included in the next
version (likely to be named 1.0):
From: Steve Hubert <hubert@washington.edu>
To: Alpine Alpha List
Date: Thu, 6 Sep 2007 09:58:58 -0700 (PDT)
Subject: Re: Content-Type different after postponing
I believe the attached patch should fix this. Thanks.
From: Andreas Schamanek
Date: Thu, 6 Sep 2007 20:13:47 +0200 (CEST)
I have just tested it, and it works perfectly.
From: Gerald Pfeifer
Sorry, it doesn't. Also with this patch I am still getting
Content-Type: TEXT/PLAIN; charset=ISO-8859-15
when sending mail directly that contains an Umlaut, and
Content-Type: TEXT/PLAIN; CHARSET=UTF-8
after posting and resuming the same message.
From: Steve Hubert <hubert@washington.edu>
The first patch only worked if Downgrade Multipart to Text was turned on.
This should fix the other case.
Index: pith/send.c
===================================================================
--- pith/send.c (revision 709)
+++ pith/send.c (working copy)
@@ -843,6 +843,14 @@
return(redraft_cleanup(streamp, TRUE, flags));
}
+ if((charset = rfc2231_get_param(part->body.parameter,"charset",NULL,NULL)) != NULL){
+ /* let outgoing routines decide on charset */
+ if(!strucmp(charset, "US-ASCII") || !strucmp(charset, "UTF-8"))
+ set_parameter(&part->body.parameter, "charset", NULL);
+
+ fs_give((void **) &charset);
+ }
+
ps_global->postpone_no_flow = 1;
get_body_part_text(stream, &b->nested.part->body,
cont_msg, "1", 0L, pc, NULL, NULL, GBPT_NONE);

22
alpine.changes Normal file
View File

@ -0,0 +1,22 @@
-------------------------------------------------------------------
Wed Sep 19 14:32:24 CEST 2007 - bk@suse.de
- Remove files with unclear license from packaged sources (#308533)
- Add small bug fix: Postponed messages which were labelled as UTF-8
- Spec file cleanup: Comments improved, obsoleted some warning flags
-------------------------------------------------------------------
Tue Sep 4 17:15:02 CEST 2007 - bk@suse.de
- Update to final prerelease 0.9999 with updates from Eduardo Chappa
-------------------------------------------------------------------
Thu Aug 9 12:42:41 CEST 2007 - bk@suse.de
- add a number of critcally needed fixes for some crashes (and more)
-------------------------------------------------------------------
Thu Aug 2 18:14:38 CEST 2007 - bk@suse.de
- initial version 0.999 + assorted feature patches and some fixes

9
alpine.desktop Normal file
View File

@ -0,0 +1,9 @@
[Desktop Entry]
Categories=ConsoleOnly;Email
Encoding=UTF-8
Exec=alpine
Icon=alpine
Type=Application
Name=Alpine
GenericName=Mail Client
Terminal=true

3
alpine.png Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b623cb2197d6f07d4b8d13a0c38636c089631851c4adf450167a1b6e92414e51
size 2460

384
alpine.spec Normal file
View File

@ -0,0 +1,384 @@
#
# spec file for package alpine (Version 0.9999)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: alpine
#
# Package configuration:
#
%define obsolete_pine 0
%define provide_pico_and_pilot 0
%define build_alpined 0
# For debugging only:
%define use_mudflap 0
%define build_vanilla 0
%define apply_all_in_one_patch 1
#
Summary: Alpine mail user agent
BuildRequires: imap-devel krb5-devel libgssapi ncurses-devel openldap2-devel openssl-devel pam-devel update-desktop-files
%if %build_alpined
BuildRequires: blt tcl-devel
%endif
%if %{use_mudflap}
BuildRequires: libmudflap
%endif
# pgp4pine requires pine:
Provides: pine
%if %obsolete_pine
Obsoletes: pine4
Provides: pine4
%else
Conflicts: pine4
%endif
Version: 0.9999
Release: 6
License: The Apache Software License
Group: Productivity/Networking/Email/Clients
AutoReqProv: on
Url: http://www.washington.edu/alpine/
#
# Fix for #308533: Remove files with unclear license, which are not needed
# from the distributed source tarball:
#
%define USE_CLEANED_UP_TARBALL_FORBUILD 1
%if %USE_CLEANED_UP_TARBALL_FORBUILD != 1
Source: ftp://ftp.cac.washington.edu/alpine/%{name}-%{version}.tar.bz2
%else
#This caret is only here to prevent confusing spec file checking tools:
#%(
cd %{_sourcedir};cp %{name}-%{version}{,-build}.tar.bz2
bunzip2 %{name}-%{version}-build.tar.bz2
tar --delete --file=%{name}-%{version}-build.tar \
./alpine-0.9999/pico/msmem.c ./alpine-0.9999/imap/docs
echo >%{name}-%{version}.README.SUSE <<END
Some files which are not needed for compilation have been removed from
this tarball. You can get the full tarball from %{URL}.
END
tar --append --file=%{name}-%{version}-build.tar \
./alpine-0.9999.README.SUSE
bzip2 %{name}-%{version}-build.tar
)
Source: ftp://ftp.cac.washington.edu/alpine/%{name}-%{version}-build.tar.bz2
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source1: %name.png
Source2: %name.desktop
#
# Patches related to warnings:
#
Patch1: adhere-to-prototypes.diff
Patch2: make-use-of-strncat-safer.diff
Patch3: operation-may-be-undefined-warning.diff
Patch10: pico-fix-spurious-undef-warnings.diff
Patch20: pine-expression-warnings.diff
Patch40: pico-stripwhitespace.diff
Patch60: signal-and-panic-improvements.diff
#
# Patches for the compilation system and versioning:
#
Patch90: configure-gssapi-detection.diff
Patch103: support-long-version.diff
#
# Patches from upstream (will be removed with the next version):
#
Patch200: alpine-upstream-postponed-sendcharset.diff
#
# Eduardo Chappa's patches. Currently, We only use the 'all_in_one' version:
#
%if %{apply_all_in_one_patch}
Patch500: staff.washington.edu/chappa/alpine/patches/alpine-0.999/all.patch.bz2
Patch501: patches.diff
%endif
%description
Alpine is an major update of Pine, most importantly featuring improved
support for UTF-8 (Unicode) and is licensed under an OSI-approved
license (the Apache License).
Though originally designed for inexperienced email users, Alpine
supports many advanced features, and an ever-growing number of
configuration and personal-preference options.
%package -n pico
Summary: A small, easy to use editor
Group: Productivity/Editors/Other
AutoReqProv: on
%description -n pico
Pico is a simple, display-oriented text editor based on the Pine
message system composer. As with Pine, commands are displayed at the
bottom of the screen, and context-sensitive help is provided.
Characters are inserted into the text as they are typed.
%package -n pilot
Summary: Simple file system browser
Group: Productivity/File utilities
AutoReqProv: on
%description -n pilot
Pilot is a simple, display-oriented file system browser based on the
Pine message system composer. As with Pine, commands are displayed at
the bottom of the screen, and context-sensitive help is provided.
%prep
%setup -q
#
# Begin of non-vanilla-patch section
#
%if !%{build_vanilla}
#
# This is here to support checking if any patches add new warnings:
#
if [ ! -s %{_sourcedir}/compile-warnings-%{suse_version}-%{_arch}.log ]; then
echo "No warnings check possible, set build_vanilla to 1 and"
echo "add compile-warnings-%{suse_version}-%{_arch}.log from"
echo "that build to the rpm build process so that it's found here".
#exit 5
else
sed 's/:[0-9]*//' %{_sourcedir}/compile-warnings-%{suse_version}-%{_arch}.log \
>compile-warnings-allowed.log
fi
# Upstream patches:
%patch200
#
# Show that this is the openSUSE build of alpine and which version:
#
%patch103 -p1
echo %{version}-openSUSE-%{release} >VERSION
#
# Apply Eduardo Chappa's patch set as one patch (501 documents his patch):
#
%if %{apply_all_in_one_patch}
%patch500 -p1
%patch501 -p1
%endif
#
# This simply adds a colon if it's missing in the all.patch:
#
[ $(grep -c "including creation date of the patch is$" pith/pine.hlp) = 1 ] &&
sed -i 's/including creation date of the patch is$/&:/' pith/pine.hlp
#
# SuSE patches - warning fixes, etc:
#
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch10 -p1
%patch20 -p1
%patch40 -p1
%patch60 -p1
%patch90 -p1
%endif
#
# End of non-vanilla-patch section
#
%build
%if %{suse_version} <= 1010
%define _host_os %{_os}%{?_gnu}
%define _host %{_host_cpu}-%{_host_vendor}-%{_host_os}
%endif
autoreconf -fi
export CFLAGS="${RPM_OPT_FLAGS/-O2/-Os}"
#
# Comments on disabled warnings: The disabled warnings are rather harmless
# (If they were not, alpine would not work at all, they are trigged in mass,
# because until recently developers did use gcc-3.x exclusivley)
# and disabling them allows one to focus on the warnings which could indicate
# real bugs. By alpine-0.9999, several warnings have been eliminated however:
#
export CFLAGS="$CFLAGS \
%if %{suse_version} >= 1010
-Wno-strict-aliasing -Wno-pointer-sign -Wno-unused \
%endif
%if %{suse_version} == 1030
-Wno-address \
%endif
%if %{use_mudflap}
-fmudflap -fmudflapir \
%endif
"
#
# On -Waddress:
#
# Added with gcc-4.2: It warns when the address of a variable (not a pointer)
# is used in an expression. Since addresses of variables are # always non-zero,
# they are always true and can be safely removed from the expression,
# but the code is safe nontheless.
#
# -Waddress generates >100 warnings in alpine and we disabled them to
# concentrate on the really important warnings which could be real bugs better.
#
#
# Used in conjunction with signal-and-panic-improvements.diff:
#
export LDFLAGS="-rdynamic" # -rdynamic is used for backtrace_symbols:
#
# In case one wants to compile alpine with libmudflap to instrument all risky
# pointer/array dereferencing operations, some standard library string/heap
# functions, and some other associated constructs with range/validity tests.
# Modules so instrumented should be immune to buffer overflows, invalid heap
# use, and some other classes of C/C++ programming errors. Disabled by default,
# but may be used for debugging issues which are otherwise hard to catch:
#
%if %{use_mudflap}
export EXTRALDFLAGS="-lmudflap"
LDFLAGS="$LDFLAGS $EXTRALDFLAGS"
%endif
%configure --with-tcl-lib=tcl8.4 \
%if %{use_mudflap}
--without-pthread \
%endif
--with-smtp-msa=/usr/sbin/sendmail \
--with-password-prog=/usr/bin/passwd \
--with-npa=/usr/bin/inews \
--with-spellcheck-prog="please set Speller to eg. 'aspell -c' in SETUP/Configuration"\
--with-system-pinerc=/etc/pine.conf \
--with-system-fixed-pinerc=/etc/pine.conf.fixed \
--with-debug-level=0 \
--with-debug-files=2 \
--with-file=.alpine-debug \
--with-default-mail-directory=Mail \
--with-passfile=.pinepw || {
grep -B9 -A20 'failed program was' config.log | grep -A24 checking
exit 5
}
#
# imap does not use CFLAGS from configure, needs EXTRAFCLAGS:
#
make EXTRACFLAGS="$CFLAGS" EXTRALDFLAGS="$EXTRALDFLAGS" 2>&1 | tee make.log |
grep -v -e '^mv ' -e '/usr/bin/[a-z]*' -e '^echo ' -e ' -l' |
sed 's/.*gcc .* -o .*\.o /-----> /;/^-----/s/;.*//;/^then/d'
%install
install -D -m755 alpine/alpine $RPM_BUILD_ROOT%{_bindir}/alpine
#
# When called as alpinef, alpine uses function keys instead of Control keys:
#
ln $RPM_BUILD_ROOT%{_bindir}/alpine $RPM_BUILD_ROOT%{_bindir}/alpinef
install -m755 alpine/{rpload,rpdump} $RPM_BUILD_ROOT%{_bindir}
install -m755 imap/mailutil/mailutil $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1
install -m644 doc/{alpine.1,rpdump.1,rpload.1} $RPM_BUILD_ROOT%{_mandir}/man1/
install -m644 imap/src/mailutil/mailutil.1 $RPM_BUILD_ROOT%{_mandir}/man1/
install -D -m644 %{SOURCE1} $RPM_BUILD_ROOT/usr/share/pixmaps/%name.png
install -D -m644 %{SOURCE2} $RPM_BUILD_ROOT/usr/share/applications/%name.desktop
%suse_update_desktop_file %name
%if %obsolete_pine
ln -sf alpine $RPM_BUILD_ROOT%{_bindir}/pine
%endif
%if %provide_pico_and_pilot
install -m755 pico/{pico,pilot} $RPM_BUILD_ROOT%{_bindir}
install -m644 doc/{pico.1,pilot.1} $RPM_BUILD_ROOT%{_mandir}/man1/
%endif
%check
#since where are no logs in the package at the moment, there are no checks,
#but the warning logs can be recreated for regresstion tracking in warnings:
if [ -s %{_sourcedir}/compile-warnings-%{suse_version}-%{_arch}.log ]; then
grep -e '^[a-z0-9_]*.[cho]:' -e 'Entering directory' make.log |
sed "s/^make\[.\]: //;/Entering directory/s/[\`']//g;" \
>compile-warnings-%{suse_version}-%{_arch}.log
# Sort the combined allowed warnings:
grep -v -e 'In function' -e 'Entering directory' \
compile-warnings-allowed.log |
sort -u > compile-warnings-%{suse_version}-%{_arch}-reference.sort
# Sort the warnings which occured now:
grep -v -e 'In function' -e 'Entering directory' \
compile-warnings-%{suse_version}-%{_arch}.log |
sed 's/:[0-9]*//' | sort -u \
>compile-warnings-%{suse_version}-%{_arch}-thisbuild.sort
# diff them:
diff compile-warnings-%{suse_version}-%{_arch}-{reference,thisbuild}.sort |
tee compile-warnings-%{suse_version}-%{_arch}-sorted.diff
if test -s compile-warnings-%{suse_version}-%{_arch}-sorted.diff; then
grep '^>' compile-warnings-%{suse_version}-%{_arch}-sorted.diff >new-warnings ||:
if [ -s new-warnings ]; then
diff -u %{_sourcedir}/compile-warnings-%{suse_version}-%{_arch}.log \
compile-warnings-%{suse_version}-%{_arch}.log ||
echo "New warnings:"
cat new-warnings
sed 's/> //;s/:/:[0-9]*:/' new-warnings >new-warnings.pattern
: diff: %_builddir}/compile-warnings-%{suse_version}-%{_arch}-sorted.diff
grep -B1 -f new-warnings.pattern compile-warnings-%{suse_version}-%{_arch}.log
grep -e 'Entering directory' -f new-warnings.pattern \
compile-warnings-%{suse_version}-%{_arch}.log |
grep -B1 -f new-warnings.pattern |
tee warnings.where
while IFS='[: ]' read file line message; do
if [ "$file" = Entering ]; then
dir="${message#%_builddir/%buildsubdir/}"
else
path="$dir/$file"
echo "$path:$line: $message" >>warnings-with-code
head -"$line" "$path"|tail -1 >>warnings-with-code
fi
done <warnings.where
cat warnings-with-code
exit 5
else
echo "Fixed warnings:"
grep '^<' compile-warnings-%{suse_version}-%{_arch}-sorted.diff
fi
else
echo "No fixed warnings and no new warnings"
fi
fi
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
: 'Expect those rpmlint warnings: The resulting binaries are not packaged:'
: 'W: alpine uninitialized-variable dmail.c: 435'
: 'W: alpine uninitialized-variable tmail.c: 531'
%files
%defattr(-, root, root)
%doc %{_mandir}/man1/alpine.1.gz
%doc %{_mandir}/man1/rpdump.1.gz
%doc %{_mandir}/man1/rpload.1.gz
%doc %{_mandir}/man1/mailutil.1.gz
%doc README NOTICE LICENSE
%doc doc/mailcap.unx doc/mime.types doc/tech-notes.txt doc/tech-notes/*.html
%{_bindir}/alpine
%{_bindir}/alpinef
%{_bindir}/rp*
%{_bindir}/mailutil
/usr/share/applications/%name.desktop
/usr/share/pixmaps/%name.png
%if %provide_pico_and_pilot
%files -n pico
%defattr(-, root, root)
%{_bindir}/pico
%doc %{_mandir}/man1/pico.1.gz
%files -n pilot
%defattr(-, root, root)
%{_bindir}/pilot
%doc %{_mandir}/man1/pilot.1.gz
%endif
%changelog
* Wed Sep 19 2007 - bk@suse.de
- Remove files with unclear license from packaged sources (#308533)
- Add small bug fix: Postponed messages which were labelled as UTF-8
- Spec file cleanup: Comments improved, obsoleted some warning flags
* Tue Sep 04 2007 - bk@suse.de
- Update to final prerelease 0.9999 with updates from Eduardo Chappa
* Thu Aug 09 2007 - bk@suse.de
- add a number of critcally needed fixes for some crashes (and more)
* Thu Aug 02 2007 - bk@suse.de
- initial version 0.999 + assorted feature patches and some fixes

View File

@ -0,0 +1,83 @@
Fix Lerberos detection on different Solaris versions and Linux,
examle update from pgsql see here:
https://projects.commandprompt.com/public/pgsql/changeset/28598#file1
This does not mean that kerneros support would build in the
imap toolkit because it seems to have -lgssapi_krb5 hard-coded.
Anyway the configure is improvied with this patch.
Also SSL detection is adapted, there is no need to have LIBS="$LIBS -lssl"
there because when reading the documentation of AC_SEARCH_LIBS, one
knows that that is done by AC_SEARCH_LIBS automatically. If SSL
is not found, it should also be turned off, possibly, or
maybe an AC_MSG_ERROR might be better instead. YMMV - that
part is not in need to be touched but looks better that way.
--- alpine-0.999/configure.ac 2007-06-28 00:48:15.000000000 +0000
+++ alpine-0.999/configure.ac 2007-08-01 17:24:13.000000000 +0000
@@ -588,6 +588,8 @@
[
if test "x$withval" != "xno" ; then
alpine_GSSDIR=$withval
+ CPPFLAGS="$CPPFLAGS -I${withval}/include"
+ AM_LDFLAGS="$AM_LDFLAGS -L${withval}/lib"
fi
])
@@ -596,6 +598,7 @@
[
if test "x$withval" != "xno" ; then
alpine_GSSINCLUDE=$withval
+ CPPFLAGS="$CPPFLAGS -I${withval}/include"
fi
])
@@ -604,6 +607,7 @@
[
if test "x$withval" != "xno" ; then
alpine_GSSLIB=$withval
+ AM_LDFLAGS="$AM_LDFLAGS -L${withval}/lib"
fi
])
fi
@@ -797,31 +801,21 @@
if test "x$alpine_SSLTYPE" != "xnone" ; then
AC_SEARCH_LIBS(SSL_library_init,ssl,
[
- LIBS="$LIBS -lssl"
+ AC_MSG_NOTICE([OpenSSL libraries FOUND])
+ ],
+ [
+ AC_MSG_NOTICE([OpenSSL libraries NOT found])
+ alpine_SSLTYPE=none
])
- if test "x$alpine_SSLTYPE" = "xnone" ; then
- AC_MSG_NOTICE([OpenSSL libraries NOT found])
- else
- AC_MSG_NOTICE([OpenSSL libraries FOUND])
- fi
fi
dnl provide KRB5 support?
if test "x$alpine_GSSTYPE" != "xnone" ; then
- case x$alpine_GSSLIB in
- x)
- AC_SEARCH_LIBS(gss_init_sec_context,$alpine_GSSLIB,,
- [
- alpine_GSSTYPE="none"
- ])
- ;;
- *)
- AC_CHECK_FUNC(gss_init_sec_context,,
- [
+ AC_SEARCH_LIBS(gss_init_sec_context, [gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'], [],
+ [
+ AC_MSG_NOTICE([Kerberos5 libraries NOT found!!!])
alpine_GSSTYPE="none"
- ])
- ;;
- esac
+ ])
fi
dnl check for tcl libraries for Web Alpine

View File

@ -0,0 +1,10 @@
--- alpine-0.999/pith/charconv/utf8.c 2007/08/09 00:02:06 1.1
+++ alpine-0.999/pith/charconv/utf8.c 2007/08/09 00:03:08
@@ -37,6 +37,7 @@
#include "utf8.h"
#include <stdarg.h>
+#include <wchar.h>
static char locale_charmap[50];

View File

@ -0,0 +1,15 @@
--- alpine-0.999/imap/src/c-client/mail.c
+++ alpine-0.999/imap/src/c-client/mail.c
@@ -2795,8 +2795,10 @@
/* parse time */
d = strtoul (s+1,(char **) &s,10);
if (*s != ':') return NIL;
- m = strtoul (++s,(char **) &s,10);
- y = (*s == ':') ? strtoul (++s,(char **) &s,10) : 0;
+ s++;
+ m = strtoul (s,(char **) &s,10);
+ s++;
+ y = (*s == ':') ? strtoul (s,(char **) &s,10) : 0;
/* validity check time */
if ((d > 23) || (m > 59) || (y > 60)) return NIL;
/* set values in elt */

36
patches.diff Normal file
View File

@ -0,0 +1,36 @@
--- alpine-0.999/pith/pine.hlp
+++ alpine-0.999/pith/pine.hlp
@@ -163,6 +163,33 @@
is available as is a world wide web based version designed to run under the
Apache web server.
+<P>Note: <A HREF="h_patches">This version of Alpine has been built for openSUSE with
+patches of Eduardo Chappa for latest bugfixes and enhanced functionality</A>.
+Press the ENTER key while the link above is hightlighted for more information.
+
+<P>If you have any problems with this release of Pine, please search
+the Novell bugzilla using the advanced search form at
+<A HREF="http://bugzilla.novell.com/query.cgi">
+http://bugzilla.novell.com/query.cgi</A> and enter "alpine"
+into the search field for "Summary" and in the Impact Section, unselect
+all preselections in the Status list by holding the Control key
+while clicking on NEW, ASSIGNED, NEEDINFO an REOPENED. Click one
+of the Search buttons in the form then. You should get a list of all
+bugs ever reported for alpine, including their their status and get
+full information on them.
+
+<P>If your issue is not found in the Novell Bugzilla, please sign in
+to the Novell Bugzilla and report the issue.
+
+Please also have a look at the
+<A HREF="http://www.washington.edu/alpine/>Alpine Information Center</A>,
+the <A HREF="https://mailman1.u.washington.edu/mailman/private/alpine-alpha/">
+Alpine-alpha mailing list archive</A>and you can also report and discuss
+the issue directly on the
+<A HREF="https://mailman1.u.washington.edu/mailman/listinfo/alpine-alpha">
+Alpine-alpha mailing list</A>. Be sure to include the full openSUSE version
+of alpine (found at the top of this release notes page) in your first mail.
+
<H2>New in Alpine <!--#echo var="ALPINE_VERSION"--></H2>
Version <!--#echo var="ALPINE_VERSION"-->

View File

@ -0,0 +1,63 @@
--- alpine-0.999/pico/osdep/shell.c 2007/08/02 12:09:33 1.1
+++ alpine-0.999/pico/osdep/shell.c 2007/08/02 12:10:03
@@ -90,7 +90,6 @@ bktoshell(void) /* suspend MicroEMACS a
if(gmode&MDSPWN){
char *shell;
- int dummy;
vttidy();
movecursor(0, 0);
@@ -98,7 +97,7 @@ bktoshell(void) /* suspend MicroEMACS a
printf("\n\n\nUse \"exit\" to return to Pi%s\n",
(gmode & MDBRONLY) ? "lot" : "co");
system((shell = (char *)getenv("SHELL")) ? shell : "/bin/csh");
- rtfrmshell(dummy); /* fixup tty */
+ rtfrmshell(0); /* fixup tty */
}
else {
movecursor(term.t_nrow-1, 0);
// Those may be obsolete now:
--- alpine-0.999/include/system.h 2007/08/03 13:16:15 1.1
+++ alpine-0.999/include/system.h 2007/08/03 13:19:03
@@ -381,4 +381,12 @@
# define LOCAL_PASSWD_CACHE
#endif
+/*
+ * Shuts up spurious
+ * "warning: suggest parentheses around assignment used as truth value"
+ * which occurs ing gcc4.2.1 and older when an assigment is used in a
+ * if, which works just fine and is not iterpreted as always true:
+ */
+#define if(x) if((x))
+#define while(x) while((x))
#endif /* _SYSTEM_INCLUDED */
--- alpine-0.999/imap/src/c-client/mail.h 2007/08/03 13:42:06 1.1
+++ alpine-0.999/imap/src/c-client/mail.h 2007/08/03 13:42:57
@@ -1829,3 +1829,11 @@
int PSOUT (char *s);
int PSOUTR (SIZEDTEXT *s);
int PFLUSH (void);
+/*
+ * Shuts up spurious
+ * "warning: suggest parentheses around assignment used as truth value"
+ * which occurs ing gcc4.2.1 and older when an assigment is used in a
+ * if, which works just fine and is not iterpreted as always true:
+ */
+#define if(x) if((x))
+#define while(x) while((x))
--- alpine-0.999/imap/src/osdep/unix/os_slx.h 2007/08/03 13:54:41 1.1
+++ alpine-0.999/imap/src/osdep/unix/os_slx.h 2007/08/03 13:55:38
@@ -65,3 +65,11 @@
#include "ftl.h"
#include "nl.h"
#include "tcp.h"
+/*
+ * Shuts up spurious
+ * "warning: suggest parentheses around assignment used as truth value"
+ * which occurs ing gcc4.2.1 and older when an assigment is used in a
+ * if, which works just fine and is not iterpreted as always true:
+ */
+#define if(x) if((x))
+#define while(x) while((x))

33
pico-stripwhitespace.diff Normal file
View File

@ -0,0 +1,33 @@
--- pine4.61/pico/pico.c 2004/08/12 15:24:12 1.1
+++ pine4.61/pico/pico.c 2004/08/12 15:24:42
@@ -898,30 +898,6 @@
}
/*
- * Remove all trailing white space from the text
- */
-int
-stripwhitespace(void)
-{
- int i;
- LINE *cur_line = lforw(curbp->b_linep);
-
- do{
- /* we gotta test for the sigdash case here */
- if(!(cur_line->l_used == 3 &&
- lgetc(cur_line, 0).c == '-' &&
- lgetc(cur_line, 1).c == '-' &&
- lgetc(cur_line, 2).c == ' '))
- for(i = cur_line->l_used - 1; i >= 0; i--)
- if(ucs4_isspace(lgetc(cur_line, i).c))
- cur_line->l_used--;
- else
- break;
- }while((cur_line = lforw(cur_line)) != curbp->b_linep);
- return 0;
-}
-
-/*
* Abort.
* Beep the beeper. Kill off any keyboard macro, etc., that is in progress.
* Sometimes called as a routine, to do general aborting of stuff.

View File

@ -0,0 +1,29 @@
--- ./alpine.c 2007-06-28 17:39:01.000000000 +0000
+++ alpine-0.999/alpine/alpine.c 2007-08-02 01:48:23.000000000 +0000
@@ -2161,7 +2162,7 @@ do_menu(int quick_draw, Pos *cursor_pos,
utf8_to_width(buf2, LEGAL_NOTICE, sizeof(buf2),
ps->ttyo->screen_cols-3, NULL);
PutLine0(ps->ttyo->screen_rows - (FOOTER_ROWS(ps)+1),
- MAX(0, ((ps->ttyo->screen_cols-utf8_width(buf2))/2)),
+ MAX(0, ((ps->ttyo->screen_cols-(int)utf8_width(buf2))/2)),
buf2);
}
--- ./filter.c 2007-06-01 22:42:27.000000000 +0000
+++ alpine-0.999/pith/filter.c 2007-08-02 01:10:21.000000000 +0000
@@ -178,12 +178,12 @@ static jmp_buf gf_error_state;
#define GF_END(FI, FO) (GF_OP_END(FI), GF_IP_END(FO))
-#define GF_FLUSH(F) ((GF_IP_END(F), (*(F)->f)((F), GF_DATA), \
- GF_IP_INIT(F), GF_EIB_INIT(F)) ? 1 : 0)
+#define GF_FLUSH(F) (GF_IP_END(F), (*(F)->f)((F), GF_DATA), \
+ GF_IP_INIT(F), GF_EIB_INIT(F))
#define GF_FLUSH_GLO(F) ((GF_IP_END_GLO(F), (*(F)->f)((F), GF_DATA), \
GF_IP_INIT_GLO(F), GF_EIB_INIT_GLO(F)) ? 1 : 0)
-#define GF_PUTC(F, C) ((int)(*ip++ = (C), (ip >= eib) ? GF_FLUSH(F) : 1))
+#define GF_PUTC(F, C) ((int)(*ip++ = (C), (ip >= eib) ? (GF_FLUSH(F) ? 1 : 0) : 1))
#define GF_PUTC_GLO(F, C) ((int)(*(*ipp)++ = (C), ((*ipp) >= (*eibp)) ? GF_FLUSH_GLO(F) : 1))
/*

0
ready Normal file
View File

View File

@ -0,0 +1,84 @@
##########################################################################
# This patch generates a backtrace on abort and if core file dumping is
# enabled, it also write the backtrace to a temporary file.
##########################################################################
#
# Manual page of the used glibc backtrace function:
#
http://www.gnu.org/software/libc/manual/html_node/Backtraces.html
--- signal.c
+++ alpine-0.999/alpine/signal.c
@@ -181,13 +181,7 @@ auger_in_signal(int sig)
end_signals(1); /* don't catch any more signals */
imap_flush_passwd_cache(FALSE);
-#if defined(SIGNALHASARG)
- s = comatose(sig);
-#else
- s = "?";
-#endif
-
- snprintf(buf, sizeof(buf), "Received abort signal(sig=%s)", s);
+ snprintf(buf, sizeof(buf), "Received abort signal(sig=%d)", sig);
buf[sizeof(buf)-1] = '\0';
panic(buf); /* clean up and get out */
--- alpine-0.999/alpine/alpine.c
+++ alpine-0.999/alpine/alpine.c
@@ -15,6 +15,7 @@ static char rcsid[] = "$Id: alpine.c 615
* ========================================================================
*/
+#include <execinfo.h>
#include "headers.h"
#include "../pith/newmail.h"
@@ -3274,6 +3275,46 @@ panic(char *message)
fprintf(stderr, "\n\n%s\n", buf);
#endif
+ {
+ void *array[40];
+ size_t size, i;
+ char **strings;
+ struct rlimit rlim;
+
+ size = backtrace (array, sizeof(array));
+ strings = backtrace_symbols (array, size);
+
+ fprintf(stderr, "Backtrace (%zd stack frames):\n", size);
+ for (i = 0; i < size; i++)
+ fprintf(stderr, "%s\n", strings[i]);
+
+ if (getrlimit(RLIMIT_CORE, &rlim))
+ perror("getrlimit(RLIMIT_CORE)");
+ else {
+ if (rlim.rlim_cur != 0) {
+ umask(S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
+ char filename[] = "/tmp/alpine-backtrace.XXXXXX";
+ int fd = mkstemp(filename);
+ if (fd == -1)
+ perror("mkstemp for backtrace");
+ else {
+ FILE* btf = fdopen(fd, "w");
+ if (!btf)
+ perror("fdopen for backtrace");
+ else {
+ fprintf(btf, "%s\n", buf);
+ fprintf(btf, "Backtrace (%zd stack frames):\n", size);
+ for (i = 0; i < size; i++)
+ fprintf(btf, "%s\n", strings[i]);
+ fclose(btf);
+ fprintf(stderr, "Saved backtrace in: %s\n", filename);
+ }
+ close(fd);
+ }
+ }
+ }
+ }
+
#ifdef DEBUG
if(debugfile){
save_debug_on_crash(debugfile, recent_keystroke);

32
support-long-version.diff Normal file
View File

@ -0,0 +1,32 @@
--- alpine-0.999/pith/state.h 2007/08/08 18:35:37 1.1
+++ alpine-0.999/pith/state.h 2007/08/08 18:36:06
@@ -98,8 +98,8 @@
SP_S s_pool; /* stream pool */
char inbox_name[MAXFOLDER+1];
- char pine_pre_vers[10]; /* highest version previously run */
- char vers_internal[10];
+ char pine_pre_vers[20]; /* highest version previously run */
+ char vers_internal[20];
MAILSTREAM *mail_stream; /* ptr to current folder stream */
MSGNO_S *msgmap; /* ptr to current message map */
--- alpine-0.999/pith/conf.c 2007/08/08 18:27:29 1.1
+++ alpine-0.999/pith/conf.c 2007/08/08 18:34:59
@@ -2330,9 +2330,14 @@
&& ps->vers_internal[1] == '.'
&& isdigit((unsigned char)ps->vers_internal[2])
&& isdigit((unsigned char)ps->vers_internal[3])
- && isalpha((unsigned char)ps->vers_internal[4])
- && strncmp(VAR_LAST_VERS_USED, ps->vers_internal, 4) >= 0)){
+ && isdigit((unsigned char)ps->vers_internal[4])
+ && ps->vers_internal[5] == '-'
+ && strncmp(VAR_LAST_VERS_USED, ps->vers_internal, 5) >= 0)){
ps->show_new_version = 0;
+ /* But if the version string changed at all, update config */
+ if (strcmp(VAR_LAST_VERS_USED, ps->vers_internal))
+ set_variable(V_LAST_VERS_USED, ps->vers_internal, 1, 1,
+ ps_global->ew_for_except_vars);
}
/* Otherwise just do lexicographic comparision... */
else if(VAR_LAST_VERS_USED