====== version history of POSIX::1003 All changes are made by Mark Overmeer, unless stated otherwise. # TODO: # . ::FS manual needs cleanup, f.i. split lists of constants # . the main component of exporter in POSIX::1003 useful enough to become # a separate module. # . add epoll/epoll_ctl ? Sys::Syscall # . add sendfile? Sys::Sendfile # . add ioctl? # . add glob, fnmatch, wordexp WDRE_ constants are enums # . add POSIX::RT::Semaphore logic? # . cleanup exampleValue(), probably doing too much # . charset of $! strerror() perl#119499 # . linux: CAP_* capset etc # . linux: _LINUX_ properties # . *bsd: _BSD_ properties # . hpux: PRIV_*, pstat, priv_add_effective, priv_remove, privgrp # . aix: PV_* # . linux memfd* and F_*SEAL* # . *at() commands for FdIO # . proc get/setpriority (see BSD::Resource) # . implementation of nl_langinfo # . change in ::Module of detection of constants which need autogeneration # . charset of locale only via nl_langinfo(CODESET) version 1.02: Tue 10 Nov 16:45:33 CET 2020 Fixes: - glob test fails when run as root. Patched by [Felipe Gasper] version 1.01: Tue 10 Nov 13:38:16 CET 2020 Improvements: - more float constants treated as strings [cpantesters] - apparently strptime not supported on FreeBSD [cpantesters] (although manual page exists) - also on netbsd only one confstr Fixes: - version confusion between 1.00 as tagged on GitHUB and the 1.00 released via CPAN. version 1.00: Tue 5 May 14:49:33 CEST 2020 FreeBSD has no _PC_LINK_MAX (t/62pathconf.t) http://www.cpantesters.org/cpan/report/153c7110-1a79-11e8-92d0-ae77c247440e Use _PC_FILESIZEBITS ? Fixes: - SETLK was missing - The manual-page POSIX::1003::Fcntl was messed-up - Use XPUSHs, not PUSHs [Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯] Improvements - add AT_ constants for dirfd *at commands - converted to GitHub version 0.99_08: Thu 17 Mar 12:10:13 CET 2016 Fixes: - glob may return undef which is an SV* - windows: no mknod - cygwin glob test fails - rlimit show example values of RLIM_ Improvements: - rlimit display large contants as 2** - added ::Time::strptime() - use own ::Time::strftime() and ::mktime() with a simple hash - added ::Proc::getpid() and ::getppid() - add EPOLLEXCLUSIVE (Linux 4.5) EPOLLWAKEUP, and EPOLL_CLOEXEC version 0.99_07: Wed Apr 8 15:12:20 CEST 2015 Fixes: - no glob() on Windows [cpantesters] - freebsd glob error callback already shows trailing '/' - export tags of some modules Improvements: - provide ::FS::fnmatch() - remove preparations for unimplemented wordexp() - start system/solaris.c [Abeltje] - internally rename poll_table into events_table, to contain more collections. version 0.99_06: Tue Apr 7 09:51:30 CEST 2015 Fixes: - openbsd has only one confstr. Fix test [yary] - windows major/minor/makedev/confstr/lockf missing [cpantesters] - *posix_names failed for AF_DECnet, because of lowercase Improvements: - glob constants available everywhere (it seems) - implementation of glob() interface and t/50glob.t - document availability of ::FS::stat() and ::lstat() version 0.99_05: Wed Mar 18 11:44:50 CET 2015 Fixes: - windows has other function with name strsignal Improvements: - extra LC_ constants - locale POSIX or C fallback in manual.pl version 0.99_04: Wed Mar 11 23:10:22 CET 2015 Changes: - removed ::FS export tag :perm (merged with :stat) because its role was too confusing. Fixes: - keep openbsd from testing ulimit - keep systems from do not support ulimit from the attempt to test it. - disable a few more things for Windows - enforce locale en_US to produce (errno) tables Improvements: - separate table columns with '#' - add SO_INCOMING_CPU, Linux 3.19 - add WRDE_* for wordexp to lists/glob.txt version 0.99_03: Fri Feb 6 22:28:40 CET 2015 Improvements: - system/cygwin.c was missing from MANIFEST - use diag to dump tables when AUTOMATED_TESTING - do not use IO::File->close (breaks Perl 5.12) version 0.99_02: Tue Feb 3 11:44:33 CET 2015 Fixes: - fix compilation for many platforms rt.cpan.org#101866 [Slaven Rezic] Improvements: - add system/cygwin.c - other way to show defined constants in cpan-testers environment. Added t/99constindex.t version 0.99_01: Sat Jan 31 00:39:54 CET 2015 Fixes: - openbsd build: skip ulimit - add system/netbsd.c - use in combinations with modules which use (old) POSIX Improvements: - added ::Socket - change documentation style - POLLRDHUP (linux 2.6.17) - support linux >=3.15 file-private locks - do not hack constants in Fcntl - add GLOB_ and FMN_ constants - math constants not from POSIX, to have them behave as all other constants. - keep table of all missing labels, so we can warn for accidental typo's in constants. ::Module::is_missing() - include lists/locale.txt, lists/procs.txt, lists/os.txt, lists/math.txt, lists/time.txt, lists/user.txt do not use constants from POSIX:: anymore because they 'die' when missing. - prefer core methods over POSIX versions. version 0.98: Tue Dec 3 08:31:16 CET 2013 Fixes: - start config for openbsd and gnukfreebsd [cpantesters] - include of limit.h where the platform does not support it. version 0.97: Sat Nov 30 20:45:44 CET 2013 Fixes: - build fixes for FreeBSD rt.cpan.org#91076 [Slaven Rezic] version 0.96: Thu Nov 28 14:47:55 CET 2013 Fixes: - LOCK_* did not get defined. Improvements: - add ::FdIO::truncfd() - POSIX::1003 now also knows the EXPORT_TAGS of each of the packages, like :stat and :perms - add ::FS::S_ISUID, S_ISGID, S_ISVTX - add ::FS export tag :perms version 0.95.1: Mon Aug 26 13:16:28 CEST 2013 Fixes: - t/28user.t when group is '0' (root) [cpantesters] this is an installation blocker version 0.95: Fri Aug 23 16:49:07 CEST 2013 Fixes: - ::Proc WNOHANG and WUNTRACED are constants, not functions. - ::Proc W*() functions had wrong prototype Improvements: - add ::FdIO::fdopen() version 0.94_5: Wed Aug 21 13:05:52 CEST 2013 Changes: - ::Time::strftime() is now charset aware. Fixes: - some makes do not work correctly without existing system.c Improvements: - add warning about possible overflow of times() - auto-detect SA_ constants, do not take them from POSIX.pm - added O_TMPFILE (new in Linux kernel 3.11) version 0.94_4: Wed Jun 12 15:16:33 CEST 2013 Improvements: - add ::Fcntl::flock() and ::lockf - add system/freebsd.c - the 'return' in "return XSRETURN_UNDEF" is too much [NormW] - t/32fcntl.t dup test sometimes produces a fh which is >4. test now more relaxed. - use "blib" in *.PL - use FULLPERL, not FULLPERLRUNINST, in Makefile.PL version 0.94_3: Mon Jun 10 10:00:29 CEST 2013 Improvements: - add ::Fcntl - system/mswin32.c - add EPOLL constants - add O_ACCMODE - add "-I." to compile to CC search path - cpantesters now will show all constants while creating manual-pages. version 0.94_2: Fri May 17 10:25:38 CEST 2013 Fixes: - make setgroups() support optional - un-trick setre[gu]id confusion caused by CORE/perl.h Improvements: - believe CORE/config.h for some settings version 0.94_1: Thu May 16 14:14:33 CEST 2013 Fixes: - more carefully return ENOSYS when a function is not supported by a platform. - HP-UX compilation improvements [H.Merijn Brand] Improvements: - added accidentally missing t/27signals.t - added POSIX::1003::User and t/28user.t - added POSIX::1003::Errno and t/29errno.t version 0.93: Tue Apr 23 09:00:47 CEST 2013 Fixes: - Netware has no strsignal() [NormW] - Windows does not unlink existing $dest at rename(), manual.PL [NormW] - added POSIX::1003::Symbols back to MANIFEST Improvements: - Export rename() via ::FS, to document non-compliant behavior on Windows. version 0.92: Mon Feb 25 10:50:47 CET 2013 Improvements: - support strsignal() rt.cpan.org#72602 [Roger Leigh] - support for NetWare [NormW] - add libs to PL scripts to simplify debugging [NormW] version 0.91: Fri Jan 4 10:26:29 CET 2013 Fixes: - t/62pathconf.t reduce number of constants expected from at least 10 to at least 5 (Darwin has 9) reported by [James Keenan] - Darwin use rlimit64 [James Keenan] - Old Linux does not support ulimit(setfsize) [James Keenan] - t/64pathconf.t now uses _PC_LINK_MAX, because _PC_PATH_MAX is undef on many platforms [H.Merijn Brand] - t/63properties.t now uses _POSIX_VERSION, because _POSIX_NO_TRUNC is not defined on HP-UX [H.Merijn Brand] - t/70lazy.t still used POSIX::3 - POSIX/3* files got accidentally packaged as well version 0.90: Wed Aug 8 10:10:46 CEST 2012 After advice from the Dutch Perl Mongers, the following major changes: - renames: POSIX::1003 -> POSIX::1003::Module POSIX::3 -> POSIX::1003 POSIX::3::Symbols -> POSIX::1003::Symbols - remove POSIX::1003::Symbols from MANIFEST version 0.13: Thu Jul 26 13:37:37 CEST 2012 - export tag ':table' became ':tables' - dynamically detect constants for FdIO, adding SEEK_HOLE and SEEK_DATA when availale. - dynamically detect S_* and *_OK constants for ::FS, removes the need for Fcntl - moved ::FdIO::readfd_all and ::writefd_all into separate module POSIX::Util. - add pod tester - add ::FdIO::rewindfd version 0.12: Fri May 18 14:05:11 CEST 2012 - indent manual text about missing configuration. - setrlimit and ulimit do not always have rights on Linux. Changed in tests t/64ulimit.t and t/65rlimit.t [cpantesters] version 0.11: Wed Jan 4 13:56:04 CET 2012 - POSIX::1003::exampleValue($name) as generic way to demonstrate values for constants - generate signal names via auto-detection, not a static list - POSIX::3::show_posix_names() also show their example values - manuals.PL uses new exampleValue() interface - ::Limit did not define export tag :constants - export problem with _POSIX2 properties - minor tweeks to output of parameter tables version 0.10: Wed Jan 4 11:26:12 CET 2012 - ::Signals split export tag :signals into :signals and :states - let signal names be auto-detected as well. version 0.09: Wed Jan 4 10:14:57 CET 2012 - ::Overview: Signal::More absorbed by POSIX::RT::Signal [Leon Timmermans] - rewrite manual.PL to be more flexible. - use '_' prototype on math functions [Abeltje] - do re-export each symbol on each request, not lazy [John van Krieken] - fix processing of poll constants into a manpage. version 0.08: Thu Dec 29 03:52:09 CET 2011 - fix poll_table and related manual - fix exporting of UL_, RLIMIT_ and POLL - include table in ::Properties - store generated constant functions in the namespace for reuse version 0.07: Wed Dec 28 12:16:03 CET 2011 - serious manual-page documentation order problem repaired - manuals.PL had an ^=comment in a here-document, which caused it to produce a manual-page in metacpan/search.cpan - add ::Events ... poll() needs testing! version 0.06: Sun Dec 25 23:52:57 CET 2011 - getrlimit and setrlimit code was missing from 1003.xs as fallback when missing from the OS. - variable info insertion in manual page seems only to work when both lib and blib version of the page get modified. - use variable tables also for the other manuals - implement mknod, major, minor, makedev - enable prototypes on XS functions version 0.05: Fri Dec 23 23:06:27 CET 2011 - implemented POSIX::3 and tables.PL - detected constant names are filled-in in the man-pages. - ::Overview stdin/stdout/stderr only in POSIX.pm - ::Overview setpgid also via ::Proc - more consistency in ::Overview - renamed gen.PL into lists.PL version 0.04: Thu Dec 22 12:22:14 CET 2011 - many doc fixed in POSIX::Overview - document %rlimit and other minor mistakes in ::Limit - add utime() to ::FileSystem version 0.03: Thu Dec 22 10:20:29 CET 2011 - fixed formatting of some manual pages, based in search.cpan.org presentation. - fixed some obvious usage mistakes. - document some ::Termios functions - added ::Limit with ulimit and rlimit functions - added system/ structure for os-dependent work-arounds - added predefined lists of constant names, to remove the need to scan the header files. - fix and test SigAction and ::Termios version 0.02: Mon Dec 19 15:57:15 CET 2011 - initial implementation.