summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Buchholz <rbu@gentoo.org>2008-07-28 00:35:38 +0000
committerRobert Buchholz <rbu@gentoo.org>2008-07-28 00:35:38 +0000
commit24f2581fbf9a789674c3290bef09f961225fc7e9 (patch)
treee2978c8f1adc9d607c2388a42387f3d80376bffe /app-text/uudeview
parentversion bump (diff)
downloadhistorical-24f2581fbf9a789674c3290bef09f961225fc7e9.tar.gz
historical-24f2581fbf9a789674c3290bef09f961225fc7e9.tar.bz2
historical-24f2581fbf9a789674c3290bef09f961225fc7e9.zip
Non-maintainer bump
Pull in source patches from Debian * Fix temporary file issue (CVE-2004-2265, CVE-2008-2266, bug #222275) * Update uudeview man page, include uuwish man page * Several bug fixes Other changes: * Remove dead 'debug' use flag * Remove old patch Package-Manager: portage-2.1.4.4
Diffstat (limited to 'app-text/uudeview')
-rw-r--r--app-text/uudeview/ChangeLog20
-rw-r--r--app-text/uudeview/Manifest9
-rw-r--r--app-text/uudeview/files/uudeview-0.5.18-optimize_size.patch11
-rw-r--r--app-text/uudeview/files/uudeview-0.5.20-CVE-2004-2265.patch47
-rw-r--r--app-text/uudeview/files/uudeview-0.5.20-CVE-2008-2266.patch166
-rw-r--r--app-text/uudeview/files/uudeview-0.5.20-bugfixes.patch100
-rw-r--r--app-text/uudeview/files/uudeview-0.5.20-man.patch95
-rw-r--r--app-text/uudeview/files/uudeview-0.5.20-rename.patch57
-rw-r--r--app-text/uudeview/uudeview-0.5.20-r1.ebuild41
9 files changed, 532 insertions, 14 deletions
diff --git a/app-text/uudeview/ChangeLog b/app-text/uudeview/ChangeLog
index afe8eab0e759..cf03e50b60b1 100644
--- a/app-text/uudeview/ChangeLog
+++ b/app-text/uudeview/ChangeLog
@@ -1,6 +1,24 @@
# ChangeLog for app-text/uudeview
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/uudeview/ChangeLog,v 1.25 2008/01/17 20:21:50 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/uudeview/ChangeLog,v 1.26 2008/07/28 00:35:37 rbu Exp $
+
+*uudeview-0.5.20-r1 (28 Jul 2008)
+
+ 28 Jul 2008; Robert Buchholz <rbu@gentoo.org>
+ -files/uudeview-0.5.18-optimize_size.patch,
+ +files/uudeview-0.5.20-CVE-2004-2265.patch,
+ +files/uudeview-0.5.20-CVE-2008-2266.patch,
+ +files/uudeview-0.5.20-bugfixes.patch, +files/uudeview-0.5.20-man.patch,
+ +files/uudeview-0.5.20-rename.patch, +uudeview-0.5.20-r1.ebuild:
+ Non-maintainer bump
+ Pull in source patches from Debian
+ * Fix temporary file issue (CVE-2004-2265, CVE-2008-2266, bug #222275)
+ * Update uudeview man page, include uuwish man page
+ * Several bug fixes
+
+ Other changes:
+ * Remove dead 'debug' use flag
+ * Remove old patch
17 Jan 2008; Fabian Groffen <grobian@gentoo.org> uudeview-0.5.20.ebuild:
Dropped ppc-macos keyword, see you in prefix
diff --git a/app-text/uudeview/Manifest b/app-text/uudeview/Manifest
index e8cf1d8f22f4..ab8fcc2d5ee9 100644
--- a/app-text/uudeview/Manifest
+++ b/app-text/uudeview/Manifest
@@ -1,5 +1,10 @@
-AUX uudeview-0.5.18-optimize_size.patch 270 RMD160 a9cc482cb5f6699bf76cf57630dd0bfc218d28f2 SHA1 2302313a2dfde3bef076ec33c35f536896714896 SHA256 eba3997d4d620189263372d99fd0e67112fd3ea7983ead5bc406f51921c523c4
+AUX uudeview-0.5.20-CVE-2004-2265.patch 1788 RMD160 b6d1d46e51e25d6ac99f127a0bcaab556b43339a SHA1 f913dcac0a78dfd2521102625c2c9ecc9267ecb0 SHA256 20c0178206f940ce55922cf5c13e9be790428b5004c9f0571007096fa8f14dbe
+AUX uudeview-0.5.20-CVE-2008-2266.patch 4595 RMD160 4681f9cbac1763f57ed62b2061d953ecd7e06ae1 SHA1 b4b775d2992543a148a608266d6b6d17d275915d SHA256 25f4edfcf0081d140ab526125aa702ac3b4b7790c428e56d40c3d484c4bf70a3
+AUX uudeview-0.5.20-bugfixes.patch 3575 RMD160 0b4dee9175280bf25d690b8ab86120a4306690c1 SHA1 3e8468b2f605d73e9c7220eefa60e2ca4a3381c6 SHA256 5b8fb0bd23716c35747009e5a3c25965cc09f05aaee2fa880951b878925383ed
+AUX uudeview-0.5.20-man.patch 3246 RMD160 2331395b65f76d93827203efcf4caafc0d7f1e51 SHA1 c143e8881032d91455b1fae84fac2b5ee6097074 SHA256 fa0466bc7044fcf3fbd0190a32f287df19ed8e1b71caf9190e81ab5815df17ed
+AUX uudeview-0.5.20-rename.patch 1736 RMD160 e438b71cd1ea89b8cad521649e5a7a6090a364d6 SHA1 5338bf6b76c9ad242ff21493f25fcb4a4b646cee SHA256 ee3e76fe5e0d197b6d9bddf947064e83e28b79d4904de9cab6f684a3849f437d
DIST uudeview-0.5.20.tar.gz 261574 RMD160 9bb52fa3ad4979383ff16d1e8d8a302c5c794c66 SHA1 2c6ab7d355b545218bd0877d598bd5327d9fd125 SHA256 e49a510ddf272022af204e96605bd454bb53da0b3fe0be437115768710dae435
+EBUILD uudeview-0.5.20-r1.ebuild 963 RMD160 f80dc987a1b1364f7bf5d15f93e5ff9f9db73c55 SHA1 d0102571fbecce3b767a8b7eb3caf0d8951cd6b7 SHA256 8aaa7195bfc73d0796cc8e9b58228370447cf3c36cd6a8344573d21d01508338
EBUILD uudeview-0.5.20.ebuild 942 RMD160 03d132908b40d2fa4439cacda767aaa1ca077322 SHA1 e0606ba8c4af24895eeda27c8602fd5c6e6c345b SHA256 118da495998a941f39f775cf73bf4614a997eb4a0663ec0e9fe251759b3c28c1
-MISC ChangeLog 3511 RMD160 cd93bffd6c820ad54b8dedd177d5e2bc2e1878a4 SHA1 94d420fe4bf10e7e2d874d16a78459bc7a171c76 SHA256 bfae6343532b3a6b2db79f99629dac3757f2e6640e8a7ca6e5102821002807c6
+MISC ChangeLog 4153 RMD160 ca0891d6f0ca84d02fd5524324f743e904e7979d SHA1 9fef4ba44770b96b15c68df8a8875449e861ed98 SHA256 2e0ad918d826238d30861edb92d99989b9356408f088c8c72efe098d77cfcef3
MISC metadata.xml 314 RMD160 25181cde297628576a9545bea3a76601485bfaf3 SHA1 ac16b621acf5a22b64859e3323d466fb556fc4c8 SHA256 736baab77aea9c4da199c01e3cd6877c271bd02357ff9b41b537a2232c6e96d7
diff --git a/app-text/uudeview/files/uudeview-0.5.18-optimize_size.patch b/app-text/uudeview/files/uudeview-0.5.18-optimize_size.patch
deleted file mode 100644
index 488b40a8c7c9..000000000000
--- a/app-text/uudeview/files/uudeview-0.5.18-optimize_size.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- configure.in 2004-02-22 14:10:48.082041396 +0000
-+++ configure.in 2004-02-22 14:11:30.660567613 +0000
-@@ -96,7 +96,7 @@
- ;;
- esac
- else
--CFLAGS=`echo $CFLAGS | sed 's/-O[[0-9]]*//g'`
-+CFLAGS=`echo $CFLAGS | sed 's/-O[[0-9s]]*//g'`
- case $CFLAGS in
- *"-g"*)
- ;;
diff --git a/app-text/uudeview/files/uudeview-0.5.20-CVE-2004-2265.patch b/app-text/uudeview/files/uudeview-0.5.20-CVE-2004-2265.patch
new file mode 100644
index 000000000000..ac1f39410e4b
--- /dev/null
+++ b/app-text/uudeview/files/uudeview-0.5.20-CVE-2004-2265.patch
@@ -0,0 +1,47 @@
++uudeview (0.5.20-2.1) unstable; urgency=low
++
++ * Fix possible (but highly unlikely) race in temporary file generation
++ (CAN-2004-2265), by passing the "x" (O_EXCL) flag to fopen when opening
++ such files. (Closes: #320541)
++
++ -- Steinar H. Gunderson <sesse@debian.org> Wed, 14 Jun 2006 18:44:05 +0200
++
+
+Index: uudeview-0.5.20/unix/uudeview.c
+===================================================================
+--- uudeview-0.5.20.orig/unix/uudeview.c
++++ uudeview-0.5.20/unix/uudeview.c
+@@ -454,7 +454,7 @@ proc_stdin (void)
+ return 0;
+ }
+
+- if ((target = fopen (stdfile, "wb")) == NULL) {
++ if ((target = fopen (stdfile, "wbx")) == NULL) {
+ fprintf (stderr, "proc_stdin: cannot open temp file %s for writing: %s\n",
+ stdfile, strerror (errno));
+ _FP_free (stdfile);
+Index: uudeview-0.5.20/uulib/uunconc.c
+===================================================================
+--- uudeview-0.5.20.orig/uulib/uunconc.c
++++ uudeview-0.5.20/uulib/uunconc.c
+@@ -1325,9 +1325,9 @@ UUDecode (uulist *data)
+ return UURET_NODATA;
+
+ if (data->uudet == PT_ENCODED)
+- mode = "wt"; /* open text files in text mode */
++ mode = "wtx"; /* open text files in text mode */
+ else
+- mode = "wb"; /* otherwise in binary */
++ mode = "wbx"; /* otherwise in binary */
+
+ if ((data->binfile = tempnam (NULL, "uu")) == NULL) {
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+@@ -1502,7 +1502,7 @@ UUDecode (uulist *data)
+ progress.action = 0;
+ return UURET_NOMEM;
+ }
+- if ((datain = fopen (data->binfile, "rb")) == NULL) {
++ if ((datain = fopen (data->binfile, "rbx")) == NULL) {
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+ uustring (S_NOT_OPEN_FILE),
+ data->binfile, strerror (uu_errno = errno));
diff --git a/app-text/uudeview/files/uudeview-0.5.20-CVE-2008-2266.patch b/app-text/uudeview/files/uudeview-0.5.20-CVE-2008-2266.patch
new file mode 100644
index 000000000000..ba0de28dcacc
--- /dev/null
+++ b/app-text/uudeview/files/uudeview-0.5.20-CVE-2008-2266.patch
@@ -0,0 +1,166 @@
++uudeview (0.5.20-3.1) unstable; urgency=high
+...
++ * Fixed a classical tempfile symlink attack vulnerability in libuu.
++ Thanks to Nico Golde for the patch. (Closes: #480972)
+...
++ -- Marco d'Itri <md@linux.it> Wed, 21 May 2008 01:34:35 +0200
+
+Index: uudeview-0.5.20/unix/uudeview.c
+===================================================================
+--- uudeview-0.5.20.orig/unix/uudeview.c
++++ uudeview-0.5.20/unix/uudeview.c
+@@ -443,18 +443,46 @@ proc_stdin (void)
+ FILE *target;
+ size_t bytes;
+ int res;
++#define HAVE_MKSTEMP
++#ifdef HAVE_MKSTEMP
++ int tmpfd;
++ const char *tmpprefix = "uuXXXXXX";
++ char *tmpdir = NULL;
++#endif /* HAVE_MKSTEMP */
+
+ if (stdinput) {
+ fprintf (stderr, "proc_stdin: cannot process stdin twice\n");
+ return 0;
+ }
+
++#ifdef HAVE_MKSTEMP
++ if ((getuid()==geteuid()) && (getgid()==getegid())) {
++ tmpdir=getenv("TMPDIR");
++ }
++
++ if (!tmpdir) {
++ tmpdir = "/tmp";
++ }
++ stdfile = malloc(strlen(tmpdir)+strlen(tmpprefix)+2);
++
++ if (!stdfile) {
++#else
+ if ((stdfile = tempnam (NULL, "uu")) == NULL) {
++#endif
+ fprintf (stderr, "proc_stdin: cannot get temporary file\n");
+ return 0;
+ }
+
++#ifdef HAVE_MKSTEMP
++ strcpy(stdfile, tmpdir);
++ strcat(stdfile, "/");
++ strcat(stdfile, tmpprefix);
++
++ if ((tmpfd = mkstemp(stdfile)) == -1 ||
++ (target = fdopen(tmpfd, "wbx")) == NULL) {
++#else
+ if ((target = fopen (stdfile, "wbx")) == NULL) {
++#endif
+ fprintf (stderr, "proc_stdin: cannot open temp file %s for writing: %s\n",
+ stdfile, strerror (errno));
+ _FP_free (stdfile);
+Index: uudeview-0.5.20/uulib/uunconc.c
+===================================================================
+--- uudeview-0.5.20.orig/uulib/uunconc.c
++++ uudeview-0.5.20/uulib/uunconc.c
+@@ -1311,6 +1311,12 @@ UUDecode (uulist *data)
+ char *mode, *ntmp;
+ uufile *iter;
+ size_t bytes;
++#define HAVE_MKSTEMP
++#ifdef HAVE_MKSTEMP
++ int tmpfd;
++ const char *tmpprefix = "uuXXXXXX";
++ char *tmpdir = NULL;
++#endif /* HAVE_MKSTEMP */
+
+ if (data == NULL || data->thisfile == NULL)
+ return UURET_ILLVAL;
+@@ -1329,13 +1335,35 @@ UUDecode (uulist *data)
+ else
+ mode = "wbx"; /* otherwise in binary */
+
++#ifdef HAVE_MKSTEMP
++ if ((getuid()==geteuid()) && (getgid()==getegid())) {
++ tmpdir=getenv("TMPDIR");
++ }
++
++ if (!tmpdir) {
++ tmpdir = "/tmp";
++ }
++ data->binfile = malloc(strlen(tmpdir)+strlen(tmpprefix)+2);
++
++ if (!data->binfile) {
++#else
+ if ((data->binfile = tempnam (NULL, "uu")) == NULL) {
++#endif /* HAVE_MKSTEMP */
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+ uustring (S_NO_TEMP_NAME));
+ return UURET_NOMEM;
+ }
+
++#ifdef HAVE_MKSTEMP
++ strcpy(data->binfile, tmpdir);
++ strcat(data->binfile, "/");
++ strcat(data->binfile, tmpprefix);
++
++ if ((tmpfd = mkstemp(data->binfile)) == -1 ||
++ (dataout = fdopen(tmpfd, mode)) == NULL) {
++#else
+ if ((dataout = fopen (data->binfile, mode)) == NULL) {
++#endif /* HAVE_MKSTEMP */
+ /*
+ * we couldn't create a temporary file. Usually this means that TMP
+ * and TEMP aren't set
+@@ -1343,6 +1371,12 @@ UUDecode (uulist *data)
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+ uustring (S_WR_ERR_TARGET),
+ data->binfile, strerror (uu_errno = errno));
++#ifdef HAVE_MKSTEMP
++ if (tmpfd != -1) {
++ unlink(data->binfile);
++ close(tmpfd);
++ }
++#endif /* HAVE_MKSTEMP */
+ _FP_free (data->binfile);
+ data->binfile = NULL;
+ uu_errno = errno;
+@@ -1499,7 +1533,13 @@ UUDecode (uulist *data)
+ */
+
+ if (data->uudet == BH_ENCODED && data->binfile) {
++#ifdef HAVE_MKSTEMP
++ ntmp = malloc(strlen(tmpdir)+strlen(tmpprefix)+2);
++
++ if (ntmp == NULL) {
++#else
+ if ((ntmp = tempnam (NULL, "uu")) == NULL) {
++#endif /* HAVE_MKSTEMP */
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+ uustring (S_NO_TEMP_NAME));
+ progress.action = 0;
+@@ -1513,12 +1553,27 @@ UUDecode (uulist *data)
+ free (ntmp);
+ return UURET_IOERR;
+ }
++
++#ifdef HAVE_MKSTEMP
++ strcpy(ntmp, tmpdir);
++ strcat(ntmp, "/");
++ strcat(ntmp, tmpprefix);
++ if ((tmpfd = mkstemp(ntmp)) == -1 ||
++ (dataout = fdopen(tmpfd, "wb")) == NULL) {
++#else
+ if ((dataout = fopen (ntmp, "wb")) == NULL) {
++#endif /* HAVE_MKSTEMP */
+ UUMessage (uunconc_id, __LINE__, UUMSG_ERROR,
+ uustring (S_NOT_OPEN_TARGET),
+ ntmp, strerror (uu_errno = errno));
+ progress.action = 0;
+ fclose (datain);
++#ifdef HAVE_MKSTEMP
++ if (tmpfd != -1) {
++ unlink(ntmp);
++ close(tmpfd);
++ }
++#endif /* HAVE_MKSTEMP */
+ free (ntmp);
+ return UURET_IOERR;
+ }
diff --git a/app-text/uudeview/files/uudeview-0.5.20-bugfixes.patch b/app-text/uudeview/files/uudeview-0.5.20-bugfixes.patch
new file mode 100644
index 000000000000..3056dd2af59b
--- /dev/null
+++ b/app-text/uudeview/files/uudeview-0.5.20-bugfixes.patch
@@ -0,0 +1,100 @@
++uudeview (0.5.20-3) unstable; urgency=low
++
++ * Ack NMU. (closes: Bug#373630)
++ * Don't force overwrite mode if auto-rename enabled. (closes: Bug#378076)
++ * Don't ignore special chars when parsing MIME. (closes: Bug#341440)
++ * Fix for #320541 also fixes #242999. (closes: Bug#242999)
++ * Incorporate suspicious-file patch from Peter Muir. (closes: Bug#166077)
+...
+
++ -- Chris Hanson <cph@debian.org> Tue, 15 Aug 2006 00:40:50 -0400
+
+Index: uudeview-0.5.20/unix/uudeview.c
+===================================================================
+--- uudeview-0.5.20.orig/unix/uudeview.c
++++ uudeview-0.5.20/unix/uudeview.c
+@@ -657,9 +657,6 @@ work_comline (int argc, char *argv[])
+ else switch (*(argv[number] + 1)) {
+ case '\0':
+ interact = 0;
+- if (overwrite == 0) {
+- overwrite = 1;
+- }
+ proc_stdin ();
+ break;
+ case 'a':
+@@ -699,10 +696,7 @@ work_comline (int argc, char *argv[])
+ fprintf (stderr, "WARNING: cannot interact when reading from stdin\n");
+ }
+ else {
+- interact = (*argv[number] == '+') ? 1 : 0;
+- if (overwrite == 0 && *argv[number] == '-') {
+- overwrite = 1;
+- }
++ interact = (*argv[number] == '+') ? 1 : 0;
+ }
+ break;
+ case 'm':
+@@ -773,6 +767,8 @@ work_comline (int argc, char *argv[])
+ break;
+ }
+ }
++ if (overwrite == 0 && interact == 0 && autoren == 0)
++ overwrite = 1;
+
+ return 1;
+ }
+Index: uudeview-0.5.20/uulib/uunconc.c
+===================================================================
+--- uudeview-0.5.20.orig/uulib/uunconc.c
++++ uudeview-0.5.20/uulib/uunconc.c
+@@ -1437,6 +1437,9 @@ UUDecode (uulist *data)
+ res = UURET_IOERR;
+ break;
+ }
++ UUMessage (uunconc_id, __LINE__, UUMSG_MESSAGE,
++ uustring (S_OPEN_FILE),
++ iter->data->sfname);
+ _FP_strncpy (uugen_fnbuffer, iter->data->sfname, 1024);
+ }
+
+Index: uudeview-0.5.20/uulib/uuscan.c
+===================================================================
+--- uudeview-0.5.20.orig/uulib/uuscan.c
++++ uudeview-0.5.20/uulib/uuscan.c
+@@ -387,10 +387,10 @@ ParseValue (char *attribute)
+ *attribute != '(' && *attribute != ')' &&
+ *attribute != '<' && *attribute != '>' &&
+ *attribute != '@' && *attribute != ',' &&
+- /* *attribute != ';' && */ *attribute != ':' &&
+- *attribute != '\\' &&*attribute != '"' &&
+- *attribute != '/' && /* *attribute != '[' &&
+- *attribute != ']' && */ *attribute != '?' &&
++ *attribute != ';' && *attribute != ':' &&
++ *attribute != '\\' && *attribute != '"' &&
++ *attribute != '/' && *attribute != '[' &&
++ *attribute != ']' && *attribute != '?' &&
+ *attribute != '=' && length < 255) {
+ *ptr++ = *attribute++;
+ length++;
+Index: uudeview-0.5.20/uulib/uustring.c
+===================================================================
+--- uudeview-0.5.20.orig/uulib/uustring.c
++++ uudeview-0.5.20/uulib/uustring.c
+@@ -107,6 +107,7 @@ static stringmap messages[] = {
+ { S_MIME_B_NOT_FOUND, "Boundary expected on Multipart message but found EOF" },
+ { S_MIME_MULTI_DEPTH, "Multipart message nested too deep" },
+ { S_MIME_PART_MULTI, "Handling partial multipart message as plain text" },
++ { S_OPEN_FILE, "Opened file %s" },
+
+ { 0, "" }
+ };
+Index: uudeview-0.5.20/uulib/uustring.h
+===================================================================
+--- uudeview-0.5.20.orig/uulib/uustring.h
++++ uudeview-0.5.20/uulib/uustring.h
+@@ -36,3 +36,4 @@
+ #define S_MIME_B_NOT_FOUND 35
+ #define S_MIME_MULTI_DEPTH 36
+ #define S_MIME_PART_MULTI 37
++#define S_OPEN_FILE 38
diff --git a/app-text/uudeview/files/uudeview-0.5.20-man.patch b/app-text/uudeview/files/uudeview-0.5.20-man.patch
new file mode 100644
index 000000000000..b03e15a5a5f2
--- /dev/null
+++ b/app-text/uudeview/files/uudeview-0.5.20-man.patch
@@ -0,0 +1,95 @@
++uudeview (0.5.13-2.1) unstable; urgency=low
+...
++ * Added man page for uuwish(1).
+...
++ -- Roland Rosenfeld <roland@debian.org> Thu, 16 Sep 1999 18:48:47 +0200
+
+
++Thu Oct 24 22:12:01 1996 Martin Schulze <joey@finlandia.infodrom.north.de>
+...
++ * Corrected some manpages
+
+Index: uudeview-0.5.20/man/uudeview.1
+===================================================================
+--- uudeview-0.5.20.orig/man/uudeview.1
++++ uudeview-0.5.20/man/uudeview.1
+@@ -164,6 +164,16 @@ delivered in have different subject line
+ verbosity. Normally, the program prints some status messages
+ while reading the input files, which can be very helpful if something
+ should go wrong. Use if these messages disturb you.
++Disables progress bars. See
++.B -n
++option.
++.TP
++.B -v
++(disables Verbosity) Disables verbose messages, i.e. notes are not
++displayed, but does not remove warnings and errors. Is not as quiet as
++the
++.B -q
++(Quiet) option.
+ .TP
+ .B -n
+ No progress bars. Normally, UUDeview prints ASCII bars crawling up
+Index: uudeview-0.5.20/man/uuwish.1
+===================================================================
+--- /dev/null
++++ uudeview-0.5.20/man/uuwish.1
+@@ -0,0 +1,45 @@
++.\" Copyright (c) 1999 Roland Rosenfeld <roland@spinnaker.de>
++.\" changes Copyright (c) 2001 Chris Hanson <cph@debian.org>
++.\"
++.\" This program is free software; you can redistribute it and/or modify
++.\" it under the terms of the GNU General Public License as published by
++.\" the Free Software Foundation; either version 2 of the License, or
++.\" (at your option) any later version.
++.\"
++.\" This program is distributed in the hope that it will be useful,
++.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
++.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++.\" GNU General Public License for more details.
++.\"
++.\" You should have received a copy of the GNU General Public License
++.\" along with this program; if not, write to the Free Software
++.\" Foundation, Inc.,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++.\"
++.\" This manual page is written especially for Debian Linux.
++.\"
++.TH UUWISH 1 "February 2001" "Debian Project" "Debian GNU/Linux"
++.SH NAME
++uuwish \- A minimal wish extended by the UU commands
++.SH SYNOPSIS
++.B uuwish
++is a minimal
++.BR wish (1)
++extended by the UU commands that are available in
++.BR uudeview (1)
++and
++.BR uuenview (1).
++.B uuwish
++isn't meant to be called directly; it is a Tcl/Tk script interpreter,
++which is meant to be used by
++.BR xdeview (1).
++.SH "SEE ALSO"
++.BR xdeview (1),
++.BR uudeview (1),
++.BR uuenview (1),
++.BR wish (1).
++.SH AUTHOR
++.B uuwish
++was written by Frank Pilhofer <fp@informatik.uni-frankfurt.de>.
++.PP
++This manual page was written by Roland Rosenfeld <roland@debian.org>,
++for the Debian GNU/Linux system (but may be used by others).
+Index: uudeview-0.5.20/configure.in
+===================================================================
+--- uudeview-0.5.20.orig/configure.in
++++ uudeview-0.5.20/configure.in
+@@ -607,7 +607,7 @@ if test "x$have_minews" = "xyes" ; then
+ fi
+ if test "x$have_tk" != "xno" ; then
+ PROGS="$PROGS xdeview"
+- MPAGES="$MPAGES xdeview.1"
++ MPAGES="$MPAGES xdeview.1 uuwish.1"
+ DOINST="$DOINST install-tcl"
+ fi
+
diff --git a/app-text/uudeview/files/uudeview-0.5.20-rename.patch b/app-text/uudeview/files/uudeview-0.5.20-rename.patch
new file mode 100644
index 000000000000..c62c64c70eb3
--- /dev/null
+++ b/app-text/uudeview/files/uudeview-0.5.20-rename.patch
@@ -0,0 +1,57 @@
++uudeview (0.5.19+beta20030413-1) unstable; urgency=low
+...
++ * Use rename() in preference to copy if possible.
++ (closes: Bug#166040)
+...
++ -- Chris Hanson <cph@debian.org> Sun, 7 Sep 2003 01:05:07 -0400
+
+Index: uudeview-0.5.20/uulib/uulib.c
+===================================================================
+--- uudeview-0.5.20.orig/uulib/uulib.c
++++ uudeview-0.5.20/uulib/uulib.c
+@@ -872,7 +872,10 @@ UUDecodeToTemp (uulist *thefile)
+ }
+
+ /*
+- * decode file first to temp file, then copy it to a final location
++ * Decode file first to temp file, then copy it to a final location.
++ * A move is preferable to a copy. If the file is on the same
++ * partition, no copy is performed. This is important for large
++ * files.
+ */
+
+ int UUEXPORT
+@@ -978,6 +981,12 @@ UUDecodeFile (uulist *thefile, char *des
+ return UURET_IOERR;
+ }
+
++ if (rename(thefile->binfile, uugen_fnbuffer) == 0) {
++ fclose(source);
++ close(fildes);
++ goto finish_ok;
++ }
++
+ if ((target = fdopen (fildes, "wb")) == NULL) {
+ progress.action = 0;
+ UUMessage (uulib_id, __LINE__, UUMSG_ERROR,
+@@ -1042,6 +1051,8 @@ UUDecodeFile (uulist *thefile, char *des
+ thefile->binfile,
+ strerror (uu_errno = errno));
+ }
++
++ finish_ok:
+ _FP_free (thefile->binfile);
+ thefile->binfile = NULL;
+ thefile->state &= ~UUFILE_TMPFILE;
+@@ -1103,9 +1114,9 @@ UUInfoFile (uulist *thefile, void *opaqu
+
+ while (!feof (inpfile) &&
+ (uu_fast_scanning || ftell(inpfile) < maxpos)) {
+- if (_FP_fgets (uugen_inbuffer, 511, inpfile) == NULL)
++ if (_FP_fgets (uugen_inbuffer, 1023, inpfile) == NULL)
+ break;
+- uugen_inbuffer[511] = '\0';
++ uugen_inbuffer[1023] = '\0';
+
+ if (ferror (inpfile))
+ break;
diff --git a/app-text/uudeview/uudeview-0.5.20-r1.ebuild b/app-text/uudeview/uudeview-0.5.20-r1.ebuild
new file mode 100644
index 000000000000..cb82b12549c2
--- /dev/null
+++ b/app-text/uudeview/uudeview-0.5.20-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-text/uudeview/uudeview-0.5.20-r1.ebuild,v 1.1 2008/07/28 00:35:37 rbu Exp $
+
+inherit eutils autotools
+IUSE="tk"
+
+DESCRIPTION="uu, xx, base64, binhex decoder"
+HOMEPAGE="http://www.fpx.de/fp/Software/UUDeview/"
+SRC_URI="http://www.fpx.de/fp/Software/UUDeview/download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+RDEPEND="tk? ( dev-lang/tk )"
+
+DEPEND="${RDEPEND}
+ sys-devel/autoconf"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ EPATCH_SOURCE="${FILESDIR}" EPATCH_SUFFIX="patch" \
+ EPATCH_FORCE="yes" epatch
+
+ eautoreconf
+}
+
+src_compile() {
+ econf \
+ $(use_enable tk tcl) \
+ $(use_enable tk tk) || die
+ emake || die "emake failed"
+}
+
+src_install() {
+ # upstream's Makefiles are just broken
+ einstall MANDIR="${D}/usr/share/man/" || die "Failed to install"
+ dodoc HISTORY INSTALL README
+}