schily Changelog

New in version 2014-01-27

January 28th, 2014
  • psmake (the bootstrap smake compile environment) again compiles on Solaris (and probably others). This has been achieved by using -DNO_FPRFORMAT -DNO_NL_ARGS to deactivate recent enhancements in printf()
  • include/schily/varargs.h now includes a new type va_lists_t that is a structure that covers va_list.
  • include/schily/getargs.h now has comment for the arguments and return code of the getargs() callback functions.
  • The schily makefilesystem now includes a new symlink ppc64le-linux-cc.rul for non-automake aware make implementations such as gmake.
  • New autoconf tests for strspn() strcspn() wcsspn() wcscspn()
  • libschily now implements strspn() strcspn() wcsspn() wcscspn()
  • libschily/format.c (the low level printf() implementation) now implements support for %n$ argument repositioning for the case that "n" is 1..30, or if larger points to an int type arg.
  • libschily/fprformat.c fixed a bug that would prevent to use stdio macros with newer OpenSolaris versions, making printf() not as fast as expected.
  • libschily/getargs.c no longer dumps core when boolean flags are combined into a single string and one or more of these flags trigger a callback function.
  • libsiconf/sic_nls.c: sic_open() no longer tries to open all characterset names as files in the current directory but only if the name contains a slash. Thanks to a report from Vladimir Marek
  • star no longer archives all files as sparse file when using star -c -sparse -force-hole but only those files that include at least one aligned block of 512 zeroed bytes.
  • cdrtools bumped to Version 3.01a22
  • Better error messages in mkisofs/apple.c
  • mkisofs now inplements a new option -legacy that allows to get back the options -H/-L/-P that have been deprecated in 2002 and disabled in 2006 in the definition from the 1990s. If you like to use this feature, write a wrapper shell script that calls:
  • mkisofs -legacy "$@"
  • Note that -H/-L/-P have been disabled in 2006 and mkisofs will soon introduce -H/-L/-P with a POSIX compatible definition as announced since 2002. So take care to convert your scripts to call:
  • -map for the old definition of -H (-H valid between 2000 and 2002) -allow-leading-dots for the old definition of -L (-L valid between 1995 and 2002) -publisher for the old definition of -P (-P valid between 1993 and 2002)
  • The mkisofs man page now correctly documents the new behavior from libsiconv
  • The mkisofs man page now mentions sfind(1) as a man page to read about the interface if the -find option.

New in version 2014-01-04 (January 6th, 2014)

  • Define DEV_NULL in include/schily/mconfig.h to address the missing /dev/null on DOS
  • New autoconf tests for: getc_unlocked getchar_unlocked putc_unlocked putchar_unlocked flockfile funlockfile ftrylockfile
  • Symlinks for armv4tl-linux-cc.rul s390x-linux-cc.rul armv5tel-linux-cc.rul new, to support non-automake aware make programs such as gmake.
  • Do not define a gethostname() prototype in schily/hostname.h for MinGW, as MinGW as a wrong prototype is in the non-standard file winsock.h
  • include/schily/stdio.h now implements code that partially unhides the FILE * data structures from the 64 bit Solaris libc. This allows to implement a getc_unlocked() macro even for 64 bit Solaris as done by libc, so libschily is able to achieve similar stdio I/O performance, which is needed to be able to implement a printf() in libschily that is faster than printf() from libc.
  • New functions xcomerr(), xcomerrno(), fxcomerr(), fxcomerrno() in libschily allow error message and exit with an exit value that differs from errno.
  • a bug in libschily/format.c that caused %.*s to be printed incorrectly has been fixed.
  • libschily/format.c has been redesigned to allow the code to be reused for fprformat() via #include.
  • libschily/fprformat.c New function fprformat() in libschily is implementing the same direct interface as doprnt() from libc and thus allows to implement printf() faster than the printf() from libc on Solaris.
  • libschily/jsprintf.c For Solaris, jsprintf() now is implemented based on fprformat(). This allows printf() from libschily to be aprox. 33% faster than printf() from libc on Solaris and aprox. 2x as fast as jsprintf() in libschily has been before. This gives another performance boost for printf() bound programs like hdump/od that is used as a OSS replacement for the closed source od(1) on OpenSolaris. This now makes the OSS od(1) on OpenSolaris typically 5x faster then the closed source version.
  • libschily/getdtablesize.c now treats MinGW the same as when compiling on Win-DOS using cl.exe.
  • libschily/mkdirat.c and libschily/mkdirs.c now take care of the fact that MinGW has a non standard compliant mkdir()
  • libschily/mkfifoat.c fixed a type from, cut/paste the file from mkdirat.c
  • cdrecord/cue.c now has a better comment related to cdrtools specific CUE enhancements.
  • Fixed a typo in cdrecord.dfl
  • Avoid a redefined xxx warning for cdda2wav/exitcodes.h
  • Added a #undef interface to cdda2wav/interface.h to make sure that the #define interface from windows.h does not cause problems even when using MinGW
  • mkisofs/mkisofs.8 fixed illegal troff sequence "\\" to "\e"
  • Try to avoid a direct string "/dev/null" in mkisofs.c to allow it to work on Win-DOS without POSIX layer.
  • readcd -c2scan now also prints the percentage of sectors with C2 errors.
  • added new HP-UX specific #defines to cpp

