I encountered a few incompatibilitys back in 1995. Peter Much tracked down this problem and make a fix for it. I made it availibe on ftp://ftp.dinoex.org/pub/c-news/c-news-linux-extras.tar.gz Here a short translation of the problems. 1) GNU-join does not work as expected, if you reorder the collums woth parameters "-o 1.1 2.2 1.2 1.3" To fix this there is a call to BSDjoin, sources for this program is included in the patch. Install it in the path of news (see config). BSDjoin uses the libcnews.a of the distribution. 2) GNU-ls differs if it is called with more than one directorys, when only one of them does exist. The name of the directory is omitted. ls (GNU fileutils 3.16) still has this problem. The workaround for uupact know this and use an extra existing directory when 'ls' is called. This is stripped out later. I am not sure if item one is still needed. kind regards Dirk -- Dirk Meyer, Im Grund 4, 34317 Habichtswald, Germany dirk.meyer@dinoex.sub.org Some extracts from a local mailinglist: peter@citylink.dinoex.sub.org (Peter Much) wrote: ------------------------------------------------- After upgrading C news cleanup release to patchlevel G, I had to notice that doexpire does no longer work with GNU ls. The error messages look like this: /usr/lib/news/expire/upact: errors in active.tmp -- aborting line 3947: "0000000014" < "00042" line 4902: "0000000001" < "00030" Comparing BSD-ls with GNU-ls shows the problem: BSD-ls: ------- news@citylink:34:3/tmp$ mkdir temp news@citylink:37:3/tmp$ echo text > temp/datei news@citylink:38:3/tmp$ ls -f temp/. datei news@citylink:39:3/tmp$ ls -f temp/. foo ls: foo: No such file or directory temp/.: <-------------------------------- needed! datei news@citylink:37:3/tmp$ GNU-ls: ------- news@phase23:317:2/tmp$ echo text > temp/datei news@phase23:318:2/tmp$ ls -f temp/. . .. datei news@phase23:319:2/tmp$ ls -f temp/. foo ls: foo: No such file or directory . .. datei news@phase23:320:2/tmp$ ls --version GNU fileutils 3.9 The same problem appears still with: GNU fileutils 3.12 with color-ls patch 3.12.0.2 The problem is not the implication of -a with -f in GNU-ls, but the missing directory-name-heading if only one of the arguments does actually exist. This does lead to upact writing nonsense into active.hilow. The only solution I can see is to create spooldirs for all newsgroups mentioned in the active file, but I consider it quite ugly having about 10'000 empty&unneeded directories hanging around - besides I do not have the neccessary spare diskspace for that. ------------------------------------------------- > I don't know, offhand, what POSIX says about this, but I would tentatively > call this a bug in GNU-ls. I don't know, either. Let's view it as a GNU-bug, as their join was wrongish, too.;) I've posted that to gnu.utils.bug, so hopefully they will at least think about it. > I don't think there is a satisfactory fix except to invoke upact with the > -s option (which will be a bit slow). It's absolutely necessary for upact > to know *which* directory ls actually succeeded in producing output for. I found this switch, after sleeping over it. Interim, I've found a solution with very few speed-loss, but it's quite ugly: Creating one empty directory under NEWSSPOOL (e.g. empty.dir), putting this into every ls command, and grep'ing it away again behind the sh. Now it all has the "good feeling":-)) again, and I can make a package and pass it on. > Untidy, yes, but the directory is supposed to be there if there is an > active-file entry (except for x and = entries, I think). Some readers > will break if the directory isn't present. Yes, that's the easiest common solution for everybody. Maybe we're kind of special. We have no online readers, but are serving some hundred users who all use store&forward offline readers and tell us explicitely which groups they want to get, via mail-commands. That's some middle-european mailbox-network software; only our servers run Unix/RFC. ------------------------------------------------- After installation expire reports a huge error mail like the following lines: /usr/lib/news/expire/upact: errors in active.tmp -- aborting line 1: newsgroup name "0000000000" invalid line 1: "0000y" is non-numeric line 1: field 4 ("9") invalid line 1: field 3 is zero line 2: newsgroup name "0000000000" invalid line 2: "0000y" is non-numeric line 2: field 4 ("10") invalid line 2: field 3 is zero ... The regression test don't reported any problems. this looks like the bug mentioned in news.software.b ------------------------------------------------- From peter Mon Aug 14 05:10:53 MET DST 1995 Newsgroups: demon.tech.unix,comp.os.linux.misc,news.software.b Subject: Re: C-News CRG upact errors (join bug??) References: Keywords: cnews join upact linux bug In article , Steve Wyles wrote: > On reading the most recent version of the Linux news howto, it >mentioned that there is a possible bug in the GNU version of join and a >patch to fix this should be on sunsite.unc.edu. As yet I've been unable >to locate this patch and wondered if anybody might be able to point me to >its location. I did the following with upact, which makes it someway slower, but seems to work. ... awk '{ print $1, $2, $3, $4, NR }' active | sort | # Das klappt so nicht! # join -a1 -e - -o 1.5 1.1 1.2 1.3 1.4 2.2 2.3 - active.lows | # Workaround: join -a1 -e - - active.lows | awk '{ printf "%s %s %s %s %s", $5, $1, $2, $3, $4; for(i = 6; i <= 8; i++) if (NF < i) printf " -"; else printf " %s", $i; print ""; }' | # Workaround ende sort -n | awk 'BEGIN { OFMT = "%.12g" } ... -------------------------------------------------