Date: Thu, 25 Mar 2004 04:04:52 -0800 (PST) From: Jeremy Chadwick <freebsd@jdc.parodius.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/64700: ispell fixes (leftover .bak files and install error) Message-ID: <200403251204.i2PC4qMn003850@pentarou.parodius.com> Resent-Message-ID: <200403251210.i2PCALIs046132@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 64700 >Category: ports >Synopsis: ispell fixes (leftover .bak files and install error) >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Thu Mar 25 04:10:21 PST 2004 >Closed-Date: >Last-Modified: >Originator: Jeremy Chadwick >Release: FreeBSD 4.9-STABLE i386 >Organization: Parodius Networking >Environment: System: FreeBSD pentarou.parodius.com 4.9-STABLE FreeBSD 4.9-STABLE #0: Wed Mar 17 23:46:30 PST 2004 root@pentarou.parodius.com:/usr/obj/usr/src/sys/PENTAROU i386 >Description: This send-pr contains two fixes: 1) fix ispell leaving .bak files laying around TMPDIR (/tmp), and 2) Makefile fix for languages which do not use or generate *.hash or *.aff files. 1) ispell creates backup files in TMPDIR (/tmp) when doing spell-checking. The problem is that ispell won't unlink (delete) it's own backup files if the filename length is greater than MAXNAMLEN. In config.X, an #ifdef check for MAXNAMLEN is done. If unavailable, it defines a default of 14. This is particularly annoying for those of us who use mutt, which creates temporary files named /tmp/mutt-HOSTNAME-RANDOM8CHARS. If ispell is spawned, tons of .bak files are left laying around /tmp. "ispell -x" will not work around this problem. 2) During "make install" of the ispell port, one commonly sees the following (albeit harmless) error: install: /usr/ports/textproc/ispell/work/*/*.aff: No such file or directory *.aff and *.hash files (from what I can tell) only apply to German, Finnish, and Polish. Therefore we now do an .if defined() check before firing off that install command. >How-To-Repeat: 1) Run "ispell -vv". Otherwise, run mutt, make some typos in your editor, hit "i" to spawn ispell (prior to sending), apply changes, hit "x", then find .bak files laying around /tmp. 2) Run "make install" without using certain ISPELL_xx hooks. >Fix: 1) Make config.X use dirent.h to get our system-wide MAXNAMLEN. 2) Simple Makefile .if defined() check. Applicable diff is included below. diff -ruN ispell.orig/Makefile ispell/Makefile --- ispell.orig/Makefile Wed Mar 10 19:07:51 2004 +++ ispell/Makefile Thu Mar 25 03:33:41 2004 @@ -7,7 +7,7 @@ PORTNAME?= ispell PORTVERSION?= 3.2.06 -PORTREVISION?= 4 +PORTREVISION?= 5 CATEGORIES+= textproc MASTER_SITES= http://fmg-www.cs.ucla.edu/geoff/tars/ DISTNAME= ispell-3.2.06 # needed for slave ports / options @@ -289,7 +289,9 @@ ${INSTALL_DATA} ${WRKSRC}/languages/american/english.med+ \ ${DATADIR}/english.dict .endif +.if defined(ISPELL_DENEU) || defined(ISPELL_DEALT) || defined(ISPELL_FI) || defined(ISPELL_PL) @-${INSTALL_DATA} ${WRKDIR}/*/*.aff ${WRKDIR}/*/*.hash ${DATADIR} +.endif .if defined(ISPELL_IT) @${CAT} ${MASTERDIR}/pkg-plist.it >> ${TMPPLIST} .endif diff -ruN ispell.orig/files/patch-ad.maxnamlen ispell/files/patch-ad.maxnamlen --- ispell.orig/files/patch-ad.maxnamlen Wed Dec 31 16:00:00 1969 +++ ispell/files/patch-ad.maxnamlen Thu Mar 25 03:05:50 2004 @@ -0,0 +1,14 @@ +--- config.X.orig Thu Mar 25 03:03:29 2004 ++++ config.X Thu Mar 25 03:05:23 2004 +@@ -169,6 +169,11 @@ + #include <sys/param.h> + #include <sys/types.h> + ++/* Support MAXNAMLEN greater than 14 on FreeBSD; this is not in ++ * sys/param.h for obvious reasons. ++ */ ++#include <dirent.h> ++ + /* + ** Things that normally go in a Makefile. Define these just like you + ** might in the Makefile, except you should use #define instead of >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403251204.i2PC4qMn003850>