New in version 2013-12-24 (December 27th, 2013)

  • libschily::format.c (printf) now supports length modifiers like h hh l ll t z for the %n format.
  • libschily::format.c has been restructured for parsing the field width parameters in a way that would allow to later introduce support for %n$
  • cdda2wav now prints the number of read operations per track when in paranoia mode
  • cdda2wav now prints the read overhead (in percent) per track when in paranoia mode
  • cdda2wav adds a new paraopts= mode: "c2check" to run libparanoia in C2 mode.
  • libparanoia now implements the first stage in C2 error pointer support: it now is able to deal with input data that contains C2 pointers and it implements new callbacks to report C2 statistics back to the caller.
  • cdda2wav did get a major overhoul for libparanoia that may make the extract quality better up to a factor of 100x:
  • A new suboption "readahead=" for paraopts= allows to modify the read ahead buffer size to make it large ebough for the amount of RAM in modern drives.
  • The interpratation of "problem sectors" was changed to better deal with the fact that in case of bad areas, the libparanoia code tends to do repeated reads in those bad areas. The computaion of the percentage of bad sectors now takes care of reread sectors. Repeated reads still increase the value but no longer in a quadratical way.
  • Better documentation for the libparanoia interface in cdda2wav allows to better understand how it works and how modifying parameters could influence the extract quality.
  • Fixed some typos in cdrecord
  • Fixed a typo in the mkisofs man page (had \-max\-ISO-9660\-filenames instead of \-max\-iso9660\-filenames)
  • New Schily Makefiles rules for armv7l-linux

New in version 2013-11-25 (November 26th, 2013)

  • configure now also checks for NFSv4 ACL related library extensions from FreeBSD
  • include/schily/stdio.h now finally works to compile libshedit on Linux _and_ to pass the program "hdrchk" from OpenSolaris.
  • libschily/strstr.c and libschily/wcsstr.c now include a CDDL License hint
  • A typo in the use of the new macro: $(OSINCDIRS) was fixed in order to make things compile again on FreeBSD. Now using $(OSINCDIRS:%=-I%) instead of $(OSINCDIRS)
  • Star now gives a warning when comppiled on an old version of Solaris (that does not support NFSv4 ACLs) when NFSv4 ACLs are seen in extract mode.
  • Star now correctly frees the NFSv4 ACL structure delivered from calling acl_fromtext(path, &aclp), using acl_free() instead of just calling free().
  • Star now compiles on Solaris 10 that missed important include files for NFSv4 ACLs. Thanks to Dennis Clarke for reporting.
  • Cddda2wav now flushes stderr before asking for a specific cddb entry index. It seems that on Linux stderr may not be unbuffered as expected.
  • Cdda2wav moved the option parsing code into a separate function gargs().
  • Cdrecord/Cdda2wav/Readcd: trying to avoid to confuse users on Solaris and Linux where a fine grained privilege implementation exists. Before, fine grained privileges have been given up after initializing the program and this may result in a root user that is treated as a normal user that cannot write into directories without global write permission. The named programs now no longer give up privileges in case they have been called with the needed privileges already and thus the programs cannot be used for privilege escalations anymore.
  • Libfind now allows to check for -type P (Solaris event port). A missing "case 'P':" was added to the parser.

