[add very basic cmake infrastructure me@mornfall.net**20070731211616] [some prototyping and thinking on data sources me@mornfall.net**20070803095920] [use correct header name me@mornfall.net**20070803100100] [rudimentary apt-pkg binding me@mornfall.net**20070803110443] [rudimentary testing of the stuff me@mornfall.net**20070803110517] [somewhat more sofisticated testing me@mornfall.net**20070803111548] [oops :-) me@mornfall.net**20070803111615] [move assert stuff into test.h me@mornfall.net**20070803111858] [a much more interesting test harness... me@mornfall.net**20070803145538] [fix cmakelists me@mornfall.net**20070803174151] [implement, fix and test more features me@mornfall.net**20070803174250 Includes package and version list, which also gives us list< Property >() for free. Available properties are still scarce. Includes some API fixes to List classes. ] [a bunch of fixes to apt.h me@mornfall.net**20070803200422] [fix test.h me@mornfall.net**20070803200525] [fix synchronisation of runner processes me@mornfall.net**20070803200549] [a little refactoring on test-main.h me@mornfall.net**20070803201827] [add list::filter( list, predicate ) and test it me@mornfall.net**20070803205332] [seekToValid -> seek in InternalList's me@mornfall.net**20070803205432] [make apt.h/sources.h lists play with filter me@mornfall.net**20070803205448] [fix ok/failed test counting me@mornfall.net**20070803205527] [check that version's package is indeed a package me@mornfall.net**20070804064136] [more list testing me@mornfall.net**20070804064200] [print overall number of tests when done me@mornfall.net**20070804064213] [eliminate some warnings me@mornfall.net**20070804064254] [make cmake happy me@mornfall.net**20070804070456] [make cmake more happy (and me this time, too) me@mornfall.net**20070804070937] [further fixes to the test runner me@mornfall.net**20070804114638] [build libept.a, some fixes to CMakeLists.txt me@mornfall.net**20070804114814] [cosmetic change to test runner me@mornfall.net**20070804114914] [actually add genrunner.pl to the repo... me@mornfall.net**20070804115101] [add support for test environment, use it me@mornfall.net**20070804115132] [import some of the less problematic bits from old libept me@mornfall.net**20070804115303] [don't forget #include guards... me@mornfall.net**20070804115333] [make AptDatabase more friendly, support depcache me@mornfall.net**20070804115350] [the template specialisations need to be declared inline me@mornfall.net**20070804115803] [more fixes to the test runner me@mornfall.net**20070804161604] [add Token::hasVersion() me@mornfall.net**20070804161633] [add AptDatabase::{candidateVersion,lookupPackage,lookupVersion}(Token) me@mornfall.net**20070804161641] [move AptDatabase to AptTestEnvironment me@mornfall.net**20070804161806] [work on ept::record stuff + split apt.h me@mornfall.net**20070804161849 Implement a chunk of ept::record, using RecordParser from Enrico Zini. Split chunks of code into apt/{package,version.record}.h. ] [more fields in record::Parser work now me@mornfall.net**20070804163317] [implement record::Source::listInternal, fix bugs me@mornfall.net**20070804165146] [drop outdated comment me@mornfall.net**20070804182823] [fix double definitions me@mornfall.net**20070805101630] [fix FilteredList::empty() me@mornfall.net**20070805101702] [initial implementation of ept::xapian, based on enrico's me@mornfall.net**20070805101728] [add AssertFailure that asserts there's an assertion failure within a block me@mornfall.net**20070805123413] [make it possible to have "dummy" empty xapian::List me@mornfall.net**20070805123521] [add list::sort() + ListIterator for STL me@mornfall.net**20070805123711] [use chunkSize of 20 in xapian::List me@mornfall.net**20070805123848] [implement list::take( int, list ) me@mornfall.net**20070805125806] [add missing xapian::List::Type me@mornfall.net**20070805125821] [implement rudimentary ept-search me@mornfall.net**20070805125832] [implement more efficient record::Source::list() me@mornfall.net**20070805135045] [ept-cat.cpp... the classic me@mornfall.net**20070805135140] [don't use std::pair in ComposedList, since it forces evaluation me@mornfall.net**20070805143607] [fix ept-cat (perfroms as it should now) me@mornfall.net**20070805143653] [looks more correct to me this way.... me@mornfall.net**20070805152749] [add summary mode to ept-cat me@mornfall.net**20070805152801] [improve Token interface (const, comparison, ostream <<) me@mornfall.net**20070806123340] [implement assert_neq me@mornfall.net**20070806123441] [implement AptDatabase::validate( Token ) me@mornfall.net**20070806123510] [test for AptDatabase::validate( Token ) me@mornfall.net**20070806123526] [fix uninitialized variable me@mornfall.net**20070806132132] [split ept into ept/core and ept/ me@mornfall.net**20070806132142 Under ept/core resides a semi-unstable, C++-centric API, designed for advanced users (like adept). The rest of ept/ should have a more simplistic, shlib- and scripting- friendly API. Nothing of ept::core:: should be ever exposed in headers under ept/ (but should be useful in ept/*.cpp). ] [add token.h, missed in the core split me@mornfall.net**20070807164218] [add a workaround for xapian me@mornfall.net**20070807164317 for some reason, xapian makes Enquiry a non-copyable object, which interferes with xapian::List from ept::core. I haven't found a reason why it should be uncopiable, so we work around for now. ] [fix generation of test-generated.cpp me@mornfall.net**20070807164627] [add a testing script (to be used as repo test later) me@mornfall.net**20070807164718] [add missing include in xapian.test.h me@mornfall.net**20070807165246] [enclose xapian.test.h in anon-namespace me@mornfall.net**20070807165303] [implement list::foreach( list, function ) me@mornfall.net**20070807165328] [make ept-{cat,search} compile after the core split me@mornfall.net**20070807165827] [set the repository test me@mornfall.net**20070807165859] [make the repotest stricter (require all compiles) me@mornfall.net**20070807165920] [add list::foreach( list, function ) me@mornfall.net**20070807170132] [wibble: add wibble/ directory me@mornfall.net**20071011125326] [wibble: add Makefile.am me@mornfall.net**20071011125703] [wibble: bootstrap wibble/ from tagcoll me@mornfall.net**20071011130047] [Added exception handling functions enrico@enricozini.org**20060315192555] [Added exception tests and fixed the bugs that came out of them enrico@enricozini.org**20060315194346] [Updated copyright lines enrico@enricozini.org**20060315224011] [Put explicit wibble::test namespace inside macro invocations enrico@enricozini.org**20060319115301] [Added commandline code from Tagcoll, split it up a bit, adapted it to wibble, added some extra optional parameters in the constructors enrico@enricozini.org**20060319121135] [Allow to add commandline parsing components at any time by rebuilding the parse tables at the start of every parsing run enrico@enricozini.org**20060319134919] [Implemented shortcuts to create the commandline parser enrico@enricozini.org**20060319141158] [Added comments for the new options enrico@enricozini.org**20060319142331] [Harmonised CommandParser interface to look a bit like the interface of the rest of the components enrico@enricozini.org**20060319143639] [Refactored the code and allow CommandParser to have global options and optiogroups enrico@enricozini.org**20060320145500] [Merged OptionParser and CommandParser into a nestable Parser enrico@enricozini.org**20060320161250] [Added MemoryManager to keep track of the various commandline parser components and deallocate them automatically enrico@enricozini.org**20060320165649] [Renamed Parser to Engine, and gave MainParser the role of a proper Parser, and the possibility of handling some actions by itself. Implemented special parsers with built-in commandline help and manpage generation enrico@enricozini.org**20060320173504] [Added StandardParserWithMandatoryCommand implementing all the help machinery for a multi-command commandline tool enrico@enricozini.org**20060320175314] [Allow exception::Consistency to hold a smarter error message enrico@enricozini.org**20060320181702] [wibble: factor help output into a method in commandline parser me@mornfall.net**20071011130412] [added range.{h,cpp} from apt-front/utils me@mornfall.net**20060322175747] [add multitype.h from apt-front/utis me@mornfall.net**20060322175834] [wibble: bootstrap tests/ me@mornfall.net**20071011130817] [fix (hopefully) Makefile.am to work with wibble/tests instead of tests me@mornfall.net**20060322180039] [fix includes and namespaces for wibble me@mornfall.net**20060322181444] [copy cast.h from apt-front me@mornfall.net**20060322181532] [import consumer.{h,cpp} from apt-front me@mornfall.net**20060322181550] [add shared.h from apt-front me@mornfall.net**20060322181633] [private copy of tut in wibble::tut me@mornfall.net**20060322212100] [port a bunch of tests to wibble::tut me@mornfall.net**20060322212156] [2 more tests work again me@mornfall.net**20060322212446] [move over rest of tests to use wibble::tut me@mornfall.net**20060323213447] [Automated memory management enrico@enricozini.org**20060324004458 I integrated the memorymanager into the Parser. To ensure that all generated components are properly memory managed, I set their constructors as private. I had to setup special wrapper templates to redefine the methods as public, for the tests to be able to instantiate the classes they try to test. In order to remove a complicated dependency chain where all classes would have to know about MemoryManager and MemoryManager would have to know about all the classes, I created a common 'Component' base class, so that MemoryManager can know how to delete the various components it is passed. The only inconvenience I can see so far is the use of -> because many of the things are pointer. I guess that the only way to avoid that is to switch to Ruby :-/ Anyway, this commandline parser is approaching perfection, please nitpick as much as possible, I can't wait to use it in all my applications! :) ] [resolve conflict in pull from enrico me@mornfall.net**20060324193021] [fix mismerged code me@mornfall.net**20060325174628] [rename the MultiType clases to Morph and Amorph me@mornfall.net**20060325174717 Split the MultiType* classes into Morph* classes (the implementations) and Amoprh (the envelope). Rewrote the documentation. Hopefully much clearer now. ] [move wibble::Maybe to won header + documentation me@mornfall.net**20060325174918] [#include amorph.h not multitype.h me@mornfall.net**20060325190925] [swap ensure_equals template parameters, name them Actual, Expected me@mornfall.net**20060325190956] [add ' around expected/actual to be able to distinguish boundaries more exactly me@mornfall.net**20060325191031] [add exception::BadCast{,Ext} me@mornfall.net**20060325192649] [use exception::BadCast instead of std::bad_cast me@mornfall.net**20060325192732] [comment out the heap/in-place debug output me@mornfall.net**20060325192758] [fix typo in documentation me@mornfall.net**20060325192817] [use exception::BadCast in downcast, put into namespace wibble me@mornfall.net**20060325192841] [untangle MorphBase into MorphInterface + implementation interface me@mornfall.net**20060402111317 Untangled the MorphBase class, which was previously contained within the implementation interface via inheritance. Now there is MorphInterface, which is direct base of MorphImpl and implementation interface which is also direct base of MorphImpl. However, the two interfaces are not in inheritance relation like they used to be. This simplifies the case of multiple inheritance for morph implementations -- now a single class can be part of multiple amorph sets. ] [adapt to amorph changes, make Consumer inherit ConsumerImpl me@mornfall.net**20060402123252] [reorganisation of range classes me@mornfall.net**20060402123449 - adapt to Amorph changes (separated interfaces) - make Range inherit RangeImpl instead of having own copies of most methods - add SortedRange and SortedVectorRange, both also implementing Range interface - this makes it possible to have sortedness of a sequence part of its type -- static type safety wrt sorting requirements on inputs - the above is now used instead of everyone needing sorted sequence on input calling sorted() ] [intersectionRange(...) should not call sorted() by itself me@mornfall.net**20060402181830] [drop sorted_impl() for now (unused, not needed) me@mornfall.net**20060402181902] [add forgotten CMakeLists.txt files me@mornfall.net**20060402190818] [add forgotten config.h.in me@mornfall.net**20060402190948] [implement &, |, &= and |= for std::set, activatation: using namespace wibble::operators me@mornfall.net**20060408121231] [add operators.cpp to sources in CMakeLists.txt me@mornfall.net**20060408121322] [update amorph documentation me@mornfall.net**20060408121348] [IsContainer not used -> comment out me@mornfall.net**20060408121433] [set difference operators + tests me@mornfall.net**20060408131918] [simplify the comparable interface implementation in Morphs me@mornfall.net**20060409080513] [reduce sorting traits to sorted/unsorted instead of sorted/unsortable/sortable me@mornfall.net**20060409080551] [use the new comparable implementation in Morph me@mornfall.net**20060409080638] [move the sorting into SortedVectorRange ctor me@mornfall.net**20060409093907] [a try on sharedptr generalisation me@mornfall.net**20060415164447] [IsType helper template to exploit sfinae for function template specialisation me@mornfall.net**20060419130410] [better consumer( foo ) functionality me@mornfall.net**20060419130610] [more consumer tests on stl containers me@mornfall.net**20060419130809] [generic operator+ for iterator + integer -- functional version of std::advance me@mornfall.net**20060419130906] [get rid of Sorted*Range -- doesn't really make any sense (for now?) me@mornfall.net**20060419134546] [separate Iterator amorph from Range me@mornfall.net**20060419134703] [split out iterator.h from range.h me@mornfall.net**20060419142516] [improve the morph->amorph casting/construction implementation me@mornfall.net**20060419142624] [adapt to changed morph->amorph casting changes me@mornfall.net**20060419142810] [adapt to morph->amorph casting changes me@mornfall.net**20060419142846] [drop SharedVector, use Shared< std::vector< T > > instead me@mornfall.net**20060419142924] [purge old consumer() impls, clarify which does what me@mornfall.net**20060419143155] [add mixin::Comparable to wibble me@mornfall.net**20060419143631] [move begin() from Iterator to Range (not much sense for Iterator) me@mornfall.net**20060419151027] [link with libgc (Boehm GC) me@mornfall.net**20060421100547] [drop refcounting in shared.h in favour of mark-and-sweep GC me@mornfall.net**20060421100617] [implement separate RangeIterator me@mornfall.net**20060421100704 This means that begin()/end() in Range return a different type than itself. This also means you can't use (range, range.end()) as a valid iterator pair for STL. Neither can you increment range to advance the beginning. The advance() function is for now public, but may be made protected as implemnetation detail later. Same for setToEnd(). Probably tail() and head() interface will be implemented instead. So range.advance() would become range = range.tail(); Also (may) need a replacement for end() that would give an empty range (begin() == end()). Not sure what for though. ] [replace VectorRange with BackedRange me@mornfall.net**20060421101407 Dropping VectorRange is a big relief, it was a very strange and inconsistent beast indeed. This is now replaced by following: - consumer() works on (most?) STL containers straightforwardly - we use GC so you can allocate an STL container on heap using new (GC) container instead of using refcounted whatever - you can use backedRange( container ) which keeps a reference to the container, so if it was allocated on heap and GCable, it won't be freed until the range exists; however note that when you add elements to container, the range won't change as it keeps begin/end iterators this also means you shouldn't do anything to the container that would invalidate those; more about this should go into comments in code ] [fix most of range tests and comment out the rest me@mornfall.net**20060421102010] [fix consumer.{h,cpp} to work with current range changes me@mornfall.net**20060421102050] [drop backedRange, generalize range me@mornfall.net**20060421105624] [some documentation for range me@mornfall.net**20060421105723] [mixin::EqualityComparable to add != when == is present me@mornfall.net**20060422220654] [self->comparableSelf to avoid ambiguities me@mornfall.net**20060425085816] [allow dynamic allocation of Morphs (need non-placement new too) me@mornfall.net**20060422232523] [use system tut, use a hack to get it under wibble:: namespace me@mornfall.net**20060422232607] [drop our own tut copy me@mornfall.net**20060422232719] [fix borked self handling me@mornfall.net**20060422232807] [rename self() to comparableSelf() in comparable mixins to avoid ambiguities me@mornfall.net**20060422232857] [don't implement operator != in MorphEqualityComparable to avoid ambiguities me@mornfall.net**20060422232927] [add SharedVector that's by default GCable and uses GCable STL allocation me@mornfall.net**20060422233003] [compile me@mornfall.net**20060422233051] [_APTFRONT_CAST -> WIBBLE_CAST_H me@mornfall.net**20060422233105] [fix up mixins me@mornfall.net**20060425090324] [Renamed commandline::Component in commandline::Managed enrico@enricozini.org**20060327131315] [add wibble::Fallback for default/fallback argument handlinrg me@mornfall.net**20060425090902] [add missing consts me@mornfall.net**20060425090950] [drop some tut remnants me@mornfall.net**20060425091015] [rename config.h.in to config.h.cmake-in for cmake builds me@mornfall.net**20060430200536] [Tests can now find libraries and headers after moving the test directory enrico@enricozini.org**20060430195739] [make install works with cmake now, too me@mornfall.net**20060430202404] [install all the .h files me@mornfall.net**20060430202813] [Added various missing include files to the list of headers to install enrico@enricozini.org**20060430211957] [Also install test headers enrico@enricozini.org**20060430230907] [Split out ValOutOfRange::desc() in a .tcc file enrico@enricozini.org**20060501125540] [only one (static) build for now me@mornfall.net**20060501145557] [always define WIBBLE_COMPILE_TESTSUITE for now me@mornfall.net**20060501150020] [wibble: use extract_syms.sh so we can avoid libtool me@mornfall.net**20071011131538] [rather extensive amorph+range refactoring me@mornfall.net**20060503110358] [remove the Morph< ... > wrapping hack, don't need default ctor actually me@mornfall.net**20060503123018] [detangle range interface from iterator interface, new method names me@mornfall.net**20060503123125 advance() -> removeFirst() setToEnd() -> setToEmpty() Add head(), tail() implemented in terms of these two. ] [Added singleton and empty containers enrico@enricozini.org**20060501210716] [Use unsigned constants to avoid compiler warnings enrico@enricozini.org**20060501211932] [Link tests with -lgc enrico@enricozini.org**20060501212024] [Added Empty and Singleton special-case containers enrico@enricozini.org**20060501212043] [Added value_type typedef to Singleton and Empty enrico@enricozini.org**20060501215436] [Added const_iterators to singleton and empty enrico@enricozini.org**20060501225250] [Added more missing bits to singleton and empty enrico@enricozini.org**20060501230500] [Fixed Empty tests enrico@enricozini.org**20060501233340] [Added | and |= with item instead of set enrico@enricozini.org**20060501233354] [Added operator-(set, item) enrico@enricozini.org**20060502005736] [add operator-> to RangeIterator me@mornfall.net**20060503174927] [Range constructor is typesafe now (parameter only matches convertible types) me@mornfall.net**20060503174950] [rename implInterface() in Amorph to implementation() me@mornfall.net**20060503175104] [make Amorph::is<>() work again me@mornfall.net**20060503175158] [fix GeneratedRange comparison operator me@mornfall.net**20060503175243] [Added BasicOutputIterator mixin enrico@enricozini.org**20060505080618] [Added static_casts in OutputIterator mixin enrico@enricozini.org**20060505090102] [add isVoid() and wrapped() to Amorph me@mornfall.net**20060511190130] [Added more operators to interoperate std::set and singleton and empty enrico@enricozini.org**20060507212948] [Added empty() methods to the two degenerate collections enrico@enricozini.org**20060512175738] [Fixed System::desc() to use strerror_r in the other right way enrico@enricozini.org**20060512175804] [Mark the use of strerror_r enrico@enricozini.org**20060512175936] [Fixed commandline parser to resolve some ambiguity on the create/add behaviour enrico@enricozini.org**20060519223835] [Silenced a couple of compile-time warnings enrico@enricozini.org**20060519223945] [IntOption now actually works, and added a test suite to ensure it enrico@enricozini.org**20060521174928] [make the Singleton ctor explicit me@mornfall.net**20060617072647] [make swig happier me@mornfall.net**20060617073006] [add current() to RangeIterator me@mornfall.net**20060617073058] [add a default ctor to FilteredRange me@mornfall.net**20060617073118] [get rid of compiler warning me@mornfall.net**20060617073142] [support downcasting to a (virtual) base of morph-wrapped type (needs Boost.TypeTraits) me@mornfall.net**20060617073215] [disable gc for now (leak mem instead) -- interferes with threads and valgrind me@mornfall.net**20060617124331] [use SharedVector instead of GC directly, drop FilteredRange() again me@mornfall.net**20060617124640] [adjust the (A)Morph inheritance lattice and use static_casts where possible (optimisation) me@mornfall.net**20060617124808] [better comparison of morphs me@mornfall.net**20060617133655] [handle void returns in Amorph::ifType me@mornfall.net**20060623130133] [add operator (set & item) me@mornfall.net**20060630143120] [add operators set <= set and item <= set for inclusion testing me@mornfall.net**20060630143144] [compile with -fPIC me@mornfall.net**20060630144828] [fix installation target for cmake me@mornfall.net**20060630145718] [don't require executable bit on extract_syms.sh me@mornfall.net**20060712124353] [wibble: make it possible to build with or without GC me@mornfall.net**20071011132210] [don't be using namespace std in .tcc files, breaks compilation me@mornfall.net**20060716132629] [test operator<= with empty sets me@mornfall.net**20060716132658] [wibble: install config.h me@mornfall.net**20071011132349] [a slightly nasty hack to make gccxml parsing possible without source changes me@mornfall.net**20060803205646] [Added a constructor for System exception to take a error value from a different source than errno enrico@enricozini.org**20060815113228] [Added tests for the wibble mixins (OutputIterator tests fail) enrico@enricozini.org**20060815113444] [Fixed Comparable tests enrico@enricozini.org**20060815114607] [OutputIterator can now be used with std::copy enrico@enricozini.org**20060815114623] [Reduced the amount of things included for the OutputIterator mixin enrico@enricozini.org**20060815120702] [wibble: avoid including config.h in shared.h me@mornfall.net**20071011132529] [Removed old commented out config.h enrico@enricozini.org**20060815171837] [Explicitly install shared.h, which now isn't automatically included in the glob. enrico@enricozini.org**20060815172825] [wibble: bootstrap .pc/.m4 from infrastructure me@mornfall.net**20071011133038] [Use unsigned int constants to appease the God of Compiler Warnings enrico@enricozini.org**20060816104318] [Removed the wibble::tut hack enrico@enricozini.org**20060816112440] [Removed obsolete comment enrico@enricozini.org**20060816112745] [Add linker flags for libgc to pkg-config file if support for gc is enabled enrico@enricozini.org**20060817223735] [Split tests from the rest of the .cpp code, so that they don't go in the library enrico@enricozini.org**20060817223803] [Applied AMD64 build patch by Andreas Jochens enrico@enricozini.org**20060824214328] [wibble: enable choice between gc and non-gc variants me@mornfall.net**20071011133439] [Removed template from .cpp that is already in the .tcc enrico@enricozini.org**20060825151900] [Rewritten some operators not to be very very very very slow enrico@enricozini.org**20060831143242] [Fixed in-place intersection enrico@enricozini.org**20060901143319] [Added shortcuts to make it more convenient to create test sets enrico@enricozini.org**20060901143334] [Added test to catch the previous set intersection problem enrico@enricozini.org**20060901143418] [Added regexp functions enrico@enricozini.org**20060915125130] [Added refcounted buffer support enrico@enricozini.org**20060915132201] [Added missing libwibble-gc.in (just for automake) enrico@enricozini.org**20060915135201] [Added buffer extension to easily decapsylate stacked network packets enrico@enricozini.org**20060915135244] [Added pthread mutexes enrico@enricozini.org**20060915140908] [Added thread functions enrico@enricozini.org**20060915151036] [Added wrappers about various libc functions to manage the current process enrico@enricozini.org**20060915160909] [Added functions to spawn and manage child processes enrico@enricozini.org**20060915163138] [Added infrastructure to run external commands enrico@enricozini.org**20060915173305] [Added some filesystem infrastructure enrico@enricozini.org**20060915181740] [Install the wibble::sys headers properly enrico@enricozini.org**20060918102228] [Added regexp-based tokenizer enrico@enricozini.org**20060918102303] [Removed a stray and dangerous throw() enrico@enricozini.org**20060923124044] [Fixed condition wait with timeout enrico@enricozini.org**20060923140543] [wibble: use add instead of create methods for the stock commandline parsers: this way they actually work me@mornfall.net**20071011133749] [Build commandline-demo and fixed it to use add instead of create enrico@enricozini.org**20060929183700] [Fixed manpage generation enrico@enricozini.org**20060929184837] [Include the config header properly enrico@enricozini.org**20060929194355] [Don't require a VERSION symbol for a test enrico@enricozini.org**20060929194857] [return size_t instead of unsigned int like all the other STL containers do enrico@enricozini.org**20060929204733] [Include cstddef to get size_t enrico@enricozini.org**20060929211318] [resolve conflict me@mornfall.net**20060915170745] [wibble: empty and singleton now work with STL algorithms me@mornfall.net**20071011184451] [wibble: added wibble::sys::fs::{mkdirIfMissing,mkpath,mkFilePath} me@mornfall.net**20071011184749] [resolve conflicts me@mornfall.net**20061030121139] [Started building an ostream to send data to the system log enrico@enricozini.org**20061228150035] [Implement the sender as a separate class, to allow having different senders. enrico@enricozini.org**20061230081932] [Test the outcomes of the logging, don't dump them anymore enrico@enricozini.org**20061230082819] [Split the logstream prototype into proper files enrico@enricozini.org**20061230121818] [Added Null log sender enrico@enricozini.org**20061230124107] [Added File log sender enrico@enricozini.org**20061230125254] [Added syslog log sender enrico@enricozini.org**20061230130407] [Added ostream log method enrico@enricozini.org**20061230131741] [Applied include patches from tbm enrico@enricozini.org**20070521124342] [Added a way to see if an option was set or not enrico@enricozini.org**20070521143750] [Added a text section enrico@enricozini.org**20070521170303 Added a text section where to put text-processing functions, and moved regexp into it. Split out the word wrapper from the documentation generator and added it to the text section. ] [Remove include used for debugging enrico@enricozini.org**20070524091235] [wibble: moved regexp back to where it was; no reason to break API just for this me@mornfall.net**20071011185153] [workaround a buggle in help output generation me@mornfall.net**20070207212657] [add setValue to IntOption me@mornfall.net**20070214135122] [implement Mutex::trylock() me@mornfall.net**20070222101135] [implement recursive mutex me@mornfall.net**20070222101157] [allow condition wait on plain mutex too me@mornfall.net**20070222101209] [call shell to run libwibble-check (avoids problem with execute permissions) me@mornfall.net**20070506124849] [do not generate tut-syms.cpp, not needed anymore me@mornfall.net**20070506125017] [formatting me@mornfall.net**20070519091945] [whitespace me@mornfall.net**20070519092012] [drop stuff depending on GC (ie, shared.h and bits of range) me@mornfall.net**20070519092025] [wibble: added Splitter me@mornfall.net**20071011185320] [wibble: added wibble::str::* string options me@mornfall.net**20071011185457] [wibble: added missing include to fix #441562 me@mornfall.net**20071011185603] [Removed reference to removed header enrico@enricozini.org**20070917151907] [wibble: add option HAVE_TUT me@mornfall.net**20071011185722] [wibble: allow to build without tut me@mornfall.net**20071011190138] [wibble: removed dependency on libgc me@mornfall.net**20071011190249] [Use the new isSet properly when checking if should print manpages enrico@enricozini.org**20071003211306] [wibble: use BOOST_INCLUDE_PATH in CMakeLists.txt (patch by bero) me@mornfall.net**20071014115241] [Added description of the new repository layout enrico@enricozini.org**20071012120445] [wibble: edit and markdownify README.repo me@mornfall.net**20071012122106] [wibble: nitpick in README.repo me@mornfall.net**20071012122937] [wibble: add a little utility header to make SFINAE easier me@mornfall.net**20071012131131] [wibble: sfinae.h - this is wibble, not divine : - ) me@mornfall.net**20071012131227] [wibble: make Maybe a Comparable, fix const-ness me@mornfall.net**20071012134502] [wibble: add Unit to sfinae.h, use it instead of Void me@mornfall.net**20071012134531] [wibble: change Amorph to not require boost me@mornfall.net**20071012134603] [wibble: add a rudimentary test for Amorph me@mornfall.net**20071012134643] [wibble: BOOST_INCLUDE_PATH is no more me@mornfall.net**20071014134527] [wibble:Fixed the build system bits enrico@enricozini.org**20071012143309] [wibble: fix indentation in amorph.h me@mornfall.net**20071012172133] [wibble: add new test framework implementation me@mornfall.net**20071012190712] [wibble: modernize and clean up CMakeLists.txt me@mornfall.net**20071012190842] [wibble: cmake support for the new testing framework me@mornfall.net**20071012191001] [wibble: move amorph test to new framework me@mornfall.net**20071012191133] [wibble: move mixin tests to new framework me@mornfall.net**20071012191149] [wibble: test-genrunner.pl - improve parser, drop support for _TestX -> TestX typedefs me@mornfall.net**20071014052639] [wibble: _TestAmorph -> TestAmorph, Test* -> T* to avoid name clashes me@mornfall.net**20071014052724] [wibble: _TestMixin -> TestMixin me@mornfall.net**20071014052846] [wibble: test_operators -> operators.test.h me@mornfall.net**20071014052901] [wibble: link wibble-test to libwibble me@mornfall.net**20071014053704] [wibble: tests/test_buffer.cpp -> buffer.test.h me@mornfall.net**20071014053734] [wibble: test_exception.cpp -> exception.test.h me@mornfall.net**20071014055718] [wibble: test_netbuffer.cpp -> netbuffer.test.h me@mornfall.net**20071014055742] [wibble: fix copyright on operators.test.h me@mornfall.net**20071014055759] [wibble: link libwibble with pthreads me@mornfall.net**20071014062708] [wibble: test_thread.cpp -> thread.test.h me@mornfall.net**20071014062739] [wibble: test_tests.cpp -> test.test.h me@mornfall.net**20071014063150] [wibble: test_childprocess.cpp -> childprocess.test.h me@mornfall.net**20071014111519] [wibble: test_fs.cpp -> fs.test.h me@mornfall.net**20071014111544] [wibble: test_string.cpp -> string.test.h me@mornfall.net**20071014111605] [wibble: test_options.cpp -> options.test.h me@mornfall.net**20071014111623] [wibble: test_commandline_core.cpp -> commandline/core.test.h me@mornfall.net**20071014111654] [wibble: test_commandline_doc.cpp -> commandline/doc.test.h me@mornfall.net**20071014111747] [wibble: test_commandline_engine.cpp -> commandline/engine.test.h me@mornfall.net**20071014111827] [wibble: test_process.cpp -> sys/process.test.h me@mornfall.net**20071014111907] [wibble: test_singleton.cpp -> singleton.test.h me@mornfall.net**20071014111935] [wibble: test_empty.cpp -> empty.test.h me@mornfall.net**20071014112019] [wibble: test_range.cpp -> range.test.h me@mornfall.net**20071014112044] [wibble: test_consumer.cpp -> consumer.test.h me@mornfall.net**20071014112104] [wibble: test_logstream.cpp -> log.test.h me@mornfall.net**20071014112119] [wibble: test_regexp.cpp -> regexp.test.h me@mornfall.net**20071014112134] [wibble: qualify isspace reference in string.h me@mornfall.net**20071014112204] [wibble: drop empty test_commandline_parser.cpp me@mornfall.net**20071014112231] [Added example documentation for Splitter enrico@enricozini.org**20071012110858] [TAG first iteration of embeddable wibble me@mornfall.net**20071014170247] [wibble: add test.h (missed from previous test framework import) me@mornfall.net**20071014170500] [wibble: fix dependencies on -generated.cpp files me@mornfall.net**20071014185947] [wibble: fix issues with NDEBUG and testsuite me@mornfall.net**20071018152357] [wibble: disable the weirdo commandline/doc test me@mornfall.net**20071018152946] [wibble: fix typo in sfinae.h include guard me@mornfall.net**20071026153304] [wibble: use FindPerl and PERL_EXECUTABLE instead of hardcoding "perl" me@mornfall.net**20071026153904] [wibble: whitespace fix in CMakeLists.txt me@mornfall.net**20071031141935] [drop genrunner, now part of wibble me@mornfall.net**20071130092124] [wibble: only link test binaries from the generated .cpp me@mornfall.net**20071130092911] [default to internal wibble me@mornfall.net**20071130095932] [use wibble's cmake test infrastructure me@mornfall.net**20071130095940] [fix wibble_check_target invocation me@mornfall.net**20071130100130] [tests no longer have the leading underscore me@mornfall.net**20071223133017] [new version of xapian fixes the copy ctor visibility issue me@mornfall.net**20071223133122] [simplify and remove a layer of indirection me@mornfall.net**20071223133240] [fix xapian database location to match apt-xapian-index me@mornfall.net**20071223154452] [wibble: turn Tokenizer::const_iterator into a real STL iterator me@mornfall.net**20071223154531] [update header me@mornfall.net**20071223154634] [remove stale/commented-out code for xapian indexing me@mornfall.net**20071223154647] [use std::copy instead of open-coded copying loop me@mornfall.net**20071223154723] [a little voodoo to make xapian::List default-constructible me@mornfall.net**20071223154809] [remove more cruft me@mornfall.net**20071223163142] [further cleanup of xapian::Source::makePartialORQuery(...) me@mornfall.net**20071223163756] [implement convenience xapian::Source::{partialQ,q}uery methods me@mornfall.net**20071223170141] [wibble: accept underscores and digits in test names me@mornfall.net**20071225105543] [first go at importing debtags code me@mornfall.net**20071225110219] [update debtags test data to what Enrico uses me@mornfall.net**20071225112209] [wibble: more prominent test failure indicator me@mornfall.net**20071225112340] [fix data paths in DebtagsTestEnvironment me@mornfall.net**20071225112441] [re-enable the two previously failing debtags tests me@mornfall.net**20071225112603] [add include guards to debtags.test.h me@mornfall.net**20071225113256] [port and enable vocabulary tests me@mornfall.net**20071225113420] [port and enable debtags/maint tests me@mornfall.net**20071225113532] [port and enable the debtags expression tests me@mornfall.net**20071225113732] [add list::{begin,end} for easier STL iteration me@mornfall.net**20071225115015] [add a test of list usage with STL me@mornfall.net**20071225115129] [implement list::map( list, function ) me@mornfall.net**20071225180532] [wibble: allow also single test execution me@mornfall.net**20071227194758] [add AptDatabase::{installed,candidate}Version( PkgIterator ) me@mornfall.net**20071230104301] [improve safety in AptDatabase::lookupVersion{,File} me@mornfall.net**20071230104520] [fix record::Source::getRecord(...) safety me@mornfall.net**20071230104652 VersionFileIterator::end() gives a segfault for default-constructed iterator instead of true. I'd call that a bug on libapt-pkg part, but it's fine to check that Cache() is not null. ] [remove a little cruft from xapian::Source me@mornfall.net**20071230105210] [add package state query machinery me@mornfall.net**20071230105321] [add a test for record::Source safety with nonexistent records me@mornfall.net**20071230105438 The code used to crash when handed an invalid token, which is not acceptable. This test should catch that. ] [add a qualityCutoff parameter to xapian::Source::query(...) me@mornfall.net**20071230105642] [do not forget to link in -lz (required by tagcoll2) me@mornfall.net**20071230105908] [add {Installed,Candidate}Version properties to package::Source me@mornfall.net**20071230131650] [add a link path workaround for adept builds me@mornfall.net**20080102145326] [implement package::Source::revertStates() me@mornfall.net**20080103143749] [add a more useful representation of state alterations me@mornfall.net**20080103144821 (at least for interactive use, like in Adept); consists of ept::core::package::Action{,List} ] [Have token() in xapian::List as well (a little hackish). me@mornfall.net**20080110150352] [Add a package::Source::changedList(). me@mornfall.net**20080110150605] [Workaround Qt ugliness. me@mornfall.net**20080111091020] [Add AptDatabase::invalidate() that forces cache reload. me@mornfall.net**20080111091657] [Import apt data source from Enrico. me@mornfall.net**20080111141847] [Import popcon data source from Enrico. me@mornfall.net**20080111142112] [Import textsearch data source from Enrico. me@mornfall.net**20080111142208] [wibble: Make the .test.h files more independent. me@mornfall.net**20080111155811 - add missing #includes, using namespace - also drop the useless anonymous namespace wrapping ] [wibble: Fix test.h #include guard. me@mornfall.net**20080111160625] [Make .test.h files more independent. me@mornfall.net**20080111160654 - factor *TestEnvironment into test.h - remove code already in wibble from test.h - fix #includes and #include guards ] [wibble: Make test compilation create a .cpp per .test.h. me@mornfall.net**20080111191508 This protects individual .test.h files from interference of other .test.h files, like #defines, using namespace clauses and the like. ] [Fix #include guard in core/apt/version.h. me@mornfall.net**20080111191716] [wibble: Reduce debug noise from CMake. me@mornfall.net**20080111191854] [Explicitly specify -fvisibility=default. me@mornfall.net**20080113092656 Fixes linking errors within adept (KDE tends to set -fvisibility to hidden). ] [Fix typo in core::PackageState (newInstal -> newInstall). me@mornfall.net**20080113102847] [Further delay APT initialisation to facilitate PkgSystem overrides. me@mornfall.net**20080113103705] [Port over popcon tests (from tut). me@mornfall.net**20080117204025] [Fix #include guard to avoid a clash. me@mornfall.net**20080118092236] [Rename TestApt to TestCoreApt to avoid name clash. me@mornfall.net**20080118092445] [Port over ept/apt tests (from tut). me@mornfall.net**20080118092624] [Import popcon test data. me@mornfall.net**20080118100844] [Install the popcon test data into test-env. me@mornfall.net**20080118100959] [Make the Apt tests pass with our test data. me@mornfall.net**20080118101114] [Fix path to popcon local data in local.test.h. me@mornfall.net**20080118101242] [wibble: Avoid infinite loop when running a single failing test. me@mornfall.net**20080118101409] [(Finally) enable compilation (and testing) of apt/ and popcon/. me@mornfall.net**20080118101532] [Harmonize APT _config initialisation. me@mornfall.net**20080118112615] [Enable the textsearch source and its tests. me@mornfall.net**20080118112804] [Fix xapian::List::Type to match reality. me@mornfall.net**20080118144105] [Add a VERSION #define to config.h. me@mornfall.net**20080118144350] [Fix compilation of ept-search. me@mornfall.net**20080118144544] [Import enrico's ept-cache tool. me@mornfall.net**20080118144834] [Enable compilation of ept-cache. me@mornfall.net**20080118145650] [Import debian/ from enrico's libpkg. me@mornfall.net**20080118150941] [Update debian/ packaging in preparation of 0.6.0. me@mornfall.net**20080118151222] [Get rid of adept references in CMakeLists.txt. me@mornfall.net**20080118151757] [A bunch of buildsystem cleanups. me@mornfall.net**20080118152758] [Bump VERSION to 0.6.0. me@mornfall.net**20080118153141] [wibble: Set LD_LIBRARY_PATH when running tests. me@mornfall.net**20080118160336] [Add a workaround to debian/rules (the configure step works now). me@mornfall.net**20080118160520] [Drop redundant -DINTERNAL_WIBBLE=ON. me@mornfall.net**20080118160545] [Use TAGCOLL_* instead of TC_*, fix tools/CMakeLists.txt. me@mornfall.net**20080118160616] [Remove now-obsolete FindPkgConfig.cmake. me@mornfall.net**20080118160809] [Add a make doc target to generate doxygen documentation. me@mornfall.net**20080118174751] [Sanitize CMakeLists.txt. me@mornfall.net**20080119170847] [Set VERSION and SOVERSION on libept.so. me@mornfall.net**20080119222437] [Create a pkgconfig file. me@mornfall.net**20080119222615] [Import libept.m4 by Enrico. me@mornfall.net**20080119222741] [Implement the make install target. me@mornfall.net**20080119222757] [Add an install target and ept-cache manpage generation. me@mornfall.net**20080119222822] [Fix documentation generation and installation in .deb. me@mornfall.net**20080119223244] [Fix Uploaders and Standards-Version in debian/control. me@mornfall.net**20080119223623] [Remove a generated file included by accident. me@mornfall.net**20080119223645] [Add ept-cache-man-hooks (forgotten previously). me@mornfall.net**20080120091104] [Fix wibble embedding issues. me@mornfall.net**20080120091327] [Rename VERSION to EPT_VERSION for easier embedding. me@mornfall.net**20080120091622] [There are no .la files. (And no cabal neither.) me@mornfall.net**20080120091804] [Don't forget to link in ept-core. me@mornfall.net**20080120093057] [Add Enrico's FAQ to documentation. me@mornfall.net**20080120093551] [Fix version in debian/changelog. me@mornfall.net**20080120100356] [Update Build-Depends and -dev Depends. me@mornfall.net**20080120100640] [We build-depend on cmake as well. me@mornfall.net**20080120100836] [Mention number of the bug we work around here. me@mornfall.net**20080122100055] [Un-hardcode the Xapian index path in core::xapian. me@mornfall.net**20080122234157] [Fix core::xapian to use test-data-based index, not systemwide one. me@mornfall.net**20080122234335] [Install all required headers, not just half of them. me@mornfall.net**20080123003323] [Make the testsuite architecture-neutral. me@mornfall.net**20080123111553 * It has previously only worked on i386 due to Architecture: fields in test data and architecture-specific Package file. ] [Update debian/changelog: 0.5.14. me@mornfall.net**20080123111947] [TAG libept-0.5.13 me@mornfall.net**20080123112037] [TAG libept-0.5.14 me@mornfall.net**20080123112125] [Merged in my latest changes enrico@enricozini.org**20080221101857] [Applied documentation patch from Benjamin enrico@enricozini.org**20080222084342] [Added Apt::checkCacheUpdates() method enrico@enricozini.org**20080226190253] [Fix cmake ordering for INTERNAL_WIBBLE case. me@mornfall.net**20080128100743] [Run tests with -DINTERNAL_WIBBLE=ON. me@mornfall.net**20080128100923] [wibble: Add RAII-style context declarations to exceptions. me@mornfall.net**20080128100936] [wibble: More concise definition of exception::Context::formatContext. me@mornfall.net**20080213121617] [Grab write lock in AptDatabase, fall back to non-writeable. me@mornfall.net**20080308222923] [Implement AptException that slurps up apt's global _error into context. me@mornfall.net**20080308223318] [Handle exceptions coming from within _system->Lock(). me@mornfall.net**20080309130028] [Do not use potentially uninitialized m_cache in openState(), in core::AptDatabase. me@mornfall.net**20080310080821] [Add SystemUpgrade action, plus a ActionList::prune() method. me@mornfall.net**20080310081046 SystemUpgrade will do a pkgDistUpgrade on its position in the list, irrespective of the token it bears. Prune will remove any redundant actions from the list (a noops). This should be useful after (possibly partial) commit, keeping actions that failed for some reason... ] [wibble: Avoid stringstream for the trivial (char *) case in fmt. me@mornfall.net**20080310083352] [Add setProgress() to core::AptDatabase. me@mornfall.net**20080310213103] [Don't forget to notify progress that we are done, in AptDatabase. me@mornfall.net**20080310213253] [Update debian/changelog for my part of 0.5.15. me@mornfall.net**20080310214631] [Bump EPT_VERSION in CMakeLists.txt to 0.5.15. me@mornfall.net**20080310214831] [Drop debian/libept-dev.docs again, it breaks the build. me@mornfall.net**20080310220149] [TAG libept-0.5.15 me@mornfall.net**20080310221930] [Increased version number, and build-depend on new wibble enrico@enricozini.org**20080325043131] [Install the documentation in the -dev deb package enrico@enricozini.org**20080325045334] [Set urgency to high enrico@enricozini.org**20080325065610] [TAG libept-0.5.16 enrico@enricozini.org**20080325065954] [Rebuild with updated shlibs enrico@enricozini.org**20080326155148] [Added files that for some reason had disappeared enrico@enricozini.org**20080326155711] [Add switch to always put the latest version in shlibs file enrico@enricozini.org**20080327161334] [wibble:Changed the Makefile.am to make it easier to work embedded enrico@enricozini.org**20071017142207] [wibble: Indentation enrico@enricozini.org**20071017145053] [wibble: Build the config.h for autotools as well enrico@enricozini.org**20071017151113] [wibble:Updated the library dependency list enrico@enricozini.org**20071017151511] [wibble: Ship own copy of tut enrico@enricozini.org**20071017153329] [wibble: Fix make dist target enrico@enricozini.org**20071017155046] [wibble: Added README.repo in extra_dist enrico@enricozini.org**20071017155139] [wibble: make the argument list protected enrico@enricozini.org**20071019165825] [wibble: Implemented comparison for buffers enrico@enricozini.org**20071024144612] [wibble: added operator!= to Buffer enrico@enricozini.org**20071024145817] [wibble: Added tests for buffer operators enrico@enricozini.org**20071024145840] [wibble: fixed comparison enrico@enricozini.org**20071024145855] [wibble: Don't allocate a data item if the buffer is empty; remove wrong throws enrico@enricozini.org**20071024160043] [wibble: added joinpath string operation enrico@enricozini.org**20071025100635] [wibble: added tests for joinpath enrico@enricozini.org**20071025100942] [wibble: added str::dirname enrico@enricozini.org**20071025102408] [wibble: fixed dirname after running the tests enrico@enricozini.org**20071025102729] [wibble: fully qualify in headers enrico@enricozini.org**20071025102854] [wibble: Added urlencode and urldecode enrico@enricozini.org**20071105201144] [wibble: Fixed string urlencode/decode tests enrico@enricozini.org**20071105201507] [wibble: Implemented trim workaround for gcc < 4 enrico@enricozini.org**20080109142207] [wibble: reverted spurious lines in Makefile.am enrico@enricozini.org**20080109142817] [wibble: Get rid of .cmake-in files. me@mornfall.net**20080119190143 * Drop config.h altogether. * Use same libwibble.pc.in as autotools. ] [wibble: Remove #includes of wibble/config.h. me@mornfall.net**20080119190640] [wibble: Remove generation of config.h from autotools. me@mornfall.net**20080119190715] [wibble: Install test-genrunner.pl (as wibble-test-genrunnner). me@mornfall.net**20080119192219] [wibble: Set the substitutions for the .pc.in file. me@mornfall.net**20080119193255] [wibble: Make test.cmake installable (and install it). me@mornfall.net**20080119210030] [wibble: Fix bugs that crept into test.cmake, embedded case. me@mornfall.net**20080120100153] [wibble: Drop the prefix parameter to test-genrunner.pl me@mornfall.net**20080120210238] [wibble: Add a manpage for wibble-test-genrunner. me@mornfall.net**20080120210712] [wibble: Install the manpage. me@mornfall.net**20080120211359] [wibble: include missing string.h to please gcc 4.3 enrico@enricozini.org**20080120171545] [wibble: Install the headers under tests/ for backward compatibility. me@mornfall.net**20080122231131] [TAG wibble: embeddable 0.1.12 me@mornfall.net**20080122232851] [wibble: Markup the code in the doxygen comment enrico@enricozini.org**20080129002927] [wibble: Build with g++ 4.3 enrico@enricozini.org**20080129203035] [wibble: Make T2 in amorph.test.h virtual, fixes compile error with newer g++. me@mornfall.net**20080204141426] [TAG wibble-embeddable-0.1.12 enrico@enricozini.org**20080120200424] [wibble: Added template specialisations for trivial cases enrico@enricozini.org**20080214232832] [wibble: Cleanup commandline options to make it more generic, and added VectorOption enrico@enricozini.org**20080226112445] [wibble: added str::Split, str::normpath and sys::fs::abspath enrico@enricozini.org**20080226163545] [wibble: Added Base64 encode/decode functions enrico@enricozini.org**20080227091241] [wibble: Moved Yaml functions from arkimet enrico@enricozini.org**20080227091959] [wibble: Added a simple minded ucfirst enrico@enricozini.org**20080227092417] [wibble: Strip comments from YAML stream enrico@enricozini.org**20080227152641] [wibble: Compile with -Wall -Werror enrico@enricozini.org**20080303161440] [wibble: Give a default value to appease gcc enrico@enricozini.org**20080311121014] [wibble: Added first bits of gregorian calendar module enrico@enricozini.org**20080326031126] [wibble: Implemented date::tostring enrico@enricozini.org**20080326051013] [wibble: Fixed normalise enrico@enricozini.org**20080326062812] [wibble: Resolve conflict around fmt specialisations. me@mornfall.net**20080327165444] [Don't forget to #include to make g++ 4.3 happy. me@mornfall.net**20080327165636] [Add an empty ctor to TestDebtags. Mysteriously stops g++ 4.3 errors. me@mornfall.net**20080327165937] [Use joinpath to build paths enrico@enricozini.org**20080327171154] [Mark in changelog that #472821 is fixed enrico@enricozini.org**20080327172951] [Also monitor Dir::State::status for changes enrico@enricozini.org**20080608061155] [Use full path for stampfile in doc. Avoids FTBFS with cmake >= 2.6. enrico@enricozini.org**20080609080618] [Drop redundant bits from debtags.test.h. me@mornfall.net**20080327170326] [Add an upgradableList() to package::Source. me@mornfall.net**20080517090430] [Recognize held state in PackageState. me@mornfall.net**20080517113250] [Add hasNewVersion() and hold() to PackageState. me@mornfall.net**20080517133204] [Add a .desktop file parser. me@mornfall.net**20080517142017] [wibble: Import a Pipe struct for line-by-line monitoring of filedescriptors. me@mornfall.net**20080403101410] [wibble: Use socketpair in place of pipe for test monitoring. me@mornfall.net**20080403101530] [wibble: Abolish use of getline and FILE* for test pipe monitoring, use Pipe instead. me@mornfall.net**20080403101717] [wibble: Changed time namespace in dtime, to avoid conflicts with ::time enrico@enricozini.org**20080326064336] [wibble: add grcal to Makefile.am as well enrico@enricozini.org**20080326065535] [wibble: Fixed secondsfrom and duration enrico@enricozini.org**20080326105215] [wibble: Little test cosmetic changes enrico@enricozini.org**20080326145127] [wibble: Added dtime::tostring enrico@enricozini.org**20080326153130] [wibble: Added dtime::tostring(sec) enrico@enricozini.org**20080326153711] [wibble: Added missing toString to ExistingFile enrico@enricozini.org**20080328030721] [wibble: fix strerror_r to also work on darwin enrico@enricozini.org**20080403022347] [wibble: try alternate mutex initialiser for osx enrico@enricozini.org**20080403024136] [wibble: Handle the case when RLIMIT_RSS == LIMIT_AS (for example, osx) enrico@enricozini.org**20080403032419] [wibble: improvised a hackish solution to an osx problem where the compiler doesn't want to compile 0-lenght arrays enrico@enricozini.org**20080403042734] [wibble: bring the classes outside to avoid 'the default argument for parameter ... has not yet been parsed' error with some gcc (namely, the one on osx) enrico@enricozini.org**20080403044808] [Bunch of constness fixes in the list classes. me@mornfall.net**20080517143402] [Refactor the property-filtered lists in package::Source. me@mornfall.net**20080517143646] [Implement list::unique() (collapses consecutive dupes). me@mornfall.net**20080517150221] [Fix compilation issues in desktopfile.h. me@mornfall.net**20080517160700] [Make the ComposedList a comparable (using Token ordering). me@mornfall.net**20080517161012] [Add missing #include to token.h. me@mornfall.net**20080517161516] [Make ComposedList default-constructible. me@mornfall.net**20080517161533] [Implement a data source for desktop files. me@mornfall.net**20080517161555] [wibble: Add TPair to wibble/sfinae.h. me@mornfall.net**20080517210419] [wibble: Add str::fmt for std::set. me@mornfall.net**20080517210502] [wibble: Whitespace. me@mornfall.net**20080517210543] [wibble: Add a special case for fmt of empty set. me@mornfall.net**20080517211103] [wibble: Add comment on fmt of sets. me@mornfall.net**20080517211126] [wibble: Add a test for fmt of set. me@mornfall.net**20080517211147] [wibble: Import list library from ept::core into wibble/list.h. me@mornfall.net**20080517211435] [wibble: Add a fmt version for lists. me@mornfall.net**20080517211641] [wibble: Add fancy list utils: Empty, singular and append. me@mornfall.net**20080517214133] [wibble: Fix the list formatting bits, add test. me@mornfall.net**20080517214230] [wibble: Whitespace. me@mornfall.net**20080517214305] [Move the propertyFilter stuff down the stack to Source. me@mornfall.net**20080517214326] [Add a generic get< Property > to Source::ComposedList. me@mornfall.net**20080517214451] [Implement group handling in desktop::Source. me@mornfall.net**20080517214506] [A bunch more tests for desktop::Source. me@mornfall.net**20080517214552] [wibble: A bunch of constness fixes. me@mornfall.net**20080517225906] [wibble: Revamped assert implementation. me@mornfall.net**20080517230024] [wibble: Fix assert_list_eq. me@mornfall.net**20080517230909] [Add a groupList() method to desktop::Source. me@mornfall.net**20080517230924] [The list utilities have moved to wibble. me@mornfall.net**20080517230958] [Add another desktop file to test data. me@mornfall.net**20080518112003] [wibble: Share the sorted vector in list::Sorted. me@mornfall.net**20080518112400 For algorithms that need to look at multiple values in a list (eg. unique), the non-shared nature of the sorted vector induces O(f(n)*nlogn) (for algorithm in O(f(n))) behaviour which is by far unacceptable. This fix makes the thing go in O(f(n) + nlogn). ] [Make the operator>> for Category inline to avoid dupe defs. me@mornfall.net**20080518112614] [Don't leak filedescriptors in desktop::Source. me@mornfall.net**20080518113823] [Check that default-constructed desktop list is empty. me@mornfall.net**20080518212010] [Add an inCategory predicate to desktop::Entry. me@mornfall.net**20080518212318] [Fix the desktop::Package property. The desktop: prefix was a mistake. me@mornfall.net**20080518212610] [Provide desktop::ShortDescription. me@mornfall.net**20080518212849] [(Hopefully) fix PackageState::modify(). me@mornfall.net**20080522202442] [Fix AptException to descend from wibble::exception::Generic (instead of just context). me@mornfall.net**20080531102012] [Add Icon property to desktop::Source. me@mornfall.net**20080531102248] [Use filename in desktop tokens. me@mornfall.net**20080601054026] [Add isDesktop() and desktop() methods to Token. me@mornfall.net**20080601054329] [Implement desktop::Source::lookupToken. me@mornfall.net**20080601054530] [wibble: Add some notes to regexp.h. me@mornfall.net**20080402225835] [wibble: Add readFile and writeFile convenience functions. me@mornfall.net**20080513163431] [wibble: Add setValue to SingleOption. me@mornfall.net**20080513182914] [wibble: Implemented hidden options enrico@enricozini.org**20080405204024] [wibble: Adds -I to the cflags in wibble's pkg-config (by Geoff Cant) enrico@enricozini.org**20080406170015] [wibble: added str::join enrico@enricozini.org**20080407153851] [wibble: try to use the right strerror_r according to what's available enrico@enricozini.org**20080408164321] [wibble: Added simple mmap support enrico@enricozini.org**20080419165939] [wibble: Implemented auto_ptr copy semantics Enrico Zini **20080419171144] [wibble: Implemented PosixBuf Enrico Zini **20080515060836] [wibble: Added posixstream to autotools Enrico Zini **20080515061041] [wibble: Allow to use Splitter with STL algorithms enrico@enricozini.org**20080520125404] [wibble: avoid infinite loops when the Splitter regexp matches the empty string Enrico Zini **20080520132128] [TAG wibble: embeddable 0.1.17 me@mornfall.net**20080526205554] [Properly constify the core::xapian List. Fixes ept-search. me@mornfall.net**20080610084424] [Update debian/changelog with my stuff. me@mornfall.net**20080614105503] [Make desktop::Entry's operator< define a partial order. me@mornfall.net**20080617131807] [wibble: Add missing return in list::Sorted's SharedPtr. me@mornfall.net**20080617132731] [Build with g++-4.2 on ARM enrico@enricozini.org**20080720073312] [Fixed apt::Apt package iteration enrico@enricozini.org**20080720093949] [Write debian/changelog for 0.5.19. me@mornfall.net**20080617142745] [wibble: Add missing default constructors to list classes. me@mornfall.net**20080617202930] [Provide missing default constructor to Source::Propertify. me@mornfall.net**20080617203226] [Fix a couple of compiler warnings by attribute reordering. me@mornfall.net**20080617203512] [wibble: Fix a compiler warning in list::Singular. me@mornfall.net**20080617203948] [Provide default ctor for desktop::Source::IsInGroup. me@mornfall.net**20080617204208] [In TestDesktop, sort all inputs to checkIteration. me@mornfall.net**20080617205709] [Tighten build-dependency on libwibble-dev to >= 0.1.19. me@mornfall.net**20080617211454] [Write debian/changelog for 0.5.20. me@mornfall.net**20080617211823] [TAG libept-0.5.17 me@mornfall.net**20080627102001] [TAG libept-0.5.18 me@mornfall.net**20080627102254] [TAG libept-0.5.19 me@mornfall.net**20080627102345] [TAG libept-0.5.20 me@mornfall.net**20080627102357] [Merged last version from mornfall with mine enrico@enricozini.org**20080722170633] [Updated Vcs fields enrico@enricozini.org**20080722171606] [TAG libept-0.5.21 enrico@enricozini.org**20080723084207] [Add missing build-dependency on g++-4.2 on ARM. me@mornfall.net**20080726103609] [wibble: Refactor sys::ChildProcess a little, provide bool running(). me@mornfall.net**20080730233036] [Implement update() for xapian::Source that calls out to update-apt-xapian-index. me@mornfall.net**20080730234334] [wibble: Include sys/stat.h in sys/fs.h. me@mornfall.net**20080730235949] [wibble: Fix signed/unsigned comparison warning. me@mornfall.net**20080731000639] [wibble: Fix a signed/unsigned comparison warning. me@mornfall.net**20080731001125] [wibble: Fix a "missing braces in nested if" warning. me@mornfall.net**20080731001305] [Fix a bunch of "suggest space before ; in empty loop body" warnings. me@mornfall.net**20080731001323] [Refactor: move aptTimestamp() into core. me@mornfall.net**20080731001705] [Refactor: remove PackageState from ept::apt, use the one from core. me@mornfall.net**20080731002027] [wibble: Add a std::string fmt( string, ... ) asprintf-alike to wibble::str. me@mornfall.net**20080731014000] [Reduce debug noise from core::xapian's update(). me@mornfall.net**20080731014241] [Provide timestamp() in core::AptDatabase. me@mornfall.net**20080731014341] [Fix a signed/unsigned comparison warning. me@mornfall.net**20080731014352] [Fix a bunch of unused parameter warnings. me@mornfall.net**20080731014423] [Implement updateLeniently (like at most once in 24h for now) in core::xapian. me@mornfall.net**20080731014527] [Fix the timestamp code for core::xapian. me@mornfall.net**20080731015052] [Speed up revertStates() by an order of magnitude, using ActionGroup optimisation. me@mornfall.net**20080731041032] [Only load the desktop entry once for multiple InternalList::head() accesses. me@mornfall.net**20080731041130] [Cache last lookupToken() result in core::Source::get(...). me@mornfall.net**20080731041210] [Warnings--: virtual dtor for GroupPolicy. me@mornfall.net**20080731051554] [Warnings--: unused parameter. me@mornfall.net**20080731051618] [Warnings--: signed/unsigned comparison. me@mornfall.net**20080731051630] [Warnings--: empty loop. me@mornfall.net**20080731051646] [Have the cronjob return success if ept-cache is not found enrico@enricozini.org**20081018100157]