-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES
1091 lines (1033 loc) · 58.5 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*
* Heirloom
*/
Release ...
* cpio: Skip over zip extra headers with fewer than four bytes (the minimum
length for them to contain any information) instead of reporting a bad
header and terminating.
* pg: Handle cases where standard output is a terminal but not open for
reading (bug reported by Keith Doyle).
* cpio, tar: If an archive contains a file that is a hardlink to itself on
extraction, do nothing at all instead of discarding its data. This mainly
happens if a file with more than one link is included under the same name
in an archive twice. Since special situations on extraction such as bind
mounts on Linux may lead to this scenario even in cases where both link
names are different, this is now treated like a successful link() step
(bugreport by Thomas Graf).
* Made the getopt() substitute work with the getopt$UNIX2003() function
redirection mechanism on Mac OS X Leopard.
* mknod, pgrep, ps: Mac OS X Leopard compilation fixes.
* w, whodo: On a 32-bit system where /proc/kcore is larger than 2 GB,
avoid a harmless error message (bug reported by Pierre Gentile).
* ptime: Works on recent Linux kernels again.
* col: The behavior of the -x flag has been inverted to actually match
the documentation, i.e. to suppress conversion of spaces to tabs (patch
by Markus Schnalke).
* cut: With "-s", print the last field of a line that was also the last
field specified with "-f" (bugreport by Pierre Gentile).
Release 070715
* cpio: A "-P" option has been introduced that allows to specify attributes
like the file owner when creating an archive. With it, unprivileged users
can set arbitrary attributes for files within an archive.
* diff: Made it compile on CentOS 5.
* Static linking against glibc is now possible since "optopt" is no longer
a common symbol, and there is no conflict anymore with "getopt.o".
* cpio, tar: A compilation problem on some Linux systems has been fixed.
* ul: A compilation problem for NetBSD and other systems that use termcap
instead of curses has been fixed (patch by Aleksey Cheusov).
* bfs: An OpenSolaris-derived manual page is now included.
Release 070227
* The directory for development utilities, by default "/usr/ccs/bin", is
now configurable in "build/mk.config" . It is expected that the utilities
from the "Heirloom Development Tools" package are installed in it.
* getconf: "/usr/ccs/bin" is now included in the default path as printed
with the "PATH" argument.
* what: Has been replaced by an OpenSolaris-derived implementation.
* tsort: Is now installed in "/usr/ccs/bin".
* OpenSolaris-derived manual pages are now included for bdiff, newform,
and fspec(5).
* psrinfo: Fixed the computation of the "on-line since" time for Linux 2.6.
* cpio: Added a "-D" option to make it usable in combination with SVR4
packaging tools. This option is not intended for general use, and is
thus not documented.
* The package build target "make pkg" for Solaris and Open UNIX is no
longer supported.
Release 070115
* deroff: Now recognizes the ".do" and ".xflag" requests as well as an "-xN"
command line option to handle Heirloom nroff/troff extensions.
* ed: Substituting only a specific occurence of the pattern, as in the
command "s/x/y/3", now works correctly if the substitution "y" is not
equal in length to the pattern match "x" (Derek Thomas).
* ps: Use the Linux 2.6 /proc/status "SleepAVG" field to compute the value
for the "C" column (cpu usage for scheduling).
* priocntl: The "FF", "B", and "ISO" class names are now accepted with
the "-e" option too.
* file: UTF-8 characters in troff input files are now recognized.
* cp: The "-s" option now displays correct sizes and related statistics
for special files with st_size == 0.
* grep: With the "-z" option, decompressor children processes are now
properly waited for, avoiding failures when processing many files.
* su: Works with PAM on Mac OS X now (Stefan Tramm).
* ps: Handles dead processes as on other platforms now (Stefan Tramm).
* pgrep: Ignores dead processes now (Stefan Tramm).
* spell: A value of the wrong type that was passed to scanf() could lead
to build errors on 64-bit platforms (Jeffrey H. Johnson).
* ps, pgrep, whodo: Works on FreeBSD 6 now.
* df, find, ps: Changes have been made to build on NetBSD 3 (Aleksey Cheusov).
* Changes have been made to build on OpenBSD 3.8 (Aleksey Cheusov).
* Changes have been made to build with GNU make 3.81.
Release 060122
* The tools have been ported to Mac OS X 10.4.3 (patches by Stefan Tramm).
* The tools have been ported to DragonFlyBSD 1.3.7-DEVELOPMENT.
Release 051118
* rm: The output of the question before descending to a directory with
the "-i" option has been fixed.
* /usr/ucb/ps: The "-a" option has been fixed; it incorrectly printed a
list of all processes since release 050411.
* getconf: /usr/ucb is now put at the end of the Heirloom directory list
for the PATH variable.
* The "-man" macro no longer produces cut marks when used with troff.
* tr: When evaluating '[:class:]' expressions, the last position of the
coded character set was not included; this has been fixed.
* ps: The "-R" option (resource usage format), which had been present
for some time, has been documented.
* RPM package builds now require the new "Heirloom Development Tools"
package from <http://heirloom.sourceforge.net/devtools.html> to be
installed.
Release 050815
* The "getconf" utility has been added (derived from OpenSolaris code).
* The "mesg" and "pathchk" utilities have been added.
* tr: A new implementation that is based on 6th and 7th edition code is
now used. It stores the translation tables in arrays of variable size.
This results in better performance, under some circumstances at the
expense of higher memory consumption.
* printf: Handle unsigned values larger than INT_MAX correctly with "%u",
"%o", "%x", and "%X".
* printf: Handle SVID3 "position" fields in format specifications, such
as "%7$s", that specify which argument is used next.
* pg: If a line does not fit on the screen, do not print a newline to
force wraparound unless it is really necessary. This allows to select
words across the wrap for copy-and-paste in an xterm.
* pg: Discard the ESC[48m sequence on a terminal that supports colors.
* ed: Do not print "expecting `w'" with the "q" command after a zero-byte
file has been written.
* man: The tmac.an macros no longer use "@" as an escape character; its
previous use lead to weird output with Unix nroff when an "@" appeared
in titles or hanging labels.
* man: The "TCAT" post processor is now invoked separately for each manual
entry. Previously, when the -t option was given with multiple entries and
TCAT=dpost, only the first entry was actually printed.
* Some issues with building on AIX have been fixed.
Release 050713
* The 'echo' and 'test' commands have been added as standalone versions of
those of the Heirloom Bourne shell.
* The 'false', 'kill', 'printf', 'pwd', and 'true' commands have been added.
* ed: Copying a larger number of lines with the 't' command could cause a
segmentation fault because some pointers were not updated after calling
realloc().
* ed: Do not warn about an 'input error' anymore when reading a file that
lacks the terminating newline.
* ed: Disallow the 'u' command if no change has been made yet after a file
specified on the command line has been read.
* mail: The Content-Length header field is not used anymore; it is ignored
when a folder is read, and is omitted when a message is written.
* mail: The LC_CTYPE locale now determines the set of printable characters.
* mail: MIME header fields are no longer generated; the mail command is far
away from conforming to MIME and should not fake such information.
Release 050628
* The Bourne shell (derived from OpenSolaris code) has been added to the
Heirloom project as a separate package. It is recommended to install it
before the new version of the tools, and to adapt 'build/mk.config' such
that it is used.
* New versions of the 'mail' and 'spell' utilities have been introduced;
they have been derived from OpenSolaris code.
* The 'bdiff, 'bfs', 'dircmp', 'fmtmsg', 'getopt', and 'mvdir' utilities
are now available (derived from OpenSolaris code).
* Both Unix lex and flex can now be used for building the tools.
* xargs: The '-l' and '-L' options override previous occurrences of the
'-i' or '-I' option.
* awk (POSIX version): A command line argument that contains a '=' character
but starts with a digit is no longer treated as a variable assignment.
Release 050612
* Fixed a double free() call that could occur in multibyte locales with
all programs using traditional (simple) regular expressions.
* man: Handle .so requests that do not contain a path to the target file.
* tar: Fixed a NULL pointer dereference that occured if the 'b' option was
given without a corresponding argument.
* tar: Immediately issue an error if calls to read() for an input archive
return fewer bytes than the first one and the archive has not yet been
processed completely. This condition was previously not detected in the
rare case where the previous contents of the input buffer accidentally
formed a valid continuation of the archive.
* shl: The external 'ps' command is now used for the 'layers -l' command.
* cp: An '-a' option was added that preserves hard links and all attributes
during a recursive copy.
* tail: 'tail -f -n 0 file' now skips to the end of existing data before
waiting for changes, as demanded by POSIX interpretation XCU ERN 62.
'tail -0f file' continues the historical behavior of printing existing
data first. (Issue reported by Pierre Gentile.)
Release 050411
* diff: The -p option (print name of surrounding C function) has been added.
* diff: The -X option (ignore patterns from file) has been added.
* diff: The combination of the -h and -r options works again.
* ps: Some values (e.g. LTIME) were determined incorrectly with the -L option
on Linux systems.
* /usr/ucb/ps: Specifying -agx now has the same effect as specifying -ax.
* Operate correctly if stat(2) returns a zero st_blksize field. This is the
case for the write side of pipes on NetBSD 2.0 and resulted in no output
when using tar to write to them.
* sed: Handle a byte with the same value as the ASCII backslash at the second
or a following position of a multibyte sequence correctly with the 'a', 'c',
and 'i' commands.
* ls: If the target file name contained in a symbolic link is empty, print
nothing (instead of "?") with the -l option etc.
* df: Specifying the name of a mounted device as argument works again.
* ln: When the existing file is a symbolic link, its target file is now hard
linked with the SVID4 and POSIX versions.
* cpio: Print information about hard links with the -iv options.
* cpio: If link() fails, no separate copy of an archive entry is created.
* It is now possible to use hard links between installed files. The symbolic
links which are used by default are shorter now.
Release 050309
* find: The -anewer and -cnewer primaries were introduced.
* ps: The /usr/ucb version now uses eight columns for the USER field as the
historic versions do (Bugreport by Matthew Fischer).
* od: When the -C option was used with an empty input file, a division by
zero caused a core dump (Patch by Matthew Fischer).
* touch: For the SVID versions, the first non-option argument is treated
as a time specification if it starts with a digit, regardless of the
following characters.
* join: If a join field does not exist, substitute the empty string for it.
* ed: With the SVID4 and POSIX versions, matches of zero length in substitute
commands do no longer lead to endless loops.
* mkdir, mkfifo: When the -m option is given with a symbolic mode that has
no 'who' part, the umask is now respected with the POSIX versions.
* chmod: When the -m option is given with a symbolic mode that has no 'who'
part, the umask is now respected with the POSIX versions even if the
previous file mode contained bits set within the umask.
* fmt: Trailing blanks were left on lines with multibyte characters (Patch
by Matthew Fischer).
* The value 255 is now accepted in interval expressions in traditional
(simple) regular expressions.
* find: The expression '-type D' matches Solaris door files.
* copy, cp, cpio, file, find, ls: Handle HP-UX network special files.
* cp: If both the -i and the -r or -R option are given, the traditional
versions prompt for confirmation before copying to an existing directory.
* cp: A SVID4 version was introduced which behaves like the SVID3 version
in the above respect but does not disable -i if standard input is not a
terminal.
* cpio, pax, tar: Any filename that forms a valid UTF-8 string is now
accepted as input when creating a pax format archive.
* cpio: Specifying -i, -o, or -p twice is no longer considered an error.
* shl: When the LNEXT terminal special character is given twice, it is now
passed to the terminal buffer properly.
* cpio: Accept smaller zip64 extra headers which are created by some other
zip archivers.
* cp: The default i/o buffer size with the -D option is now 1 MB.
Release 050206
* POSIX.1-2001 was added as another personality. Binaries are installed in
/usr/5bin/posix2001 by default. mk.config files have to be augmented with
the SU3BIN macro if they are to be reused.
The POSIX.1-2001 personality still lacks some features for the 'file' and
'pax' commands.
* find, ls: POSIX.1-2001 versions have been introduced.
* chown, chgrp: The -H, -L, and -P options from POSIX.1-2001 have been added.
If changing the owner or group of a directory fails, chown and chgrp now
continue to process the hierarchy below it with the -R option.
* cp: The -H, -L, and -P options from POSIX.1-2001 have been added.
* du, find: The -H and -L options from POSIX.1-2001 have been added.
* ls: The -H option from POSIX.1-2001 has been added.
* od: A leading '+' is not required to introduce an offset argument for the
POSIX.1-2001 version. The SVID personalities also do no longer require it.
* pax: The -H option from POSIX.1-2001 has been added; pax does not follow
symbolic links on the command line anymore unless this option is present.
* pax: The POSIX.1-2001 version terminates immediately when it detects a
symbolic link loop with the -L option.
* tr: The -C option from POSIX.1-2001 has been added.
* dd: With 'conv=unblock', the last block was not converted.
* grep: The content of a file that consisted only of a single byte other than
a newline was never matched.
* csplit, ed, expr, grep, nl, pax, pg, sed: The POSIX versions no longer
accept reverted ranges like '[b-a]' in regular expressions.
* touch: If one of -a or -m but no time specification was given, both
access and modification time were set to the current time.
* sed: The length of labels is limited to 8 characters instead of 7 bytes now.
* cut: If the -s option was specified but the first field was included in the
list to the -f option, lines without the delimiter character were printed.
* cut: The -b, -c, and -f options did not accept the tabulator character as
a field specification separator.
* paste: If standard input was used as input multiple times, a delimiter
was printed after the last line of regular output.
* paste: If an inaccessible file is given with the -s option, the utility no
longer exits but continues with the next file.
* od: When reading from standard input with the -N option, the file pointer
is now left after the last byte read.
* xargs: The combination of the -n and -x options did not work properly.
* xargs: Exit codes were aligned with POSIX.
* ed: If no new text is given for a 'c' command, the current line is now
positioned for the POSIX versions as demanded by the standard.
* ed: Can write empty files now.
* ed: An unterminated 's' command inside a 'g' command is now handled
properly.
* ed: The 'G' command accepts the 'l' and 'n suffices now.
* ed: When a hangup signal is received, ed exits with failure status now.
* ed: The address '0' is now accepted as '1' for the 'c' and 'i' commands
for the POSIX.1-2001 version.
* ed: A 'POSIX_SHELL' makefile macro has been introduced. Existing mk.config
files have to be augmented if they are to be re-used.
* sed: If the input is seekable and the 'q' command is used, the file
pointer is now left after the last line processed.
* ln: The -f option is not ignored with the -s option for the POSIX version.
* join: The list for the -o option must not be empty.
* sort: With the -d option, digits were ignored erroneously.
* sort: With '-k x,y', the second number refers to the last character of the
corresponding sort field.
* uniq: The argument to the -f and -s options is required, and a '--' is
accepted to end the option list.
* tail: Accept '+c' without a count; accept '--' to end the option list.
* expr: If a parenthesis is followed by another character, the argument is
treated as a string now.
* expr: With the POSIX versions, single string arguments that are valid
decimal numbers are converted to their canonical form (e.g. -0001 to -1).
* csplit: If the last operand was of the form '%re%', lines following its
match were not written to an output file.
* pr: Various output formatting bugs have been fixed.
* bc, dc: Long lines are now properly broken with scale=10.
* bc: Error messages are now printed to standard error (instead of standard
output).
* bc: Uninitialized array values are now printed as '0' (instead of a
string of multipe nulls with machine-dependent length).
* bc: Passing arrays to functions works properly now.
* bc, dc: Output for obase>16 does not end with trailing spaces anymore.
* bc: The '-=' operator did not work.
* nawk: CONVFMT was used in the SVID personality but not in the POSIX
personality, contrary to the documentation.
* nawk: printf("%u") did not work if the argument was larger that INT_MAX.
* nawk: RLENGTH was not set correctly for matches of zero length.
* nawk: The POSIX.1-2001 version accepts regular expressions as parts of
arithmetic expressions, e.g. "x = /p/ * 2".
* file: The POSIX version does not exit with an error status if a file could
not be opened.
* cpio, pax: The -plL (or -rwlL for pax) option combination now works; it
creates links to the targets of all symbolic links in the source hierarchy.
* pax: The -pa and -pme option combinations now work.
* pax: The -po option works for users other than root (but only affects the
group ownerships then).
* pax: Without -ro or -re, set[ug]id bits are not preserved.
* pax: A '&' in the replacement string for the '-s' option did not work.
* pax: The '-b' option now accepts multiplication suffixes.
* pax: The '-u' option is now respected in read mode too.
* pax: The '-n' option in read mode does not mark a pattern as used if it
matched an archive entry but that entry was not selected due to '-u'.
* pax: If link() fails, no separate copy of an archive entry is created.
* pax: When a socket is encountered, print an error message and exit with
failure for the POSIX.1-2001 version.
* pax: If invoked by a user other than the super-user and -po or -pe are
given, the POSIX.1-2001 version produces an error for any extracted file
not owned by the invoking user.
* find: Symbolic modes for -perm that include the sgid bit now work properly.
* cp: The -f option does not disable the -i option in the POSIX personality
and vice-versa.
* df: Percentage values are now rounded to the next integer as demanded by
POSIX.
* man: With the -k option, the exit status is now 0 if any matches have been
found.
* stty: If ispeed and ospeed are different, both are printed separately.
* stty: If the system does not support split input/output speed, the 'ispeed'
and 'ospeed' operands have no effect if both are given.
* tabs: The -T option had no effect. Its argument is now required.
* wc: Use a column-aligned output format for the POSIX version too since the
standard does not actually disallow it.
* csplit, ed, grep, nl, pax, pg, sed: The POSIX.1-2001 versions try to avoid
null matches with BRE subexpressions.
Release 050123
* tr: The highest acceptable wide character for complementing strings is now
dynamically reset from 0x10FFFF to 0xFFFF if memory is sparse. The size of
the corresponding hash table has been raised to reduce computing time.
* grep: With the -r option, directory loops caused by symbolic links are now
detected and avoided. The -R option does no longer follow symbolic links
that point to directories.
* pg: If the end of file was located immediately after the line displayed
before the prompt, the same screen was displayed twice, once with the
regular prompt and then with '(EOF):'. The end-of-file condition is now
detected earlier, and the prompt is changed earlier accordingly.
* od: Fixed a one-byte heap overflow in the output buffering mechanism.
* more: If a 'n' command was given without a previous '/', a segmentation
fault occured. The error condition is now properly recognized (Bugreport
by Matthew Fischer).
* more: Fixed underlining of multibyte characters (Bugreport by Matthew
Fischer).
* ps: -o etime sometimes printed output like '00:00:4294967295' with
recently started processes (Bugreport by Matthew Fischer).
* pg: The fix for the '(EOF):' prompt in the last release caused the '.'
command to advance a line if input came from a pipe but the current
screen was the last one that had already been buffered.
* more: Do not rely on the state of continued calls to mbrtowc() but reset
its state each time and call it with the complete sequence again to work
around problems with glibc in EUC-JP locales (Patch by Matthew Fischer).
* pg: Fixed the handling of backspaces following multicolumn characters.
* pg: Allow the rmacs/ae escape sequence (end alternate character set) to
be sent to the terminal.
Release 050106
* grep: A '-z' option is now available; it decompresses compressed files and
looks for the pattern in the plain text.
* file: Recognizes UTF-8 encoded text now.
* basename, csplit, ed, grep, nl, pg, sed: The multibyte locale code of the
traditional regular expression matching functions lead to segmentation
faults and missing matches with some input sequences because of an
uninitialized variable.
* rm: The traditional and POSIX versions have been fixed with regard to the
'-f' and '-i' options; if both were given, the traditional version behaved
as documented for the POSIX one and vice-versa.
* pg: Compute the width of non-printable characters that correspond to a
multibyte sequence correctly. In UTF-8 locales, non-printable characters
are now substituted by Unicode control pictures or the Unicode replacement
character.
* pg: Always print the '(EOF):' prompt on a new line, even if the input file
does not end with a newline character.
* ps: If a user or group name is printed with property for the -o option and
the name does not fit into the column width, the numeric id is now written
instead.
* rm: For the traditional command versions, 'rm -- -' now tries to remove a
file named '-'.
* grep (traditional), nawk: Handle character case conversions correctly if
the length of the converted multibyte sequence is smaller than the original
one.
* od: Accept '-j 0' and do not skip anything then; if both '-j' and '-N' are
given, format the given number of bytes as specified by POSIX and do not
substract the skip count from it (Bugreport by Andreas Hofmeister).
* cmp: If the -w flag was given and the difference was located at the last
byte of an eight-byte group, the immediately following group was printed.
Release 041214
* Traditional and POSIX options as well as extensions are now marked as such
in the manual pages.
* The functionality that was previously provided by specifying the -DADDONS
compile flag has been integrated into the base version and documented in
the manual pages, and other extensions have been added. This includes:
'cat -B size', 'cmp -w', 'cp -b size -d -D -s', 'date -b', 'dd conv=idirect
conv=odirect', 'df -h', 'du -h', the 'b', 'help', 'N', 'o', and 'z' commands
for 'ed', 'grep -r -R -w', 'ls -h -S -U -X', 'od -C', 'tar zjZ'. Note that
these extensions are only intended as a convenience add-on for interactive
use; their semantics might change without prior notice in future releases,
and their use in scripts is strongly discouraged.
* split: Fixed a null pointer dereference that occured if the argument to
the -a, -b, or -l option was missing.
* nice: Fixed a null pointer dereference that occured if the argument to
the -n option was missing.
* pr: Fixed a null pointer dereference that occured if the argument to
the -o, -l, or -w option was missing.
* dc: Do not call malloc(0). Doing this made some operations fail with diet
libc.
* ls (BSD version): Print block sizes as units of 1024 kilobytes.
* pg: Non-printable characters in multibyte locales no longer lead to wrong
results when the width of a line on the screen is computed.
* head: Handle a single '-' on the command line like '-0'.
* grep, oawk, pg: Work around a bug in HP-UX which can cause MB_CUR_MAX to
be influenced by setting the LC_COLLATE locale after LC_CTYPE.
* ps: Some minor changes were made for NetBSD 2.0.
* stty: If the LC_CTYPE locale uses the UTF-8 encoding, 'ituf8' is now set
with 'sane'.
Release 041204
* pgrep, pkill: The -o option (select oldest process only) was added.
* tar: lseek() is now used again to skip faster over irrelevant portions
of archives that are regular files. This did not work correctly since
release 040402.
* dc, more: Fixed some issues concerning machines where 'char' is an
unsigned type.
* shl: Due to a Makefile script error, the program was not installed in the
previous release when bash was used as shell by make.
* tr: The highest acceptable character for complementing strings has
been raised to 0x10FFFF to cover all of Unicode.
* wc: Performance tuning made wc run approximately ten times faster than
previous versions on large ASCII files in multibyte locales.
* dd, diff, egrep, grep, sort, tr: Minor performance enhancements were made
for ignoring/converting case for ASCII characters in multibyte locales.
* grep: A segmentation fault that could occur if it was run with the -i
option in a multibyte locale has been fixed.
* cpio, tar: Include <linux/fs.h> only with glibc builds because the kernel
include file normally used with other C libraries is not always suitable
for inclusion in user space. The optimum i/o size for block devices will
then not be detected automatically. (Reported by Patrick McHardy.)
Release 041107
* Ported to OpenBSD (except for priocntl, psrinfo, ptime, and shl).
* Building with diet libc works again.
* diff: Named pipes are only considered to be identical if both their
st_dev and st_ino values are equal. Regular files for which this is
the case are now also considered identical without comparing their
contents.
* cal: A missing terminating NUL has been added. It could lead to garbage
output following the weekday characters row.
* pg: A flag was set within the wrong struct termios member. This lead to
incorrect input processing on BSD systems, with the effect that characters
typed at the prompt did not appear correctly on the terminal.
Release 041014
* All tools can now be built with -D_GNU_SOURCE on both glibc and uClibc.
* It is now possible to use a cross-compiler for building. Some programs
have to be run on the development machine. Set the new 'HOSTCC' variable
appropriately then.
* spell: The hash databases are now always kept in little-endian order,
even if running on a big-endian machine. Unless site-specific tables
are used, no further action is needed after a 'make install'. Altered
tables have to be created again using the new version of the 'spellin'
program.
* cpio, pax: If the C compiler pads structures consisting only of 'char'
types, these programs read and wrote incorrect headers for a number of
archive formats. (So far, this problem has only been observed with GCC
on ARM).
* date: For setting the date, the year conversion for the 'mmddhhmmccyy'
was fixed.
* pg: If compiled against termcap and the number of lines obtained from
the TIOCGWINSZ ioctl() is zero, use the value from the termcap library.
* find: The '-fstype' and '-local' criteria were fixed to work on HP-UX.
Release 040928
* It is now possible to build using uClibc <http://www.uclibc.org/> on
Linux.
* ps: Made the output of -lP include F and ADDR columns; documented that
the output of '-o stime' may contain whitespace; fixed it to recognize
the new 'dead (X)' internal state on Linux; fixed a possible integer
overflow in HZ/time conversion; the FIFO scheduling class is now 'FF',
the batch class is 'B', and the isochronous class is 'ISO'; do not limit
the CPU percentage field to 99; made the '-t' option print processes
without controlling terminal with '-t ?' or '-t -'. (Thanks to
Albert Cahalan for reviewing the code and noticing these issues.)
* priocntl: The FIFO scheduling class is now 'FF', the batch class is 'B',
and the isochronous class is 'ISO', as for ps. The old names are still
accepted with '-i class'.
* su: If the encrypted password string is empty, no password prompt appears
and the command succeeds immediately.
Release 040907
* touch: Unless the -a or -m flag was present, any time specifications
were completely ignored since release 040620.
* ls, nawk, oawk: When invoking snprintf() to determine the length of
a formatted string, do not use a NULL pointer and a size argument of
zero but a dummy array and a size argument of two instead. This works
around a problem on some systems which are not conforming to ISO C99
in this respect. Affects the columnar output for 'ls -i' and 'ls -s';
printf results that are longer than 512 bytes with nawk, and printf
results that are 128 bytes longer than the size of the current input
record with oawk would have failed. These problem are fixed now for
(at least) Solaris 8, Open UNIX 8, and AIX 5.1; AIX even tried to
reference the NULL pointer and dumped core. HP-UX B.11.11 does not
work correctly even with the fix. Linux/glibc, Linux/dietlibc,
FreeBSD, and NetBSD are not affected by this issue.
Release 040727
* pr: The last release made it run into an endless loop, this has been
fixed. It also does not print a trailing newline anymore if the '-t'
option is given.
* wc: The non-POSIX version has been optimized. Since the result is now
equally fast with gcc and Intel C on i386, there is no point in using
Intel C for compilation anymore and the ICC makefile definitions have
been removed.
* ps: On NetBSD, one process too few was displayed.
Release 040718
* Ported to AIX (except for priocntl, psrinfo, ptime, and shl).
* Ported to NetBSD (except for priocntl, psrinfo, ptime, and shl).
* The tools now also compile and run on FreeBSD 4.9.
* Some fixes for HP-UX on PA-RISC and with earlier 11.X versions were made.
The tools now compile in 32-bit and 64-bit mode.
* cat: When input and output are pipes of FIFOs, do not require that they
are different files. This makes 'echo foo | cat - | cat' work on BSD
systems.
* du: Does not exit immediately anymore when it encounters a file system
traversal error but continues with other files. Is able to descend to
hierarchies of arbitrary depth now even when the limit of open file
descriptors is exceeded.
* file: HP-UX and AIX executable types were added to the magic file.
* stty: Support the '[-]iutf8' input mode on Linux.
* w, uptime: Display the load average on HP-UX too. Fixed uptime count on
HP-UX.
Release 040712
* Ported to HP-UX (except for priocntl, psrinfo, ptime, and shl).
* diff: The new -B option causes changes that consist only of empty lines
to be ignored (as in GNU diff).
* diff: Options -1 and -2 were added. They work like -N but output the text
of new files in the first (second) of both directories only.
* ps: Fixed a null pointer dereference that occured when encountering a
zombie process on Solaris.
* ps: When invoked with -L on Linux, print the process ID instead of the
thread ID in the PID column.
Release 040701
* cpio, pax: If the -a (-t) option is specified but no data was read from
a file, do not try to reset its access time.
* cpio: Respect the -a option (reset access times) in -p (copy-pass) mode.
* pax: Respect the -t option (reset access times) in -rw (copy) mode.
* priocntl, ps: The batch scheduling class and the isochronous scheduling
class available on Linux with Con Kolivas' patch set are now supported.
Release 040620
* ps: -L flag (print thread information) added for Linux, Solaris, and
Open UNIX.
* tar: Handle file names longer than 100 characters correctly with the 'X'
and 'u' options.
* cpio, pax: Since the LZW patent is now expired in Europe too, the macro
LZW_CLEAN has been removed and support for the 'unshrink' zip format
decompressor is always enabled.
* shl: Do not let a zombie process and a stale utmp entry remain when the
single existing layer is terminated using the 'delete' command.
* touch: Use utime(file, NULL) if neither -a nor -m are given. This causes
the current time to be used regardless of the running time of the command
instance.
* tar: When creating an intermediate directory fails, continue operation
unless -e is specified.
* tar: Fixed a bug which inhibited extraction of archives with absolute
path names.
Release 040603
* pax: Complain if the target directory argument to -rw is missing.
* lc: Made the -1 option work.
* tar: Transparently read archives which were compressed two or more times.
* tar: Automatically enable the B flag if reading from pipes or sockets.
* ed, sed (SVR4.2MP and POSIX versions only); pax: If the RE of a repeated
substitution command matches the empty string, such as in 's/ *//g', do
not get in an endless loop but examine the line character-wise.
* find, rm: Use O_DIRECTORY and, if applicable, O_NOFOLLOW when opening
directories.
Release 040517
* ed: When creating the temporary output file for a regular file fails,
do not refuse to write but truncate the original file if possible;
otherwise, really leave the original file intact until the new version
has been written entirely. Do not use temporary a temporary output
file if the original file has more than one link, or is a symbolic link.
* diff: Optimized not to start a new process for each differing file when
operating recursively.
* nawk: Do not recognize hexadecimal numbers, NaN, and infinity strings
as numeric values even if strtod() of the underlying system does.
* nawk: Pre-POSIX version introduced. Prominent differences are the use
of full (instead of extended) regular expressions, the lack of CONVFMT
and of var=value file arguments.
* deroff: New /usr/5bin version derived from Plan 9. The BSD-derived
version continues to be available in /usr/ucb.
* ed: If used interactively, errors do not affect the exit status.
* cpio, pax: When writing GNU tar format archives, append a '/' character
to the name of each directory archive member.
Release 040502
* It is now possible to use dietlibc. It will result in losing all
multibyte character functionality, though. Some commands (e. g.
units, od -f) do not work correctly because dietlibc currently
lacks support for the %e printf specifier.
* dd: Close the output file descriptor on exit to catch write errors
that might happen at this time.
* egrep, fgrep, grep, pg: When an input line is too long to fit in
memory, do not terminate but virtually split the line.
* more: When running out of memory, restore previous tty state.
* oawk: Fixed a pointer truncation problem that could occur on 64-bit
platforms with LP64 model, in particular the Itanium (thanks to HP
and the University of Freiburg for the test machine).
* Use __attribute__ ((used)) with gcc 3.4 to prevent version strings
for what(1) to disappear with unit-at-a-time optimization.
Release 040420
* sed: Do not enter an endless loop if a '$' address is specified and
the input is not terminated with a newline character.
* Supporting files changed for the new home page at
<http://heirloom.sourceforge.net>.
* cpio, pax: When -k is specified and -H is used to select a tar format
other than the 'pax' format, ignore the size of linked entries (i. e.
do not expect that 'linkdata' was in effect when the archive was
created).
Release 040416
* Made it compile with 'bison -y' as yacc implementation.
* cpio, pax: Implemented the 'linkdata' and 'times' option for the pax
archive format.
* Portability fixes to make it compile on Playstation Linux.
* cpio, pax, tar: When appending to a pax format archive that contains a
global header (not currently created by Heirloom tools), always override
the respective fields in new extended headers.
* cpio, pax, tar: When writing to a Sun extended tar format archive, do not
create SUN.devmajor or SUN.devminor records for other files than devices.
Release 040404_beta
* Ported to FreeBSD (except for psrinfo, ptime, and shl).
* find: Parse the '-local' primary correctly.
Release 040402
* cpio, pax, tar: Accept GNU long name 'K' and 'L' extended headers
regardless of archive magic. This works around a bug in GNU tar which
creates these headers even when advised to create old or ustar format
archives.
* tar: Always accept checksums created using unsigned and signed chars
regardless of the archive format.
* tar: When writing the second and following volumes to a block device,
use direct i/o on Linux as for the first volume.
* cpio, pax: If -k (or -K) is given and a header format is explicitly
specified with -H (or -x), do not auto-detect extended formats based
on the specified format.
* cpio, pax, tar: Preliminary support for the POSIX.1-2001 pax format. No
file names with non-ASCII characters are currently archived because the
issue of UTF-8 conversion still has to be resolved by the Austin Group.
Support for Sun's extended tar format (Solaris 7 and above) is also
included.
* cpio, pax: If -k (or -K, respectively) is specified with a tar archive,
skip 512 bytes before probing for the next valid header block and require
a block of 512 zeroes at the end of the archive.
Release 040318
* cpio, pax: A bug was fixed that caused SGI extensions to be present in
binary archives and SCO extensions in SVR4 archives by default (if an
archived file exceeded 2 GB or used large device numbers; that is,
rarely). Large device numbers on systems other than Linux are properly
stored with the SGI format now.
* cpio, pax: When the -A (or -a for pax) option was used with a zip archive
that contained zip data descriptors (as written by cpio and pax for files
larger than 196 kbytes), the zip central directory structure was not
correctly updated. This caused no problems with cpio and pax as they
ignore this structure, but could result in CRC errors being reported
by other zip archivers.
* cpio, pax: Do not allow path names to exceed 65535 bytes even with those
formats that would support longer names by design. Such path names are
rejected by open() on any known Unix system; they are are a certain sign
for a corrupt archive and may cause a memory allocation failure unless
such precautions are taken.
* cpio, pax: Support for the Cray UNICOS 5 cpio format added.
* tar: Tuned the structures used when storing files with multiple hard links.
This resolves the extremely slow processing that happened when many such
files were archived.
* ed: When writing a regular file, write the content to a temporary file
first, then rename it to the target file.
Release 040314
* cpio, pax: Fixed a null pointer dereference which occured when reading
invalid SVR4 format cpio archives that contain the file data for a hard
link multiple times. When extracting such archives, no hard links are
created.
* pax: Standard output is always line-buffered in list mode.
* cpio, pax, tar: Automatically decompress compressed input (gzip, bzip2,
etc.) also when reading from pipes, tapes or other nonseekable input.
* cpio, pax: When writing archives in formats other than zip, report
a read error only once per archived file.
* cpio, pax: Handle input file read errors correctly when writing a zip
archive entry in deflate format.
* pr: Fixed a bug which sometimes caused the first character on a page of
single-column output to be garbled.
* cpio, pax: For -Hcrc and various tar formats, checksums are created using
signed chars by some implementations and using unsigned chars by others.
cpio and pax now accept both without complaint or the need to use the -k
option (or -K for pax).
* cpio, pax: Support for SunOS 4 'bar' format added.
* cpio, pax: If -k (or -K for pax) is given and a checksum is not correct
with the -Hcrc format, do not restore an existing original file.
Release 040306
* tar: If a 0...9 key is specified but no corresponding entry exists in
/etc/default/tar, an error is reported instead of using /dev/null.
* tar: If a file matched a pattern but was not successfully extracted, it
is handled as if it had not matched for the final statistics.
* pg: When a search command is interrupted, return to the position in the
file on which the search was started.
* tar: If a directory name appears in a file for the 'X' key, files below
that directory are also excluded. If 'v' is combined with 'X', excluded
files are reported on standard error.
* tar: Don't report write errors a second time when closing the archive.
* tape: Report the density code in hexadecimal (with the status command).
* sed: Reallocation of substitution patterns sometimes left a dangling
pointer on the heap. This usually resulted in garbage characters in
the substituted string.
Release 040227
* find: If -depth was given, all attributes of struct stat (-perm, -type,
-links, -user, -group, -size, -inum, -[amc]time, -newer, -fstype, -local,
-nouser, -nogroup) were handled wrong for directories.
* cpio: Support for UnixWare 7.1 extended cpio format added.
* cpio, tar: Call close() for the archive when writing to detect write
errors that occur at this point.
* cpio: Don't report the 'TRAILER!!!' end-of-archive marker with -ov.
* cpio: Restore the original file if linking an entry of a tar archive
fails (Thanks to J"org Schilling).
* pax: New in this tool collection (in fact, mainly another interface for
the cpio implementation).
* ed: Reset subexpression count for 's' command in SVID4/POSIX version so
that e. g. '\3' will insert a literal '3' if a third subexpression does
not occur in the current RE but did occur in a previous one.
* tcopy: Report read errors and continue operation without creating a new
file on the target tape.
Release 040221
* find: If the argument to '-type' begins with '-' or '+', use its second
character as file type specifier (i. e. '-f' does the same as 'f').
* cpio: GNU tar extended fields are now also supported for st_rdev.
* cpio: Added support for the Digital UNIX/Tru64 UNIX extended (-e) cpio
format.
* tar: When writing old format archives, file descriptors were not properly
closed. This caused tar to complain that it could not open further files.
* cpio: Can now handle DCL imploded zip archive entries (thanks to Mark
Adler's implementation which is distributed with zlib).
* cpio: Use zip data descriptors when writing deflate compressed entries.
This results in a performance enhancement.
* cpio: Handle zip data descriptor structure for zip64 archive entries.
Release 040209
* tar: The 'n' modifier causes reports in kilobytes instead of blocks and
has no further effect (tapes are automatically recognized).
* dd: If a read error occurs and conv=noerror is specified, seek one input
block forward to skip past the error (unless reading from tapes).
* tapecntl: New -v option.
* tape: New in this tool collection.
* dd: Do not allocate two buffers if only one is needed with bs= and
no conversion specified.
* cpio: Can now append to archives on tape devices with -A (if supported
by the hardware).
* tar: Can now update (-r, -u) blocked archives; can now update archives
on tape devices (if supported by the hardware).
Release 040118
* cpio: Copy-in of zip64 entries fixed.
* cpio: Don't try to reset access times of symbolic links with -a.
* cpio: Handle zip data descriptors for directories on extraction.
* tapecntl: '-c' option added (control tape compression).
* cpio: Support for bzip2 compression inside zip archives was added.
* expand, newform, pg, ps, ul, unexpand: Handle zero-width multibyte
characters correctly when counting columns.
* sdiff: Handle illegal multibyte sequences when counting columns.
Release 031229
* cpio: Files named 'TRAILER!!!' do not mark the end of tar or zip format
archives.
* tcopy: New in this tool collection (ported from 4.3BSD).
* tar: Report write errors correctly even for very small archives (below
one tape block).
* mt, tapecntl: New in this tool collection.
* diff: Use /proc/self to ensure that exactly the same binary is used
for single file diffs when descending directory hierarchies with -r.
* ps: Display appropriate process flags on Solaris and Open UNIX.
* sort: Don't dump core if a record is too large with glibc (call write()
instead of fprintf() if malloc() fails).
* more: The character '\177' does not imply that the file is not text
(unless followed by 'ELF').
* tar: If the -n option is given or input is read from a regular file,
use lseek() to skip over irrelevant portions of input (e. g. with -t).
* tar: Respect the n flag given in /etc/default/tar.
* ed: A '\.' line causes a single period '.' to be inserted with the a, c,
and i commands in the SVID4 version (as already done for the SVID3 one).
* rmdir: The -p option was fixed to remove all directories of a relative
path name operand, including the first one. Traditional versions were
introduced that print a message if the operation was successful for a
whole path; this is not done for the POSIX.2 version.
* bc: Terminate immediately if the first file given on the command line
cannot be opened.
* spell: Handle filenames with embedded whitespace.
* ls: If both -f and -p are given, only -f is effective.
Release 031110
* tar: Fixed the -u function not to skip modified files below directories
whose modification time was not changed.
* mknod: Support 32-bit dev_t on Linux.
* man: Set the TROFFMACS environment variable in the /etc/default/man
definitions for nroff and troff so that the Heirloom man macros are
used instead of the vendor's ones on Solaris and Open UNIX.
* ps: Always treat zombie processes as processes without controlling tty.
* tar: Revised temporary file handling does not leave stale files if the
operation is interrupted before any new files are appended with -u, and
does not try to remove files on exit that were not previously created.
* tar: Really use the block size specified in /etc/default/tar.
* cpio, tar: Use direct i/o with all block devices on writing. The rationale
is the same as for floppy disks; buffered writes make it impossible to
interrupt the write process on slow devices.
* random: New in this tool collection.
* pg: With the -f option, lines were still split when displaying search
results. This is no longer done.
Release 031029
* man: Use nroff with the -Tlp option and pass its output to col -x to
get proper display results with tbl output on Solaris. Since the default
command for nroff is set in /etc/default/man and this file is not
overwritten by make install if it exists, -Tlp should be added by
hand when upgrading.
* man: Use ksh instead of bash if possible. This is done because ksh is
typically twice as fast with man and does not print 'broken pipe' when
piped output is aborted.
* man: Made section selection work with pdksh.
* ps: The default heading for '-o tty' is now 'TT' as in POSIX.2.
* ps: Read the process flags from the psinfo file on Solaris, making ps
fully functional without special privilege on this platform.
* hostname, logname, printenv, users, whoami: New in this tool collection.
* pg: Fixed the command input handling not to reject valid characters after
a 'b', 'm', or 't' was given at an inappropriate position.
* deroff: Handle ISO-8859-1 input characters; handle lines and input file
names of arbitrary length and an arbitrary number of input files. This
command is now in /usr/ucb since there might be another implementation
in /usr/5bin some day. Until then, a symbolic link points to the current
/usr/ucb version.
* more, page: New in this tool collection (traditional version only, derived
from 4.3BSD).
* apropos, catman, deroff, expand, man, renice, ul, unexpand, uptime,
w, whatis: Create compatibility symbolic links in /usr/ucb.
* ul: New in this tool collection (derived from 4.3BSD).
* pg: Pass through some formatting terminal escape sequences such as bold,
underline, or colors.
* lc: Colorize file names even if standard output is not a terminal.
* ptime: Don't install it on systems other than Linux.
* tty: Recognize synchronous lines on Solaris and Open UNIX.
Release 031020
* Support for building pkgadd packages on Solaris and Open UNIX.
* w, whodo: Fixed display of columns; replace nonprintable characters in
command lines with question marks.
* Fixed use of getdents() on Open UNIX (affects du, find, rm, and tar).
* Build fixes for glibc 2.2 systems.
* shl: Specify the group ownership in the rpm spec file (for utmp updates).
* dfspace: Do not print information for sysfs mounts on Linux.
* pgrep, pkill: Handle '0' argument value to -g and -s.
* Added 'chmod a+x /etc/default' to the rpm postinstall script. /etc/default
is part of the shadow-utils package on RedHat Linux, with mode 750. The
/etc/default/useradd file of this package is only readable by root anyway,
so it seems safe to allow directory access for anybody (Thanks to Pierre
Gentile).
* man: Handle Solaris SGML format pages (needs /usr/lib/sgml/sgml2roff)
and Open UNIX HTML format pages (needs /usr/bin/html2ascii).
* file: Recognition of big-endian machines fixed (caused cpio files to
be wrongly identified as byte-swapped).
* ps, pgrep, pkill, uptime, w, whodo: Handle Solaris and Open UNIX /proc.
* priocntl, psrinfo: Fall back to the native version in /usr/[s]bin and
don't install our binaries and manpages on systems other than Linux.
* mkdir: Handle ENOSYS when trying to mkdir() an existing path name.
* cpio: Made the -A option work with raw devices.
* cpio, tar: When writing to a floppy block device on Linux, use O_DIRECT
instead of fsync() to avoid data buffering.
* od: Don't print a '*' if the input is empty.
* bc: If a file cannot be opened, include its name in the error message.
* basename, cal, cat, chgrp, chown, df, dfspace, egrep, env, fgrep, grep,
lc, ls, news, nl, nohup, od, paste, pg, psrinfo, ptime, rm, setpgrp,
sleep, stty, time, touch, wc, what, yes: Handle argc == 0 (Thanks to
Stephane Chazelas).
* ps: Documentation for cache file configuration is now provided in ps/NOTES
and ps/ps.dfl. The second file is normally installed in /etc/default/ps,
but it is not overwritten if it already exists; adjust it by hand if you
want to use the configuration settings when upgrading an installed system.
Release 031013
* ps: If /tmp/ps_cache was hard linked to another file, the contents of
that file were overwritten (Thanks to Stephane Chazelas).
* hd: Fixed printing of '\', '^', and '~' characters with the -t option.
* pgrep, pkill: Ignore leading space or colon in criterion lists.
* ps: Complain if a criterion string starts with a space or colon character
(Thanks to Stephane Chazelas); complain but continue execution if both
valid and invalid user or group criterions are given.
Release 031012
* ps: Do not follow symbolic links when creating /tmp/ps_cache (Thanks
to Stephane Chazelas).
* tee: Open output files in the order given on the command line.
* dd: dup() standard input or standard output if no if/of arguments given.
* tail: Do not accept more than one sign; handle +<c>r as on historical
systems (Thanks to Stephane Chazelas).
* head: Fixed 'head -0' to print the header for more than one file but no
content; negative counts are not accepted anymore (Thanks to Stephane
Chazelas).
* The path names in build/mk.config and in the uninstalled manual pages
are now the same as those in heirloom.spec (/usr/5bin, /usr/5lib etc.).
Note that you may have to change the paths in /etc/default/man by hand
if you switch to the new default location since this file is not
overwritten at installation.
* The effects of the SYSV3 environment variable are described in the
manual pages for affected utilities.
* expr: Problems with the historic basename example in the manual page are
marked (Thanks to Stephane Chazelas).
* cpio: Allow -M without -O or -I in SYSV3 mode.
* Deleted some stale license files in subdirectories.
/*
* Heirloom-devtools
*/
Release ...
* m4: Handle multibyte quote characters with defn() correctly (patch by
Joe Krahn).
* make: Mac OS X compilation fix (Stefan Tramm).
* make: Compilation fix for 64-bit environments.
* make: Do not crash if a backslash appears at the end of the value of
the MAKEFLAGS environment variable, and preserve trailing spaces in macro
names (bug reported by Stefano Lattarini).
Release 070527
* admin: A manual page is available, based on source code released by Sun.
* make: Macro definitions following "else" in an effective branch are
now handled correctly.
* make: Removed a "extern char **environ;" declaration to make it
compile on CentOS 5.
* vc: Recognizes the control character according to the LC_CTYPE locale
now, and has no static size limits anymore.
* lex: Avoid a symbol conflict with the index() function that caused the
build to fail on some platforms.
Release 070311
* make: The SVR4.2 syntax for parallel builds has been added. This adds
the "-B" and "-P" options as well as the ".MUTEX:" special target.
* make: The SVR4.2 "-w" option has been added to suppress warnings.
* make: The "-u" option (unconditionally make the targets, even those
that are not outdated) is now a documented feature.
* make: Comments following "ifeq" and other conditionals are now handled
correctly.
* make: Error messages now include message numbers for use with the
"help" command.
* sccs: The commands "-R info", "-R tell", and "-R clean" now operate
correctly. They previously terminated operation prematurely when an
"SCCS" directory was found but other sub-directories at the current
recursion level had not yet been processed.
Release 070218
* sccs: A "-R" option has been added to enable recursive operation on
subdirectories.
* sccs: A manual page has been added (based on the 4.3BSD-Tahoe page).
* make: The default variant now has the ".GET:" special target enabled
to retrieve data from an s.file in the current directory, similar to
the ".GET_POSIX:" target in the POSIX variant and the behavior of the