New in version 2013-11-08 (November 9th, 2013)

  • ACL entries no longer have arbitrary length limits in star.
  • Star now includes support for NFSv4 ACLs on Solaris. FreeBSD and Linux will follow once these platforms did agree on a uniform ACL library interface for NVSv4 support.
  • Please note that the two changes mentioned above resulted in major code rearrangements and may even cause star to fail on Linux and FreeBSD with the withdrawn POSIX.1e draft ACLs. Please test and report.
  • The rules in the Schily Makefilesystem have been restructured in order to allow to avoid problems on platforms like FreeBSD and Mac OS X:
  • FreeBSD and Mac OS X banned the not-free-enough (because GPLd) software to /usr/local, forcing us to add -I/usr/local/include and -L/usr/local/lib. Unfortunately, /usr/local/include frequently carries a _very_ outdated and thus wrong copy of "cdda_paranoia.h" which is more than 10 years old and definitely incompatible with dynamic linking on Mac OS X. This defective copy was first in the search path and prevented compilation.
  • We now have a new macro: DEFOSINCDIRS= that grants to add include directories to the end of the search PATH to allow us to find the correct "cdda_paranoia.h" first.
  • Please test and report in case of problems.
  • gmake and SunPro make include COMPILE.c with wrong content in their built-in rules. We now clear this macro un RULES/rules.top. It is still possible to provice a modified version from command line or from the environment.
  • include/schily/stdio.h was reordered, as it prevented compilation of the "bsh" on Linux. This was a problem recently introduced, when we added #ifndef NO_SCHILY_STDIO_H
  • A new autoconf test was added to detect the presence of NFSv4 ACL support on Solaris inside libsec.
  • Fixed a bug with libxtermcap::tdecode() that was introduced with release 2013-10-10 whilt trying to reduce line length via resturcturing. This resulted in all ^x esacapes in termcap entries to be expanded to '\0'.
  • The SCCS commands "sccs", "get" and "delta" now support to store and retrieve files with nanosecond timestamps when using the SCCS V6 archive format.
  • This is based on the recently introduced *at() syscall emulations in libschily. Please report problems from platforms that do not provide native *at() interfaces.

