summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvsdist <cvsdist@fedoraproject.org>2004-09-09 05:54:44 +0000
committercvsdist <cvsdist@fedoraproject.org>2004-09-09 05:54:44 +0000
commit90c05ab9463f3194f67f3b33adc59441f070d923 (patch)
treec81e8534f351fdb9ebe22d87079ed1028e4768ca
parent919fd73eb20c7af7cd28f5246db1bca69c7d346a (diff)
downloadgroff-90c05ab9463f3194f67f3b33adc59441f070d923.tar.gz
groff-90c05ab9463f3194f67f3b33adc59441f070d923.tar.xz
groff-90c05ab9463f3194f67f3b33adc59441f070d923.zip
auto-import groff-1.18.1-20 from groff-1.18.1-20.src.rpmgroff-1_18_1-20RHL-9-splitRHL-8-splitRHEL-3-split
-rw-r--r--.cvsignore2
-rw-r--r--groff-1.18-gzip.patch340
-rw-r--r--groff-1.18-pfbtops_cpp.patch14
-rw-r--r--groff-1.18.1-8bit.patch17
-rw-r--r--groff-1.18.1-fixminus.patch11
-rw-r--r--groff-1.18.1-gzext.patch22
-rw-r--r--groff-1.18.1-korean.patch38
-rw-r--r--groff.spec121
-rw-r--r--sources2
9 files changed, 546 insertions, 21 deletions
diff --git a/.cvsignore b/.cvsignore
index 966a85f..c39c4f5 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -1,3 +1,3 @@
-groff-1.18.tar.gz
+groff-1.18.1.tar.gz
man-pages-ja-GNU_groff-20000115.tar.gz
mandocj.tar.gz
diff --git a/groff-1.18-gzip.patch b/groff-1.18-gzip.patch
new file mode 100644
index 0000000..3d14ff0
--- /dev/null
+++ b/groff-1.18-gzip.patch
@@ -0,0 +1,340 @@
+--- groff-1.18/src/roff/troff/Makefile.sub.hugo 2002-05-03 00:33:21.000000000 +0200
++++ groff-1.18/src/roff/troff/Makefile.sub 2002-11-04 21:30:09.000000000 +0100
+@@ -1,6 +1,6 @@
+ PROG=troff$(EXEEXT)
+ MAN1=troff.n
+-XLIBS=$(LIBGROFF)
++XLIBS=-lz $(LIBGROFF)
+ MLIB=$(LIBM)
+ OBJS=\
+ env.o \
+--- groff-1.18/src/roff/troff/input.cc.hugo 2002-11-04 21:30:09.000000000 +0100
++++ groff-1.18/src/roff/troff/input.cc 2002-11-04 21:36:13.000000000 +0100
+@@ -42,6 +42,8 @@
+
+ #include "nonposix.h"
+
++#include <zlib.h>
++
+ #ifdef NEED_DECLARATION_PUTENV
+ extern "C" {
+ int putenv(const char *);
+@@ -217,6 +219,130 @@
+ skip_line();
+ }
+
++enum opq_fp_zmode { OPQ_FP_STDIO, OPQ_FP_ZLIB, OPQ_FP_GUESS };
++
++class opaque_fp {
++ private:
++ FILE * stdio_fp;
++ gzFile zlib_fp;
++ int is_zipped;
++ // We need this because zlib has no ungetc.
++ int char_pending;
++ char saved_char;
++ int popened;
++ public:
++ opaque_fp(const char *,
++ const char *,
++ enum opq_fp_zmode = OPQ_FP_STDIO);
++ opaque_fp(FILE *, int = 0);
++ ~opaque_fp();
++ int active();
++ int xgetc();
++ int unxgetc(int);
++};
++
++int opaque_fp::active()
++{
++ if (is_zipped) {
++ return zlib_fp!=NULL;
++ } else {
++ return stdio_fp!=NULL;
++ }
++}
++
++// This constructor is guaranteed to set is_zipped to 0 or 1, and set the
++// corresponding fp to something non-rubbish.
++opaque_fp::opaque_fp(const char * fn, const char * mode, enum opq_fp_zmode z)
++{
++ switch (z) {
++ case OPQ_FP_STDIO :
++ stdio_fp=fopen(fn,mode);
++ is_zipped=0;
++ break;
++
++ case OPQ_FP_ZLIB :
++ zlib_fp=gzopen(fn,mode);
++ is_zipped=1;
++ char_pending=0;
++ break;
++
++ case OPQ_FP_GUESS :
++ stdio_fp=fopen(fn,mode);
++ is_zipped=0;
++ if (active()) {
++ break;
++ }
++
++ // Yes, I'm a C addict
++ char * s;
++ s=(char*)malloc(strlen(fn)+4);
++ sprintf(s,"%s.gz",fn);
++ zlib_fp=gzopen(s,mode);
++ char_pending=0;
++ is_zipped=1;
++ free(s);
++ break;
++ }
++}
++
++opaque_fp::opaque_fp(FILE *fp, int p)
++{
++ stdio_fp=fp;
++ is_zipped=0;
++ popened=p;
++}
++
++opaque_fp::~opaque_fp()
++{
++ if (is_zipped) {
++ if (zlib_fp!=NULL) {
++ gzclose(zlib_fp);
++ zlib_fp=NULL;
++ }
++ } else {
++ if (stdio_fp!=NULL) {
++ if (popened) {
++ pclose(stdio_fp);
++ } else if (stdio_fp!=stdin) {
++ fclose(stdio_fp);
++ } else {
++ clearerr(stdin);
++ }
++ stdio_fp=NULL;
++ }
++ }
++}
++
++// These routines must be called only if active() is true
++int opaque_fp::xgetc()
++{
++ if (is_zipped) {
++ if (char_pending) {
++ char_pending--;
++ return saved_char;
++ } else {
++ return gzgetc(zlib_fp);
++ }
++ } else {
++ return getc(stdio_fp);
++ }
++}
++
++int opaque_fp::unxgetc(int c)
++{
++ if (is_zipped) {
++ if (char_pending) {
++ return EOF;
++ } else {
++ char_pending++;
++ saved_char=c;
++ return c;
++ }
++ } else {
++ return ungetc(c,stdio_fp);
++ }
++}
++
+ class input_iterator {
+ public:
+ input_iterator();
+@@ -236,7 +362,7 @@
+ virtual int get_location(int, const char **, int *) { return 0; }
+ virtual void backtrace() {}
+ virtual int set_location(const char *, int) { return 0; }
+- virtual int next_file(FILE *, const char *) { return 0; }
++ virtual int next_file(opaque_fp *, const char *) { return 0; }
+ virtual void shift(int) {}
+ virtual int is_boundary() {return 0; }
+ virtual int internal_level() { return 0; }
+@@ -277,7 +403,7 @@
+ };
+
+ class file_iterator : public input_iterator {
+- FILE *fp;
++ opaque_fp *fp;
+ int lineno;
+ const char *filename;
+ int popened;
+@@ -286,7 +412,9 @@
+ enum { BUF_SIZE = 512 };
+ unsigned char buf[BUF_SIZE];
+ void close();
++ void ctor_end(void);
+ public:
++ file_iterator(opaque_fp *, const char *, int = 0);
+ file_iterator(FILE *, const char *, int = 0);
+ ~file_iterator();
+ int fill(node **);
+@@ -294,18 +422,30 @@
+ int get_location(int, const char **, int *);
+ void backtrace();
+ int set_location(const char *, int);
+- int next_file(FILE *, const char *);
++ int next_file(opaque_fp *, const char *);
+ int is_file();
+ };
+
+-file_iterator::file_iterator(FILE *f, const char *fn, int po)
++file_iterator::file_iterator(opaque_fp *f, const char *fn, int po)
+ : fp(f), lineno(1), filename(fn), popened(po),
+ newline_flag(0), seen_escape(0)
+ {
+- if ((font::use_charnames_in_special) && (fn != 0)) {
++ ctor_end();
++}
++
++file_iterator::file_iterator(FILE * f, const char * fn, int po)
++: fp(new opaque_fp(f,po)), lineno(1), filename(fn), popened(po),
++ newline_flag(0), seen_escape(0)
++{
++ ctor_end();
++}
++
++void file_iterator::ctor_end(void)
++{
++ if ((font::use_charnames_in_special) && (filename != 0)) {
+ if (!the_output)
+ init_output();
+- the_output->put_filename(fn);
++ the_output->put_filename(filename);
+ }
+ }
+
+@@ -316,6 +456,8 @@
+
+ void file_iterator::close()
+ {
++ delete fp;
++#if 0
+ if (fp == stdin)
+ clearerr(stdin);
+ #ifndef POPEN_MISSING
+@@ -324,6 +466,7 @@
+ #endif /* not POPEN_MISSING */
+ else
+ fclose(fp);
++#endif
+ }
+
+ int file_iterator::is_file()
+@@ -331,7 +474,7 @@
+ return 1;
+ }
+
+-int file_iterator::next_file(FILE *f, const char *s)
++int file_iterator::next_file(opaque_fp *f, const char *s)
+ {
+ close();
+ filename = s;
+@@ -354,7 +497,7 @@
+ ptr = p;
+ unsigned char *e = p + BUF_SIZE;
+ while (p < e) {
+- int c = getc(fp);
++ int c = fp->xgetc();
+ if (c == EOF)
+ break;
+ if (invalid_input_char(c))
+@@ -381,13 +524,13 @@
+
+ int file_iterator::peek()
+ {
+- int c = getc(fp);
++ int c = fp->xgetc();
+ while (invalid_input_char(c)) {
+ warning(WARN_INPUT, "invalid input character code %1", int(c));
+- c = getc(fp);
++ c = fp->xgetc();
+ }
+ if (c != EOF)
+- ungetc(c, fp);
++ fp->unxgetc(c);
+ return c;
+ }
+
+@@ -433,7 +576,7 @@
+ static int set_location(const char *, int);
+ static void backtrace();
+ static void backtrace_all();
+- static void next_file(FILE *, const char *);
++ static void next_file(opaque_fp *, const char *);
+ static void end_file();
+ static void shift(int n);
+ static void add_boundary();
+@@ -605,7 +748,7 @@
+ return 0;
+ }
+
+-void input_stack::next_file(FILE *fp, const char *s)
++void input_stack::next_file(opaque_fp *fp, const char *s)
+ {
+ input_iterator **pp;
+ for (pp = &top; *pp != &nil_iterator; pp = &(*pp)->next)
+@@ -691,10 +834,11 @@
+ input_stack::end_file();
+ else {
+ errno = 0;
+- FILE *fp = fopen(nm.contents(), "r");
+- if (!fp)
++ opaque_fp *fp = new opaque_fp(nm.contents(), "r");
++ if (!fp->active()) {
++ delete fp;
+ error("can't open `%1': %2", nm.contents(), strerror(errno));
+- else
++ } else
+ input_stack::next_file(fp, nm.contents());
+ }
+ tok.next();
+@@ -5372,11 +5516,12 @@
+ error("won't source non-file `%1' without -U flag", path);
+ else {
+ errno = 0;
+- FILE *fp = fopen(path, "r");
+- if (fp)
++ opaque_fp *fp = new opaque_fp(nm.contents(), "r",OPQ_FP_GUESS);
++ if (fp->active()) {
+ input_stack::push(new file_iterator(fp, nm.contents()));
+- else
+- error("can't open `%1': %2", path, strerror(errno));
++ } else {
++ delete fp;
++ }
+ }
+ tok.next();
+ }
+@@ -6822,16 +6967,18 @@
+
+ static void process_input_file(const char *name)
+ {
+- FILE *fp;
++ opaque_fp *fp;
+ if (strcmp(name, "-") == 0) {
+ clearerr(stdin);
+- fp = stdin;
++ fp = new opaque_fp(stdin);
+ }
+ else {
+ errno = 0;
+- fp = fopen(name, "r");
+- if (!fp)
++ fp = new opaque_fp(name, "r", OPQ_FP_GUESS);
++ if (!fp->active()) {
++ delete fp;
+ fatal("can't open `%1': %2", name, strerror(errno));
++ }
+ }
+ input_stack::push(new file_iterator(fp, name));
+ tok.next();
diff --git a/groff-1.18-pfbtops_cpp.patch b/groff-1.18-pfbtops_cpp.patch
new file mode 100644
index 0000000..270b26f
--- /dev/null
+++ b/groff-1.18-pfbtops_cpp.patch
@@ -0,0 +1,14 @@
+--- groff-1.18/Makefile.in.sopwith 2002-10-04 17:10:56.000000000 -0400
++++ groff-1.18/Makefile.in 2002-10-04 17:11:09.000000000 -0400
+@@ -422,8 +422,9 @@
+ src/utils/lookbib \
+ src/utils/indxbib \
+ src/utils/lkbib \
+- src/utils/addftinfo
+-CPROGDIRS=src/utils/pfbtops
++ src/utils/addftinfo \
++ src/utils/pfbtops
++CPROGDIRS=
+ PROGDIRS=$(CCPROGDIRS) $(CPROGDIRS)
+ DEVDIRS=\
+ font/devps \
diff --git a/groff-1.18.1-8bit.patch b/groff-1.18.1-8bit.patch
new file mode 100644
index 0000000..c98f5c6
--- /dev/null
+++ b/groff-1.18.1-8bit.patch
@@ -0,0 +1,17 @@
+2002-10-11 Ruslan Ermilov <ru@FreeBSD.org>
+
+ * src/roff/troff/env.cc (hyphen_trie::read_patterns_file): Add
+ cast to `unsigned char' to properly read patterns with 8bit
+ characters.
+
+--- groff-1.18.1/src/roff/troff/env.cc
++++ groff-1.18.1/src/roff/troff/env.cc
+@@ -3924,7 +3924,7 @@
+ if (i > 0) {
+ if (have_patterns || final_pattern || traditional) {
+ for (int j = 0; j < i; j++)
+- buf[j] = hpf_code_table[buf[j]];
++ buf[j] = hpf_code_table[(unsigned char)buf[j]];
+ insert_pattern(buf, i, num);
+ final_pattern = 0;
+ }
diff --git a/groff-1.18.1-fixminus.patch b/groff-1.18.1-fixminus.patch
new file mode 100644
index 0000000..0ea1e99
--- /dev/null
+++ b/groff-1.18.1-fixminus.patch
@@ -0,0 +1,11 @@
+--- groff-1.18.1/font/devutf8/R.proto.fixminus 2003-02-03 14:19:47.000000000 +0100
++++ groff-1.18.1/font/devutf8/R.proto 2003-02-03 14:20:06.000000000 +0100
+@@ -285,7 +285,7 @@
+ +h 24 0 0x03D1
+ +f 24 0 0x03D5
+ +p 24 0 0x03D6
+-- 24 0 0x2010
++- 24 0 0x002D
+ hy "
+ en 24 0 0x2013
+ em 24 0 0x2014
diff --git a/groff-1.18.1-gzext.patch b/groff-1.18.1-gzext.patch
new file mode 100644
index 0000000..d9ea585
--- /dev/null
+++ b/groff-1.18.1-gzext.patch
@@ -0,0 +1,22 @@
+--- groff-1.18.1/src/roff/troff/input.cc.gzext 2003-02-10 18:32:00.000000000 +0100
++++ groff-1.18.1/src/roff/troff/input.cc 2003-02-10 18:33:18.000000000 +0100
+@@ -5487,12 +5487,16 @@
+ char cbuf[PATH_MAX], * cwd;
+ char pbuf[PATH_MAX], * path;
+ struct stat st;
++ char tmp[PATH_MAX];
++ snprintf(tmp, PATH_MAX, "%s.gz", nm.contents());
+
+ if ((cwd = realpath(".", cbuf)) == NULL)
+ error("realpath on `%1' failed: %2", ".", strerror(errno));
+- else if ((path = realpath(nm.contents(), pbuf)) == NULL)
+- error("realpath on `%1' failed: %2", nm.contents(), strerror(errno));
+- else if (safer_flag && strncmp(cwd, path, strlen(cwd)))
++ else if ((path = realpath(nm.contents(), pbuf)) == NULL &&
++ (path = realpath(tmp, pbuf)) == NULL)
++ {
++ error("realpath on `%1' failed: %3", nm.contents(), strerror(errno));
++ } else if (safer_flag && strncmp(cwd, path, strlen(cwd)))
+ error("won't source `%1' outside of `%2' without -U flag", path, cwd);
+ else if (stat(path, &st) < 0)
+ error("can't stat `%1': %2", path, strerror(errno));
diff --git a/groff-1.18.1-korean.patch b/groff-1.18.1-korean.patch
new file mode 100644
index 0000000..7dea1fc
--- /dev/null
+++ b/groff-1.18.1-korean.patch
@@ -0,0 +1,38 @@
+--- groff-1.18.1/src/roff/nroff/nroff.sh.orig 2003-02-06 19:37:17.000000000 +0900
++++ groff-1.18.1/src/roff/nroff/nroff.sh 2003-02-06 19:38:34.000000000 +0900
+@@ -14,6 +14,8 @@
+ T=-Tcp1047 ;;
+ EUC-JP)
+ T=-Tnippon ;;
++ EUC-KR)
++ T=-Tkorean ;;
+ *)
+ case "${LC_ALL-${LC_CTYPE-${LANG}}}" in
+ *.UTF-8)
+@@ -24,6 +26,8 @@
+ T=-Tcp1047 ;;
+ ja_JP.ujis | ja_JP.eucJP)
+ T=-Tnippon ;;
++ ko_KR.eucKR)
++ T=-Tkorean ;;
+ *)
+ case "$LESSCHARSET" in
+ utf-8)
+@@ -34,6 +38,8 @@
+ T=-Tcp1047 ;;
+ japanese)
+ T=-Tnippon ;;
++ ko)
++ T=-Tkorean ;;
+ *)
+ T=-Tascii8 ;;
+ esac ;;
+@@ -58,7 +64,7 @@
+ exit 1 ;;
+ -[iptSUC] | -[mrno]*)
+ opts="$opts $1" ;;
+- -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon)
++ -Tascii | -Tlatin1 | -Tutf8 | -Tcp1047 | -Tascii8 | -Tnippon | -Tkorean)
+ T=$1 ;;
+ -T*)
+ # ignore other devices
diff --git a/groff.spec b/groff.spec
index 2b51414..6e9e592 100644
--- a/groff.spec
+++ b/groff.spec
@@ -1,27 +1,32 @@
Summary: A document formatting system.
Name: groff
-Version: 1.18
-Release: 6
+Version: 1.18.1
+Release: 20
Copyright: GPL
Group: Applications/Publishing
Source0: ftp://ftp.gnu.org/gnu/groff/groff-%{version}.tar.gz
-Source1: mf40-groff_filters
# Japanese sources
Source3: mandocj.tar.gz
Source4: man-pages-ja-GNU_groff-20000115.tar.gz
-Source5: groff.test
Source6: hyphen.cs
Patch1: groff-1.16-safer.patch
-Patch3: groff_1.18-1.diff
+Patch3: groff_1.18.1-4.patch
Patch4: groff-1.18-info.patch
Patch5: groff-1.18-nohtml.patch
-Patch6: groff-1.18-patch.patch
+Patch6: groff-1.18-pfbtops_cpp.patch
+Patch7: groff-1.18-gzip.patch
+Patch8: groff-1.18.1-multichar.patch
+Patch9: groff-1.18.1-fixminus.patch
+Patch10: groff-1.18.1-iconv.patch
+Patch11: groff-1.18.1-8bit.patch
+Patch12: groff-1.18.1-korean.patch
+Patch13: groff-1.18.1-gzext.patch
URL: ftp://ftp.gnu.org/gnu/groff/
Requires: mktemp
Prereq: /sbin/install-info
Buildroot: %{_tmppath}/%{name}-root
Obsoletes: groff-tools
-BuildRequires: netpbm-progs
+BuildRequires: netpbm-progs, zlib-devel
%description
Groff is a document formatting system. Groff takes standard text and
@@ -56,16 +61,23 @@ System display.
%prep
%setup -q -a 4
-%patch1 -p1 -b .safer
-%patch3 -p1 -b .japanese
-%patch4 -p1 -b .info
-%patch5 -p1 -b .nohtml
+%patch1 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
%patch6 -p1
+%patch7 -p1
+#%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1 -b .gzext
%build
PATH=$PATH:%{_prefix}/X11R6/bin
#autoconf
-%configure --enable-japanese
+%configure --enable-japanese --enable-multibyte
make
(cd doc && makeinfo groff.texinfo)
cd src/xditview
@@ -108,10 +120,10 @@ ln -s soelim.1.gz ${RPM_BUILD_ROOT}%{_mandir}/man1/zsoelim.1.gz
ln -s tbl.1.gz ${RPM_BUILD_ROOT}%{_mandir}/man1/gtbl.1.gz
ln -s troff.1.gz ${RPM_BUILD_ROOT}%{_mandir}/man1/gtroff.1.gz
-#mkdir -p ${RPM_BUILD_ROOT}/usr/share/printconf/mf_rules
-#cp %{SOURCE1} ${RPM_BUILD_ROOT}/usr/share/printconf/mf_rules/
-#mkdir -p ${RPM_BUILD_ROOT}/usr/share/printconf/tests
-#cp %{SOURCE5} ${RPM_BUILD_ROOT}/usr/share/printconf/tests/
+ln -s devnippon ${RPM_BUILD_ROOT}/usr/share/groff/%{version}/font/devkorean
+
+cat debian/mandoc.local >> ${RPM_BUILD_ROOT}/usr/share/groff/site-tmac/mdoc.local
+cat debian/mandoc.local >> ${RPM_BUILD_ROOT}/usr/share/groff/site-tmac/man.local
find ${RPM_BUILD_ROOT}%{_prefix}/bin ${RPM_BUILD_ROOT}%{_mandir} -type f -o -type l | \
grep -v afmtodit | grep -v grog | grep -v mdoc.samples |\
@@ -121,6 +133,8 @@ find ${RPM_BUILD_ROOT}%{_prefix}/bin ${RPM_BUILD_ROOT}%{_mandir} -type f -o -typ
install -m 644 %SOURCE6 $RPM_BUILD_ROOT/usr/share/groff/%version/tmac/hyphen.cs
ln -sf doc.tmac $RPM_BUILD_ROOT/usr/share/groff/%version/tmac/docj.tmac
+# installed, but not packaged in rpm
+rm -fr $RPM_BUILD_ROOT/usr/share/doc/groff $RPM_BUILD_ROOT%{_infodir}/dir
%clean
rm -rf ${RPM_BUILD_ROOT}
@@ -137,10 +151,9 @@ fi
%files -f groff-files
%defattr(-,root,root)
%doc BUG-REPORT NEWS PROBLEMS README TODO VERSION
+%doc doc/meintro.me doc/meref.me doc/pic.ms
%{_prefix}/share/groff
%{_infodir}/groff*
-#/usr/share/printconf/tests/*
-#/usr/share/printconf/mf_rules/*
%files perl
%defattr(-,root,root)
@@ -155,9 +168,79 @@ fi
%defattr(-,root,root)
%{_prefix}/X11R6/bin/gxditview
%{_prefix}/X11R6/lib/X11/app-defaults/GXditview
-#/etc/X11/app-defaults/GXditview
%changelog
+* Wed Feb 12 2003 Tim Waugh <twaugh@redhat.com> 1.18.1-20
+- Make the iconv patch a little less broken (bug #84132).
+
+* Tue Feb 11 2003 Thomas Woerner <twoerner@redhat.com> 1.18.1-19
+- added new iconv patch
+
+* Tue Feb 11 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- disable the iconv patch, this will go into a wrapper within the man rpm
+
+* Mon Feb 10 2003 Thomas Woerner <twoerner@redhat.com> 1.18.1-17
+- fixed source of gzipped files
+
+* Mon Feb 10 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- add Korean support from ynakai@redhat.com, #83933
+
+* Sun Feb 09 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- remove automatic conversion for ru_* and cz_*
+- add 8bit patch
+- update to 1.18.1-4 debian patch
+- disable Patch8: groff-1.18.1-multichar.patch for now
+- add ugly patch within the iconv patch to partly fix display of russian
+ man-pages with "-Tnippon"
+
+* Thu Feb 6 2003 Tim Waugh <twaugh@redhat.com> 1.18.1-11
+- Unbreak EUC-JP (bug #83608).
+
+* Mon Feb 3 2003 Thomas Woerner <twoerner@redhat.com> 1.18.1-10
+- fixed missing minus
+- added iconv conversion script
+
+* Fri Jan 31 2003 Tim Waugh <twaugh@redhat.com> 1.18.1-9
+- Fix UTF-8.
+
+* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
+- rebuilt
+
+* Wed Jan 15 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- also add hyphen changes to man.local in addition to mdoc.local
+
+* Tue Jan 14 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- really include mdoc.local changes from debian
+
+* Sat Jan 11 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- fix #81401, maybe also #57410
+
+* Fri Jan 03 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- add more documentation #80729
+
+* Wed Jan 01 2003 Florian La Roche <Florian.LaRoche@redhat.de>
+- hot fix for devascii8 breakage
+
+* Sun Dec 29 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- update to debian patch 1.18.1-2 located at
+ ftp://ftp.debian.org/debian/pool/main/g/groff/
+
+* Mon Nov 18 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- update to 1.18.1
+- use newest debian patch on top of it
+
+* Mon Nov 04 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- add gzip decompression patch
+
+* Sat Nov 02 2002 Florian La Roche <Florian.LaRoche@redhat.de>
+- update to 1.18.1
+- apply groff_1.18-7 from debian
+- remove some not-packaged files
+- rm old printfilters completely
+
+* Fri Oct 04 2002 Elliot Lee <sopwith@redhat.com> 1.18-7
+- Patch7 - move pfbtops to CCPROGDIRS (it needs to link to C++ stuff)
+
* Sat Aug 31 2002 Florian La Roche <Florian.LaRoche@redhat.de>
- add patch for #72924
diff --git a/sources b/sources
index 6ef2949..68b1f07 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-31474119d1ef2ded0bd0692132d50d05 groff-1.18.tar.gz
+4c7a1b478d230696f14743772f31639f groff-1.18.1.tar.gz
9bbf9b74fd587d248e17543bda4ce5de man-pages-ja-GNU_groff-20000115.tar.gz
e5d7f3273b4d53033723fcd2654d980c mandocj.tar.gz