The actual fix as been done by "pkglint -F */*/buildlink3.mk", and was
reviewed manually.
There are some .include lines that still are indented with zero spaces
although the surrounding .if is indented. This is existing practice.
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.
This library was forked from CMS Sieve, it had existed here before.
Changes from fork:
libSieve 2.2.5
--------------
- Allowed CFLAGS to pass through Makefile.am
(thanks to Bernard Johnson).
- Use # instead of __STRING for assertion stringification.
- Fixed off-by-one when reallocing space for repeated headers
(thanks to Petri Laine).
libSieve 2.2.4
--------------
- Improved several test scripts.
- Fixed a memory leak in header parsing.
- Fixed a memory leak in comparator lookup.
- Accepted patch from Steffen Schuetz to respect :from in vacation action.
libSieve 2.2.3
--------------
- Numeric relational comparators were backwards.
libSieve 2.2.2
--------------
- Added more test scripts.
- Added support for RFC 3431 Relational comparators.
- Fixed segfault when parsing group syntax with empty address list.
libSieve 2.2.1
--------------
- Removed accidental dependency on Check.
- Added exception handling system.
- Added test runner scripts to sv_test.
libSieve 2.2.0
--------------
- Updated top-level README.
- Fixed address test not working.
- Fixed innocuous yet annoying GCC 4 warnings.
libSieve 2.1.13
---------------
- Fixed capabilities missingspaces.
- Fixed alloca.h in vasnprintf for FreeBSD.
libSieve 2.1.12
---------------
- Fixed namespace issue with vasnprintf.
libSieve 2.1.11
---------------
- Minor fixes to build with flex 2.5.33.
- Updated to Vacation draft 6.
- Updated to imap4flags.
- Dropped support for imapflags.
- Added callback for subaddress rather than
using a hardcoded user+mailbox format.
- Added a callback for debug messages.
- Regex is always built in now.
- Fixed multiline "text: string ." blocks.
libSieve 2.1.10
--------------
- Fixed sieve2_listextensions.
- Fixed segfault when client returns null
pointers from the getenvelope callback.
- Improved handling of extension require's.
- Fixed segfault when parsing zero length address.
libSieve 2.1.9
--------------
- Fixed subaddress, getenvelope and vacation.
- Added additional debugging messages.
- Added new and updated draft rfc's.
libSieve 2.1.8
--------------
- Created a testsuite of scripts and messages
to exercise RFC and Draft comformance.
- Fixed a memory allocation issue that prevented
the library from being used again after sieve2_free
had been called.
libSieve 2.1.7
--------------
- Rewrote the API again. I finally like it!
- Settled on the LGPL for all of my new code.
- Replaced the RSA MD5 implementation with
a public domain version.
- Documentation updated for the new API.
libSieve 2.1.6
--------------
- Added a set of error-retrieval functions.
libSieve 2.1.5
--------------
(formerly libsieve 2.2.0_pre3)
- CFLAGS now includes -Wall and compiles very
cleanly. Messages from lex/yacc are benign.
- Namespace cleanups: internal global functions
prefixed with "libsieve_" for consistency.
- Local regex library, borrowed from GNU glibc
2.3.2. Used under LGPL license version 2.1.
- Compiles under Win32 with Visual C++, with
many thanks to Brandon Knitter.
libSieve 2.1.4
--------------
(formerly libsieve 2.2.0_pre1)
- Sieve 2 API has begun. More changes should
be expected during the 2.1 series.
- All later-CMU code removed and/or replaced;
original licensing is now entirely old-CMU
style and augmented by the GNU GPL as it is
placed on all new code and applies to the
distribution as a whole from here forward.
- "Poor man's parsers" for RFC 2/822 addresses
and message headers replaced with lex/yacc.
- Extensive Valgrinding performed to identify
memory leaks; no known leaks remain.
- Many more changes, amounting to perhaps a
70% rewrite of all code.
libSieve 2.1.3
--------------
- Accepted patches from Timo Sirainen:
- Added function xstrconcat
- Changed strdup to strndup
- Changed strcpy to xstrcpy
- Changed uglies to xstrconcat
- Rebuild .y and .l in Makefile.am
- Changed int to size_t where applicable
- Added explicit casting where applicable
- Accepted patches from Oliver Tappe:
- Fixed examples for the web site
- Removed useless headers
- Now builds on BeOS
- Cleaned up lots of K&R style function declarations
libSieve 2.1.2
--------------
- Changed `timestamp` to $timestamp in configure scripts.
- Added missing autoconf and libtool scripts.
- Fixed a typo in index.html
libSieve 2.1.1
--------------
- First public release of the libSieve distribution.
- com_err library removed.
- Conversion to GNU autotools for the build process.
libSieve 2.1.0
--------------
- Forked from CMU Sieve 2.1.
- SourceForge project site and a new web site and CVS tree and prepared.
- Dependencies on libCyrus trimmed to a bare minimum.