New in version 2013-10-31 (November 1st, 2013)

  • Add forgotten include/schily/err_type.h
  • New autoconf test for issetugid()
  • New autoconf test for utimens() / lutimens()
  • Fixed autoconf typo HAVE_MKNODKAT -> HAVE_MKNODAT
  • include/schily/intcvt.h is now self contained.
  • Added uname.c and include/schily/windows.h to the files that need to be copied for the smake bootstrap compilation "psmake". Thanks to Wolfram Schmid
  • Fixed the scripts "cpfiles", "lnfiles" and "rmfiles" from the bootstrap section of "smake".
  • Added uname.c to the list of files to be compiled.
  • include/schily/windows.h now includes the same type workaround for MINGW32 as fir the Microsoft C compiler, as there are the same autoconf detection problems.
  • Fixed fine grained privilege handling for cdda2wav on Linux. Thanks for Daniel Pielmeier from Gentoo for reporting and testing.
  • Bumped cdrtools to version 3.01a18
  • New files for libschily:
  • at-base.c generic implementation for *at() functions. fchownat.c fchownat() fdopendir.c fdopendir() fstatat.c fstatat() futimens.c futimens() futimesat.c futimesat() Solaris specific old for utimensat() lutimens.c lutimens() linkat.c linkat() mkdirat.c mkdirat() mkfifo.c mkfifo() mkfifoat.c mkfifoat() mknodat.c mknodat() readlinkat.c readlinkat() renameat.c renameat() symlinkat.c symlinkat() unlinkat.c unlinkat() utimens.c utimens() utimensat.c utimensat() at-base.c The base code for all single fd *at() functions. at-base2.c The base code for all double fd *at() functions.
  • contain emulations for system interfaces introduced in summer 2001 by Sun and with POSIX.1-2008.
  • New functions in libschily:
  • absfpath() resolvefpath()
  • allow to better control the behavior using flags.
  • The linker map file for libschily now adds some forgotten functions.
  • Star reordered sparse file detection and now files that contain more than DEV_BSIZE data but no st_blocks will be treated correctcly in case that the OS also supports lseek(SEEK_HOLE.
  • SCCS now is able to add nanosecond time stamps in SCCS V6 history files.
  • SCCS admin is now able to add nanosecond V6 timestamps with admin -o -i
  • Remove an unwanted C99-ism from args.c from the Bourne Shell

New in version 2013-10-10 (October 11th, 2013)

  • Many sources have been modified to deal __CYGWIN32__ like __CYGWIN__ This is neded as newer Cygwin versions that run in 64 Bit mode do no longer define __CYGWIN32__ but __CYGWIN__
  • Fixed the scripts "cpfiles", "lnfiles" and "rmfiles" from the bootstrap section of "smake".
  • Added rules for non-automake enabled make programs (like gmake) for: ppc64-linux-cc.rul and ppc64-linux-gcc.rul
  • Added new OS version ID rules for various WIN-DOS versions:
  • os-interix-nt-6.0.id os-interix-nt-6.1.id os-cygwin_nt-6.2-wow64.id os-cygwin_nt-6.2.id os-cygwin_nt-6.3-wow64.id os-cygwin_nt-6.3.id
  • Various Cstyle changes in the include/schily directory.
  • New include file: include/schily/shedit.h
  • Added defltsect() to the list of exported functions for the shared library version of libdeflt.
  • Fixed a filedesrciptor leak in libfind that hits when using -empty on empty directories.
  • Cdrecord: Typo correction in a comment
  • Cdda2wav: Typo correction in a comment
  • Readcd: Typo correction in a comment
  • Added automatic support for ARMv5 and ARMv6. This makes compilation on the RaspberryPI also possible with the non-automake aware gmake.
  • Allow "static" compilation (a compilation that does not use the dynamic defines from the Schily Makefilesystem) on Linux ARMv6 (which is used by RaspberryPI).
  • "defltsect" was added as exported global function to libdeflt.
  • libfind now calls closedir() with -empty even on empty directories.
  • New autoconf test on whether includes struct timespec
  • New autoconf tests check whether some functions (such as clock_gettime()) are in libc or need a separate library
  • New: struct timespec in schily/time.h is granted to exist on all platforms
  • New functions getnstimeofday() and setnstimeofday() have been added to libschily.
  • Star now supports to extract time stamps with nanosecond granularity on platforms that support utimensat().
  • Star now also supports to extract time stamps for symlinks using utimensat(AT_FDCWD, name, tp, AT_SYMLINK_NOFOLLOW).
  • Note that star could (on some platforms) also permit to set the file permission for symlinks using fchmodat() but this is already done using umask() since a long time and the only platform that is known to support different permissions on symlinks seems to be HP-UX. On a recent Solaris, you will not be able to set the file permissions for symlinks.
  • Star was converted to be completely timespec based. This offers nanosecond granularity for all times on platforms that support a nanosecond clock.
  • Star now may be told to modify the path name (in case of -s/o/n/ or interactive change -w) before the time stamp is compared to existing files in the filesystem. This is done by using the new option -uncond-rename
  • Star no longer creates non-conforming archives when calling:
  • star -c H=ustar dirname-with_101-chars/ > archive
  • instead of:
  • star -c H=ustar dirname-with_101-chars > archive
  • Star now rejects to create archives with an empty t_name field.
  • "tartest" now warns about non-standard compliance if the t_name field is empty but the rest of the tar header contains data.
  • New include file include/schily/shedit.h
  • Ved now starts to warn about long .vedtmp.* files if the size is > 16384. Before it warned if the size is > 8192.
  • Fixed the SYNOPSIS line for the man page sccslog.1
  • "sccs help ut4" now reminds of a probably missing SCCS directory.
  • Many Cstyle changes in bsh. Note that the related files are also used by the Bourne Shell and we want it to match the Cstyle of OpenSolaris.
  • bsh/abbrev.c now avoids js_snprintf() to allow the Bourne Shell to be created with lazy library loading, so "bosh" will not load libschily if it is only interpreting shell scripts but not running in interactive mode.
  • libshedit was restructured to support dynamic linking on Mac OS X by avoiding to link against variables (unsupported by the dump Apple linker).
  • libshedit was restructured to permit lazy library loading, so "bosh" will not load lishedit nor libxtermcap when not in interactive mode.
  • All exported funtion names from libshedit now start with 'shedit_'-
  • Cstyle changes in libshedit to permit integration into OpenSolaris
  • _Many_ Cstyle Changes to the Bourne Shell. It was not following the style rules for OpenSolaris even though it has been taken from OpenSolaris ;-)
  • The Bourne Shell now works when calling: set -o aliasowner=joerg or "bosh -o aliasowner=joerg" in order to e.g. allow to use the persistent aliases for user joerg when running bosh as root.
  • The Bourne Shell now correctly lists the alias ownwer when calling "set +o"
  • The Bourne Shell now also recognises special argv[0] when passes: "jbosh", "-jbosh", "pfbosh", "-pfbosh", "rbosh", "-rbosh"
  • The Burne Shell now allows to switch from using system include files to portable schily include files via:
  • -DSCHILY_INCLUDES
  • An now unneeded data structture "struct blk" was removed from the Bourne Shell. This could have been done when we switched from sbrk() to malloc() already.
  • Document in the man page pf the Bourne Shell that the options -c/-i/-p/-r/-s may only be set at start from command line but not later in interactive mode.

