From 90c05ab9463f3194f67f3b33adc59441f070d923 Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 05:54:44 +0000 Subject: auto-import groff-1.18.1-20 from groff-1.18.1-20.src.rpm --- .cvsignore | 2 +- groff-1.18-gzip.patch | 340 +++++++++++++++++++++++++++++++++++++++++++ groff-1.18-pfbtops_cpp.patch | 14 ++ groff-1.18.1-8bit.patch | 17 +++ groff-1.18.1-fixminus.patch | 11 ++ groff-1.18.1-gzext.patch | 22 +++ groff-1.18.1-korean.patch | 38 +++++ groff.spec | 121 ++++++++++++--- sources | 2 +- 9 files changed, 546 insertions(+), 21 deletions(-) create mode 100644 groff-1.18-gzip.patch create mode 100644 groff-1.18-pfbtops_cpp.patch create mode 100644 groff-1.18.1-8bit.patch create mode 100644 groff-1.18.1-fixminus.patch create mode 100644 groff-1.18.1-gzext.patch create mode 100644 groff-1.18.1-korean.patch 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 ++ + #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 = ⊤ *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 + + * 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 1.18.1-20 +- Make the iconv patch a little less broken (bug #84132). + +* Tue Feb 11 2003 Thomas Woerner 1.18.1-19 +- added new iconv patch + +* Tue Feb 11 2003 Florian La Roche +- disable the iconv patch, this will go into a wrapper within the man rpm + +* Mon Feb 10 2003 Thomas Woerner 1.18.1-17 +- fixed source of gzipped files + +* Mon Feb 10 2003 Florian La Roche +- add Korean support from ynakai@redhat.com, #83933 + +* Sun Feb 09 2003 Florian La Roche +- 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 1.18.1-11 +- Unbreak EUC-JP (bug #83608). + +* Mon Feb 3 2003 Thomas Woerner 1.18.1-10 +- fixed missing minus +- added iconv conversion script + +* Fri Jan 31 2003 Tim Waugh 1.18.1-9 +- Fix UTF-8. + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Wed Jan 15 2003 Florian La Roche +- also add hyphen changes to man.local in addition to mdoc.local + +* Tue Jan 14 2003 Florian La Roche +- really include mdoc.local changes from debian + +* Sat Jan 11 2003 Florian La Roche +- fix #81401, maybe also #57410 + +* Fri Jan 03 2003 Florian La Roche +- add more documentation #80729 + +* Wed Jan 01 2003 Florian La Roche +- hot fix for devascii8 breakage + +* Sun Dec 29 2002 Florian La Roche +- 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 +- update to 1.18.1 +- use newest debian patch on top of it + +* Mon Nov 04 2002 Florian La Roche +- add gzip decompression patch + +* Sat Nov 02 2002 Florian La Roche +- 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 1.18-7 +- Patch7 - move pfbtops to CCPROGDIRS (it needs to link to C++ stuff) + * Sat Aug 31 2002 Florian La Roche - 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 -- cgit