====== 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.