New in version 2013-07-29 (July 30th, 2013)

  • The Schily makefilesystem no longer uses $CC for internal tasks.
  • "Static" compilation is now allowed on Linux x86 and Linux on Raspberry Pi.
  • Support for ARMv5 and ARMv6 was added for non-automake aware programs like "gmake".
  • The Bourne Shell now implements -o aliasowner=name as a security feature.
  • CPP now compiles even if YACC="bison -y".
  • Star/spax no longer does a chown on extract unless -po or -pe are specified.
  • SCCS diffs now use get -o to get correct time stamps with diff -u.
  • SCCS diff no longer writes nanosecond values in the middle of a "diff -c" timestamp when in the German locale.

New in version 2013-07-08 (July 9th, 2013)

  • This version fixes a bug in the swap buffer handling of "ved" which could cause data corruption when editing multiple files, a bug in libparanoia which caused too few data to be initialized, and two memory problems in the Bourne Shell which happened on FreeBSD.
  • Ved now expands buffer filenames in commands in a way which does not introduce null bytes.
  • The "type" builtin from the Bourne Shell now reports aliases.
  • The Bourne Shell now supports alias expansion on "the next word" if an alias ends in a space character.

New in version 2013-06-20 (June 21st, 2013)

  • alias/unalias in bsh now behaves as in the Bourne Shell.
  • Shell and SCCS man pages have been cleaned and converted back to CDDL-1.0 only.
  • Changes have been made to support recent releases of OpenCSW.

