Up to [cvs.NetBSD.org] / pkgsrc / devel / rudiments
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
*: recursive bump for icu 76 shlib major version bump
*: revbump for icu downgrade
*: recursive bump for icu 76.1 shlib bump
*: recursive bump for gnutls p11-kit option (existing installations need the bl3.mk included, but it's now only optionally included)
*: recursive bump for icu 74.1
*: bump for openssl 3
revbump after textproc/icu update
*: bump PKGREVISION for libunistring shlib major bump
*: recursive bump for heimdal 7.7.0 its buildlink3.mk now includes openssl's buildlink3.mk
revbump for boost-libs
revbump for boost-libs
rudiments: updated to 1.3.1 Rudiments 1.3.1 This patch release fixes a bug in the rpm spec file and a missing library dependency in the link command for librudiments-apache. Rudiments 1.3.0 This release mainly featured integration of code from other projects. The remnants of the old firstworks project "stencil" have been merged in, as well as some MVC base classes from other projects. Some date-time parsing code from SQL Relay has been pushed down into the datetime class. There are some new features as well - most notably an encryption framework and aes128 class. There are also sax/dom parsers for CSV, ini, and java-style properties files as well, similar to the xml/json sax/dom classes. The logger classes have been refactored a bit, in back-incompatible ways. Thus the minor version bump. Full ChangeLog follows: unattended tests added support for escaping single/double-quotes to templateengine migrated in clasess from stencil project added librudiments-apache added \r\n support when parsing CSVs integrated MVC base classes from other projects added inisax/inidom and propsax/propdom classes added cronschedule class added logger start/end methods logger string-write works like printf now logger indent uses uint32_t now removed some unused logger::write() methods added a log level to the logger class process::spawn()'s forked child exits if exec() fails now charstring::replace() methods are null-safe now migrated datetime::parse() and datetime::formatAs() from sqlrelay csvsax accepts empty (or all whitespace) files now logger::write() is null-safe now base64encode is whitespace-safe now added support for 5-part dates and day-month-year 4-part dates added datetime::getWeekOfYear added file::extension added directory::createTemporaryDirectory added directory::removeTree added encryption interface added aes128 encryption added charstring::startsWith/endsWith Rudiments 1.2.2 This is a minor bug-fix release. ChangeLog follows: fixed another long-standing charstring::httpEscape bug -Wno-deprecated-declarations is now included if possible added configure tests for RB_HALT/AUTOBOOT (enums on solaris 11.4) certificate tests use sha1 if sha256 is unavailable filedescriptor::pvt->_lstnr is initialzed to NULL in clone operation now listener::listen() safely handles non pollin/out events now removed waitForChildren() from shutdown/crash handlers sigsuspend() fails if errno!=EINTR now instead of whether it returns -1 filtered out -Wl,-Bsymbolic-functions -Wl,-z,relro from krb5-config Rudiments 1.2.1 This is a minor bug-fix release. ChangeLog follows: charstring::isYes includes "on" and charstring::isNo includes "off" tabs are url-encoded correctly now "unsafe" characters are url-encoded now httpEscape uses character::isAlphanumeric now (to improve perforamnce) some file-descriptor-passing tweaks for modern FreeBSD fixed some json parsing bugs updated default_md=sha256 in ca.cnf to generate ca.pem in tests fixed a possible double-free in listener::cleanUp Rudiments 1.2.0 This release adds a few minor features, and fixes a few minor bugs... The jsonsax/dom classes handle escaping correctly now. The url class features a getError() method which returns more detailed error information than the error class. For example, if there's a protocol error, as opposed to an operating-system-level error, then url::getError() returns it. A sha256 class has been added. The sha1, sha256, and md5 classes now prefer to use libcrypto implementations, if they are available, as they might be hardware accelerated, but fall back to internal implementations if they are not available. hash::getHash() returns binary data now, for all hashes. Previously sha1/256 returned binary data and md5 returned a string. charstring::hexEncode()/hexDecode(), and charstring::before()/between()/after() methods have been added to the charstring class. The url class now supports setting the user agent and other headers for http urls. It also supports making http POST requests. The various container classes (linkedlist, avltree, dictionary, etc.) all support remove/clearAnd(Array)Delete methods. The removeAnd(Array)Delete methods remove the node from the container and delete the value stored in the node as well. The clearAnd(Array)Delete methods operate similarly, removing all nodes.
revbump after updating security/nettle
revbump after boost update
*: recursive bump for libffi
*: Recursive revision bump for openssl 1.1.1.
*: Recursive revbump from devel/boost-libs
Recursive revbump from boost-1.71.0
*: recursive bump for nettle 3.5.1
Recursive revbump from boost-1.70.0
revbump for boost 1.69.0
revbump after boost-libs update
revbump for boost-libs update
Revbump after boost update
Revbump for boost update
Recursive revbump from boost update
Update devel/rudiments to 1.0.2. rudiments 1.0.2 There was actually an unannounced 1.0.1 as well. 1.0.1 mainly contained fixes for OpenSSL 1.1.x. 1.0.2 just adds another SSL tweak that's required by Fedora for packaging. No pressing need to upgrade unless you're having trouble building on a platform that uses OpenSSL 1.1.x. rudiments 1.0.0 - images directory and contents are installed with the docs now - added md5 class - moved sendSignal/raiseSignal to process class - implemented process::backtrace() for windows - added missing charstring::getLastOfSet(OrEnd) methods - refactored thread class to match process class paradigm - added avltree class - updated dictionary to use an avltree - update xmldom to use a dictionary for its string cache - file::getContents(fd) gets the entire file contents now, even if the current position in the file isn't the beginning - fixed detection of whether timed semaphore ops are supported on platforms that just implement semtimedop() to return -1 and set ENOSYS - fake certs aren't generated now (in tests) on Windows, if ssl is disabled, or if openssl isn't found - added charstring::isYes/isNo - fixed high/low-bits calculation bugs in memorymap and sharedmemory for Windows - fixed a maxsize bug in memorymap for Windows - changed filesystem paradigm to match file paradigm - open/close/getCurrentProperties - added O_BINARY to various open()'s in file class - fixed threadmutex::wait() return value on Windows - fixed timezone offset during DST for systems with the "timezone" external variable - filesystem class returns NULL consistently for methods that return const char * but that aren't implemented by the OS - sys::getSuggested* return 1024 if they are unsupported by the OS now - added dlerror() calls before dlopen/dlsym/dlclose to clear stale errors - added fs type-name to fs type-id mapping for systems with statvfs - added type-name and type-id for SCO htfs - if unsetenv doesn't exist, then environment::remove() checks to see if the variable exists at all before setting it to an empty string now, to avoid creating it unnecessarily - xmldomnode writes out numeric entites like `E correctly now - fixed groupentry::initialize(NULL) on UnixWare - implemented missing unixsocketserver::close() - fixed filesystem::open(fd) for Windows 8+ - fixed file::changeOwner() for Windows 8+ - initialized timeremaining in snooze::nanosnooze for systems that don't set it at all if the full sleep occurred (eg. arm64 linux) - renamed linkedlistutil_* to node_* - added commandline::getValue/found that take arg and abbr parameters - added supported() methods to sharedmemory/semaphoreset classes - renamed supportsXXX() methods to supported() - unix sockets are faked on syllable now - tweaked dynamicarray::find() to greatly reduce the number of comparisons it does and improve performance significantly - various performance tweaks to memorypool - updated memory pool to 8-byte-align allocations - renamed filedescriptor::get/setTcpRead/WriteBufferSize to - filedescriptor::get/setSocketRead/WriteBufferSize - fixed *entry::getAliasList() to return NULL under all circumstances if there are no aliases - added missing libraries to the library link command rudiments 0.57.0 - fixed subtle bug in codegree::compareValue - replaced several type-punned pointer dereferences with bytestring::copy() to avoid bus errors on sparc and other platforms that require assignments from aligned locations - added filesystem::hostToLittlEndian/littleEndianToHost - added missing __LITTLE_ENDIAN definitions to filedescriptor.cpp - added minimal glibc-specific process::backtrace() method
Revbump after boost update
Update devel/rudiments to 0.56.0. 0.56.0 - userentry/groupentry::initialize(NULL) don't load root any more - + is properly http-escaped now - directory::getChildByIndex() works correctly on windows now - dynamiclib::getError() returns NULL on all platforms when there is no error now (used to return an "ok" string on Windows) - userentry/groupentry::getSidString() returns NULL on non-windows platforms when uninitialized or initialized to an invalid group, used to return NULL on Windows and -1 on unix-like platforms - fixed configure bug causing getspnam methods not to be detected - datetime::addDays works correctly now - datetime::getTimeZoneOffset() works correctly on Windows now - added sha1 class - printBits() correctly takes a const unsigned char * argument now - applied Kasyanov Dmitry's patch to fix a subtle bug in TLS/SSL method initialization - added destructor to stdiofiledescriptor that prevents file descriptors 0, 1 and 2 from being closed when the instance is destroyed - added config_vs2015.h for VS2015 - updated url.cpp to compile with VS2015 - sys::getMaxLineLength defaults to SSIZE_MAX now - groupentry::getMembers() returns NULL instead of an array with a single NULL member if the group has no members on all systems now - directory::fpathConf works correctly now - renamed directory::canAccessLongFileNames() to directory::canExceedMaxFileNameLength() - disabled calls to deprecated readdir_r - moved file::createPipe() to filedescriptor class - added file::createTemporaryFile() with permissions argument - added process::waitForChildToExit() - added a missing clear-the-output-buffer in the compiler class
Revbump post boost update
Fix missed krb bl3. Ride previous commit revision.
Update devel/rudiments to 0.55.0. Major new features: - Security Framework * A securitycontext may now be attached to a filedescriptor to enable encrypted reads and writes. The securitycontext class is just an interface though, and there are currently gsscontext and tlscontext implementations of it. * The gsscontext class and associated classes implement a wrapper on top of the GSSAPI on Linux/Unix and SSPI on Windows. This primarily provides Kerberos encryption and authentication, though on Windows it could be used for NTLM as well. * The tlscontext class and associated classes implement a wrapper on top of OpenSSL on Linux/Unix and, again, SSPI on Windows. This provides Transport Layer Security, or it's predecessor Secure Socket Layer, on both platforms. - Thread Class Improvements - Semantic Versioning - General Bug Fixes See full changelog: http://software.firstworks.com/2016/03/rudiments-0550-release-announcement.html
Bump PKGREVISION for security/openssl ABI bump.
Update devel/rudiments to 0.54. - tweaked code in configure script to remove -Werror* to be non-greedy - updated semaphoreset/sharedmemory destructors to remove the semaphoreset/sharedmemory segment last - added url class that uses libcurl (read-only for now) - added support for urls to xmlsax (and thus xmldom and codetree) - added http support to the url class for platforms that lack an appropriate libcurl - charstring 1-argument trim methods trim all whitespace now, not just spaces - added charstring::isNullOrEmpty() - added read-until-terminator methods with maxbytes option - applied George Carrette's listener class patch to not close invalid-epoll filedescriptors
Update devel/rudiments to 0.53. rudiments 0.53 - exposed codetreegrammar class and updated codetree class so that successive parses/writes can use the same grammar without having to reload - added insert/appendXml(File) methods to xmldomnode to parse and insert/append xml strings or files to a node - fixed FILE->fileno detection for solaris 11.2, which doesn't have it at all - llabs() is detected and preferred to abs() - added partial xml namespace support (namespaces for tags) - added partial support for extended ascii character set to character class - added setgroups() call before setuid() call to drop extraneous groups - updated rudiments-config man page, slightly - removed outdated and unused dtd class - updated file::resolveSymbolicLink() to use directory::maxPathLength(filename) as a starting point - updated directory::getCurrentDirectory() to use MAX_PATH as a starting point - serialport/serialportprofile, modemserver/modemclient classes are disabled in the default build now - updated intro docs rudiments 0.52 - tweaked codetree's recursive break logic a bit - added compiler class - added case-insensitive methods to xmldomnode - added methods to xmldomnode that operate on descendents (as opposed to just operating on direct children) - added methods to xmldomnode for deleting, wrapping, unwrapping - fixed dynamiclib::getError() bug on windows - tweaked -Werror detection in configure script - removed rpcentry class - added file::setPermissions() methods rudiments 0.51 - added missing inline qualifiers to dynamicarray/staticarray method implementations - added test for clock_settime, datetime class uses it if other set-time functions aren't available, returns false and sets errno=ENOSYS if no set-time function is available - directory::fpathConf now falls back to MAX_PATH code if fpathconf exists but there's dirfd() or anything like it - file::createFifo returns false and sets errno=ENOSYS on platforms that don't support fifo's now - file::generateKey returns -1 and sets errno=ENOSYS on VMS now - file::createHardLink returns -1 and sets errno=ENOSYS on platforms don't support hard links now - fixed missing breaks in stdio::flush - userentry::getPassword/getRealName return NULL on VMS now - unix sockets are faked on VMS now - threadmutex is built and installed now whether or not threads are supported, but if threads are not supported, its methods are degenerate and return success - filesystem::getCurrentProperties() returns false and sets errno=ENOSYS on VMS now - implemented degenerate groupentry for VMS - fixed file::getBlockCount() crash that could occur if the filesystem's block size was reported as 0 - tweaked copy constructors and = operators in staticarray/dynamicarray classes to work with older compilers - disabled -Werror for gcc < 2.7 - filedescriptor::printf uses fprintf or fdopen/vfprintf when possible, in leiu of falling back to charstring::printf - charstring::printf tries the null device before falling back to a scratch file - the rate at which charstring::printf expands its buffer is now exponential up to 1024 bytes - added sys::getDirectorySeparator() - fixed trailing-slash-followed-by-quote issue when building windows command lines - added --enable-enosys-notify configure option for runtime notifcations when methods set ENOSYS - cleared errno before each EINTR loop - fixed sys::sync() segfault - fixed ssl tests - removed intervaltimer class - updated sys::getPhysicalPageCount/getAvailablePhysicalPageCount for Windows - added sys::getAllocationGranularity, updated code to use it instead of getPageSize, in most cases - fixed copy-constructor/=-operator bugs in dynamicarray class - added config_vs2013.h for VS 2013 - fixed several permissions-related issues for WinNT 4 - allowShortReads/useBlockingMode are set by default for stdinput now - added wrapper for atexit() - changed process::getRealUser/GroupId to getUser/GroupId to match setUser/Groupid - added process::setEffectiveUser/Group methods - fixed and documented auto-resume behavior in snooze methods - fixed detection of double-dashed command line parameters without values - removed redundant charstring::rightPad() - renamed charstring::padString() to charstring::pad() - added safePrint methods that take unsigned char arguments - fixed bytestring::findFirst() with unsigned char needle, when needle is 0 - fixed bugs in linkedlist::moveBefore/moveAfter - fixed bugs in singlylinkedlist::removeAll() - removed arg parameter from thread::setFunction(), added thread::setArgument(), and added thread::create(arg) - changed thread::create() to thread::run() - wrote lots of example code and updated the programming docs - removed unused shmfile class - fixed several LocalFree's that should have been delete[]'s
Update to 0.50 Changelog: 0.50 - added dictionary::detach and dictionary::getValue(key) added xmldom::getNullNode() improved xml printing for text nodes signalmanager::waitForSignal(NULL) works as expected now updated charstring::httpEscape not to escape legal symbols added flush() method to stdio classes added detection and support for vsnprintf_s fixed serviceentry, protocolentry and rpcentry on windows updated *entry classes for NULL and uninitialization safety implemented filesystem::initialize(fd) for Windows updated filesystem::initialize() with NULL and -1 to behave in predictable ways now, updated documentation for them too abstracted _get_osfhandle calls and added an invalid parameter callback updated filedescriptor to use bit fields for all of its flags implemented file::changeOwner() for windows removed xattrs stuff removed SSL-related ifdef's from headers and implemented degenerate SSL routines for when SSL isn't supported timezone conversion works on windows now refactored bytebuffer and stringbuffer to be extent-based fixed a subtle stringbuffer with initialcontents bug refactored stringbuffer to use bytebuffer::write/appendFormatted directly instead of charstring::parseNumber implemented dynamicarray and staticarray classes refactored build process to use nmake and be compatible with many different versions of MS Visual Studio updated vsnprintf_s calls for platforms where it's not defined added configure test for bool and true/false and definitions for platforms that don't define them updated timed semaphore waits - if seconds or nanoseconds are negative then the timed wait acts like an un-timed wait added support for getsockopt with size_t optlen parameter fixed strncasecmp on windows when str2 is longer than str1 xmlsax uses memorymap on Windows now fixed file::lockFile() and file::unlockFile() on Windows fixed charstring::printf on Solaris 2.5.1 fixed datetime::getSystemDateAndTime() for Windows without 64-bit integers fixed potential double-CloseHandle in thread class 0.49: Full changelog follows: combined passswdentry and shadowentry classes into userentry class updated file::sync() to use FlushFileBuffers directly implemented sys::sync(), reboot(), halt() and shutdown() for windows implemented various sys::getXXX() methods for windows added "detached" option to process::spawn() crash-related methods in process class catch SIGABRT, SIGFPE, SIGILL, SIGBUS, SIGIOT, SIGEMT and SIGSYS in addition to SIGSEGV now shutdown-related methods in process class catch SIGQUIT and SIGHUP in addition to SIGINT and SIGTERM now on windows, signal classes now support catching, sending/raising SIGABRT, SIGFPE, SIGILL, SIGINT, SIGSEGV and SIGTERM and sending/raising SIGKILL disabled threads outright on OSR5 fixed threads detection for solaris 2.6 codetree bails properly at end of string now fixed a break-related condition that could cause codetree to loop indefinitely added support for a beginning-of-line character to codetree added support for recursive breaks to codetree made charstring::compareIgnoringCase null-safe for platforms that don't have str(n)casecmp improved Windows support in signal classes -Wno-overloaded-virtual is now set when clang is used fixed some subtle kqueue-related bugs added sys/byteorder.h and htonll/ntohll for solaris 11 fixed endian-detection macros for solaris 10 and older added support for SIGLARM and signalmanager::alarm() on windows improved windows implementation of semaphoreset added sys::signalsInterruptSystemCalls() added process::supportsFork()
Bump rudiments bl3 depends. databases/sqlrelay is the only consumer and expects the latest rudiments release every time updated, anyway.
Recursive PKGREVISION bump for OpenSSL API version bump.
Fix build with -Woverloaded-virtual. Add missing openssl & pcre dependencies. Bump PKGREVISION.
Simply and speed up buildlink3.mk files and processing. This changes the buildlink3.mk files to use an include guard for the recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS, BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of enter/exit marker, which can be used to reconstruct the tree and to determine first level includes. Avoiding := for large variables (BUILDLINK_ORDER) speeds up parse time as += has linear complexity. The include guard reduces system time by avoiding reading files over and over again. For complex packages this reduces both %user and %sys time to half of the former time.
Change the format of BUILDLINK_ORDER to contain depth information as well, and add a new helper target and script, "show-buildlink3", that outputs a listing of the buildlink3.mk files included as well as the depth at which they are included. For example, "make show-buildlink3" in fonts/Xft2 displays: zlib fontconfig iconv zlib freetype2 expat freetype2 Xrender renderproto
Track information in a new variable BUILDLINK_ORDER that informs us of the order in which buildlink3.mk files are (recursively) included by a package Makefile.
Over 1200 files touched but no revisions bumped :) RECOMMENDED is removed. It becomes ABI_DEPENDS. BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo. BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo. BUILDLINK_DEPENDS does not change. IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS which defaults to "yes". Added to obsolete.mk checking for IGNORE_RECOMMENDED. I did not manually go through and fix any aesthetic tab/spacing issues. I have tested the above patch on DragonFly building and packaging subversion and pkglint and their many dependencies. I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I have used IGNORE_RECOMMENDED for a long time). I have been an active user of IGNORE_RECOMMENDED since it was available. As suggested, I removed the documentation sentences suggesting bumping for "security" issues. As discussed on tech-pkg. I will commit to revbump, pkglint, pkg_install, createbuildlink separately. Note that if you use wip, it will fail! I will commit to pkgsrc-wip later (within day).
Updated rudiments to 0.29. Changes since 0.28.2: added check for whether SSL_read/write takes void * or char * parameter added _XOPEN_SOURCE to filedescriptorincludes.h for sys/socket for irix added collapse argument to charstring::split added configure test for -Wall switched lots of: char a[charstring::length(b)]; to: char *a=new char[charstring::length(b)]; ... delete[] a; to improve compiler compatibility removed #ifdef __GNUC__ around static variable definitions, I'll add #ifndefs for compilers that don't allow them (like SCO's) if necessary added -D__EXTENSIONS__ to CPPFLAGS added charstring::escape/unescape defaulted zeropadding to 1 rather than 0, I'm not sure if it's a bug in glibc or not, but printf("%0*lld\n",0,(int64_t)0); prints nothing rather than 0, but printf("%0*ld\n",0,(int32_t)0); prints 0. Using 1 instead of 0 for the number of 0's works in all cases. solaris's strchr/strrchr return const char *, so I made charstring::findFirst/findLast return const char * use snprintf's rather than sprintf's now uses fchmod/fchown rather than chmod/chown now made envelope classes out of all classes added a configure test for ftok that takes a char * argument switched a bunch of AC_TRY_LINK's to AC_TRY_COMPILE's in configure script configure script does less work looking for getpwnam_r and cousins now if pthread libs can't be found, configure also tries just plain -pthread added #ifdefs for individual POSIX_FADV_* and MADV_* macros in configure script, for cygwin, tests for w32api files and functions are omitted configure tests for strtoll/strtoull now configure tests for caddr_t types for all mmap-related functions individually now unsupported memorymap methods return false now rather than not existing added -pthread when compiling as well as linking fixed a time-remaining-related bug in snooze class fixed a bug where the date/time string buffer could easily be overrun
Recursive revision bump / recommended bump for gettext ABI change.
Libtool fix for PR pkg/26633, and other issues. Update libtool to 1.5.10 in the process. (More information on tech-pkg.) Bump PKGREVISION and BUILDLINK_DEPENDS of all packages using libtool and installing .la files. Bump PKGREVISION (only) of all packages depending directly on the above via a buildlink3 include.
bl3ify