New in version 2013-05-31 (June 1st, 2013)

  • Some reordering in include/schily/*.h.
  • Warns on Linux and Solaris if fine grained privileges are missing for cdrtools.
  • Makes libshelledit and cdda2wav compile on FreeBSD-9.1.
  • Better text in README.compile.

New in version 2013-05-10 (May 11th, 2013)

  • cdrtools is now at version 3.01a14, and now supports root-less operation on Linux using fcaps.
  • #include file reordering was undertaken to avoid warnings on older platforms.
  • Job processing code was moved from smake/make.c to smake/job.c.
  • A typo in include/schily/stat.h that caused setting of nanoseonds in timestamps to be impossible for NetBSD and OpenBSD was fixed.

New in version 2013-02-15 (February 16th, 2013)

  • This version fixes a problem in star with "star --xattr -find relative_path ..." smake has been bumped to version 1.2.3.
  • Avoids a false GCC warning when compiling the termcap program.
  • The man page sccsfile.4 has been rewritten to make it easier to understand.
  • cdrtools has been bumped to version 3.01a12.
  • The UDF implementation in mkisofs has been enhanced to support all typical UNIX file types, all three timestamps in microsecond granularity, the suid/sgid/sticky file flags, and correct credentials for symlinks.

New in version 2013-01-15 (January 15th, 2013)

  • A bug introduced in the last smake version that caused empty command lines to fail was fixed.
  • A bug in the Bourne Shell that may cause PATH to be ignored if it ends in ':' was fixed.
  • Cdrtools was bumped to version 3.01a11 and Star to version 1.5.2.

New in version 2013-01-07 (January 10th, 2013)

  • This version optimizes command execution to help systems with slow fork() (like Cygwin).
  • Smake now may be compiled to enforce the Bourne Shell as default SHELL to speed up work on Cygwin.
  • A workaround for Cygwin-1.7.17 and newer has been added, and handles the missing PACKED definition and the incompatible change related to BOOL in windef.h.
  • The Schily Makefilesystem now defines $(SPACE) and $(NUMBER_SIGN), characters that usually cannot appear in Makefiles.
  • cpp now includes a pre-yacced cpy.y to allow to create a fully functional binary on Systems without yacc (such as Cygwin and HP-UX).

New in version 2012-12-28 (January 4th, 2013)

  • This version has been upgraded to smake-1.2.2 and cdrtools-3.01a10.

New in version 2012-12-11 (December 28th, 2012)

  • Supports POSIX SUS issue 7 for loop in the Bourne Shell.
  • The man page of the Bourne Shell is free of Sun cruft and follows the man page man(5).
  • cpp defines __BUILTIN_VA_ARG_INCR like the Sun cpp does since SunOS-4.0.
  • Better dependencies for parallel builds. Support for Debian on the FreeBSD kernel.
  • upport for the Syllable clone Pyro.
  • Better compliance with cl.exe.
  • Cdrtools have been bumped to 3.01a09.

New in version 2012-04-19 (May 7th, 2012)

  • Several minor bugs in the Bourne Shell have been fixed.
  • The Bourne Shell now has the built-in commands "savehistory", "map", and "repeat".
  • The mapper (used by sh, bsh, and ved) now has better defaults for cursor mappings.
  • The man page for the Bourne Shell now includes a complete description of the command history editor.
  • The libxtermcap implementation now supports tc= nesting of 64 instead of 32.
  • The termcap program has had several small bugfixes and now allows the user to output unknown termcap entries in order.

New in version 2012-04-19 (April 21st, 2012)

  • The Bourne Shell now supports umask -S and a symbolic POSIX compliant mode to set umask.
  • The Bourne Shell builtin "read" now supports the POSIX option -r.
  • The Bourne Shell builtin "ulimit" now supports the options -l, -m, and -u for better *BSD and Linux compatibility.
  • All known unfixed bugs in the SVr4.0 Bourne Shell from 1990 have been fixed.
  • The Bourne Shell man page got a major reworking and, among other features, describes the commandline history editor.

New in version 2011-11-09 (November 15th, 2011)

  • SCCS was bumped to SCCS-5.06.
  • The -edc-corr algorimth in readcd(1) was enhanced.
  • Star now tries to avoid some non-helpful warnings from GCC-4.x.
  • Some typos in the cdrecord man page have been fixed.

New in version 2011-08-29 (August 30th, 2011)

  • Some additional portability enhancements were made for compiling with MSC on Win-DOS.
  • SCCS was enhanced to SCCS-v5.03 plus some new states, such as a new program sccscvt to convert SCCS v4 history files to SCCS v6 history files.

New in version 2011-08-10 (August 11th, 2011)

  • Many workarounds for the Microsoft compiler have been added.
  • cdrtools now mostly compile and run on WIN-DOS using the Microsoft compiler.
  • SCCS was bumped to release 5.02.

New in version 2011-07-26 (July 28th, 2011)

  • Support for cross compilation was added to autoconf.
  • Support for cross compiling for Android was added.
  • Mingw32 support was enhanced.
  • SCCS was bumped to release 5.1.

New in version 2011-06-22 (June 23rd, 2011)

  • A new rule RULES/profiled.lnk allows this release to call: smake COPTX=-pg LDOPTX=-pg LINKMODE=profiles.
  • A new function permtostr() in libschily allows it to convert a mode_t like stat.st_mode into a chmod compliant string like: u=rw,g=r,o=r. libscg::scsi-aix.c was updated with some experimental code to support two new SCSI kernel interfaces on AIX.
  • star::longnames.c now uses a hack with a 101 char array t_name to avoid an incorrect buffer overflow warning from gcc.
  • Several SCCS enhancements to bump SCCS to 1.1beta5.

New in version 2011-06-05 (June 9th, 2011)

  • Many small enhancements were made to the SCCS system.
  • An automated test suite for SCCS was added.
  • Mkisofs now supports creating EFI boot records with El Torito.
  • Mkisofs now supports defining the modification date in the primary Volume descriptor to set up an UUID for grub.

New in version 2011-04-22 (April 26th, 2011)

  • Star adds an option -lzip for automatic recognition of lzip archives.
  • libfind no longer exits if path strings cannot be allocated.
  • SCCS "val" now supports dir type CLI args that result in scanning the related directory for s. files.
  • SCCS "val" now gives debug messages with val -T, including line numbers for the s. file.
  • SCCS "sccs" now permits -R together with "val".
  • SCCS "sccs" now correctly deals with long paths (> 64 chars) when in -R mode.
  • The diff cmd (used by SCCS) now supports the -N option.
  • Some more variables in patch(1) are now off_t for large file support.

New in version 2011-04-12 (April 13th, 2011)

  • Many small enhancements and bugfixes were made for star. cdrecord no longer dumps core with too much CD-Text.
  • hdump(1) and od(1) now correctly indent the output if single byte and floating point output were requested at the same time.
  • A new program was added: patch.
  • This is based on the last patch(1) implementation from Larry Wall.
  • In contrast to the GNU fork of the same software, it tries to be closer to the POSIX standard requirements.
  • sccs val now supports a -T (Trace/Debug) option to find the exact reason for corrupted history files.
  • Many small enhancements were made to the sccs man pages.

New in version 2011-01-02 (January 3rd, 2011)

  • Libscg now supports the SCSI sense length from the new fixed FreeBSD ATAPI/CAM kernel module.

New in version 2010-09-22 (October 1st, 2010)

  • Several files have been modified for integration of star into OpenSolaris.
  • Star now automatically detects and unpacks archives compressed with xz(1).
  • "star -x -xmeta -fore-hole" now allows you to archive any plain file as a sparse file without any data if the archive was created with "star -c -dump -meta ...". bsh no longer tries to evaluate $CDPATH if cd "" was called.
  • A new "cpp" program (the ported UNIX K&R cpp) was added to the tar archive.

New in version 2010-06-08 (August 3rd, 2010)

  • Smake was bumped to 1.2.1.
  • Cdrtools was bumped to 3.00.
  • Many enhancements were made to libfind/sfind(1).

New in version 2009-10-12 (October 19th, 2009)

  • This release adds support for 64-bit compilation on HP-UX.
  • It implements a workaround for the missing isinf()/isnan() support in libc on HP-UX.
  • cdrtools has been bumped to 2.01.01a66.

New in version 2009-09-20 (September 21st, 2009)

  • This release avoids sed(1) in the makefile system to work around a bug in the *BSD implementation.
  • It has better SCSI support for Mac OS X, NetBSD, and OpenBSD.
  • It avoid an smake coredump on OpenBSD.
  • bsh compiles on DragonFLy BSD.
  • The Bourne Shell man page from Sun has been added now that Sun made it open source.

New in version 2009-08-31 (August 31st, 2009)

  • The makefile system now by default sets the locale to C before compiling in order to avoid problems.
  • Some tr(1) calls were replaced by calls to sed(1) in order to make the makefile system immune against tr(1) oddities.
  • Calling the script "./.clean" now also removes the auto-created links.
  • Attempted work-arounds were added for some floating point oddities in newer AIX versions.

New in version 2009-08-12 (August 13th, 2009)

  • This release added a "libmdigest" library, complete with SHA1, SHA2, rmd160, and MD4 support.
  • A new "mdigest" command was provided as a frontend for libmdigest.
  • cdrtools was bumped to 2.01.01a63.

New in version 2008-11-02 (November 4th, 2008)

  • smake is allowed to use /bin/bosh instead of bash on Linux or ksh on HP-UX.
  • Some small problems were fixed in smake.
  • cdrtools was upgraded to 2.01.01a53.
  • Some extensions were made as a first step to allow compilation on the ATARI ST with MINT.

New in version 2008-09-29 (September 30th, 2008)

  • The SCCS man pages have been updated. sccslog now prints correct timestamps.
  • The cdrtools version is now 2.01.01a50.

New in version 2008-09-02 (September 2nd, 2008)

  • A new attempt was made to work around the autoconf unfriendliness with GNU libiconv.
  • Smake is now able to use /bin/bosh if /bin/sh is not appropriate for use.