Age | Commit message (Collapse) | Author | Files | Lines |
|
Part of the process to drop libept (see bug #677551):
In src/generic/apt/matching/match.cc there's already
#ifdefs to do everything via libxapian. The only ept-only
bit is ept::axi::path_db(). That can be replaced with
"/var/lib/apt-xapian-index/index", which is the standard
index location which is NOT going to change (that's
actually a xapian pointer to the real index location: try
"cat /var/lib/apt-xapian-index/index").
Also add configure check for libxapian headers.
|
|
The tree included several checks for various ways
that libept previously did things. These old
code paths have been dropped along with the checks
for them.
configure now also supports --disable-ept to build
without using the ept library.
|
|
|
|
|
|
|
|
All doc translations now use the new buildlib rule files
which is cleaner and much easier to maintain.
This involves many changes and a general cleanup. Some of
the more noticable changes:
* doc:
- html docs no longer install to $docdir/html, but respect
the htmldir option of configure (which defaults to $docdir)
- build is more parallel
* buildlib/doc.mk:
- Standard makefile rules for documentation
* buildlib/docbook.mk:
- Makefile rules for targets from docbook source
* buildlib/po4a.mk:
- Makefile rules for targets from po4a translations
* doc/Makefile.am, doc/??/Makefile.am:
- rename LANGCODE to LC
- update to use buildlib files; most of these files are now
very short
* configure.ac:
- suppress portability warnings as we require GNU make
- include bugreport address
- check for tools used to generate the documentation:
po4a, xsltproc, fop, rsvg-convert
|
|
|
|
|
|
|
|
|
|
|
|
* configure.ac:
- check for MultiArch support in APT (requires at least 0.8);
* src/generic/apt/apt.cc:
- support libapt-pkg 0.8.16 in multiarch_type;
* src/generic/apt/matching/match.cc:
- tweak multiarch;
|
|
* configure.ac:
- avoid most library and header checks if --disable-aptitude;
- GTK+ frontend is disabled by default;
- enabling GTK+ or Qt is an error if libraries missing;
|
|
|
|
The VTE library is not needed in the curses fontend, do not fail to
configure if it is unavailable and GTK+ is disabled.
|
|
|
|
|
|
|
|
|
|
autoconf warnings.
|
|
|
|
|
|
- add tests for Qt libraries to configure.ac
- create "enable-qt" option for activating building of Qt frontend
- add required Makefile.am
- create a stab of frontend initialization and all required code to generic classes
- rename gui variable in main.cc to use_gtk_gui and new_gui variable accordingly
|
|
|
|
As a side effect, this creates a "controllers" directory in the generic tree,
and removes the now-empty GTK+-specific controller and view directories.
The README files are moved over to the generic locations and tweaked to be
correct for their new home.
|
|
|
|
implementation for showing the download progress at the command line and a stub implementation.
This is mostly just a streamlining of the apt interface, but putting the
code behind a clean view will also make it much more testable.
|
|
it contains.
Without this I can't build the unit tests.
|
|
|
|
This is necessary to support the upcoming version of ept (currently in
experimental).
I even did it "right" and tested each feature individually. Aren't I cool.
|
|
|
|
terminal output.
The extra logic is to avoid having tests that depend on exactly how the code
being tested breaks up its terminal writes.
|
|
Hopefully this will eliminate some of the random crashes
on exit that people were seeing.
|
|
I didn't just use the Autoconf find-a-library macro
because that one changes $LIBS instead of storing the
library in a variable.
|
|
modularity.
I'm particularly intrigued by the idea of using this to support partial
testing of the GUI components. Even if that doesn't work, I think that
explicitly separating the code that twiddles the GUI from the underlying
program logic makes things a bit readable, although I am a bit worried
about the proliferation of tiny little classes that this could lead to.
The new scheme includes three new directories:
gtk/views/ -- holds interfaces that provide abstracted access to
parts of the GUI.
gtk/view-impls/ -- holds implementations of interfaces from
gtk/views/.
gtk/controllers/ -- holds logic to drive views for various purposes.
The first view/impl/controller set is a refactoring of the search-entry
code. Another thing that concerns me: it's not clear that there are
actually very many places in the existing code-base that can be
cleanly refactored to fit this mold.
The new search controller/view classes drop support for incremental
searches. This is deliberate; I see two major problems with the
existing code.
First, it requires an extra button in the UI to enable or disable it.
That bothers me; if incremental search is worthwhile, it should be
enabled all the time, at least by default (IMO). Second, the existing
code was really ugly, partly because of the way the code used to be
designed (before searches ran in the background). It should be
reimplemented from scratch anyway.
|
|
It doesn't #include enough stuff, so trying to compile it fails.
|
|
|
|
uses when invoking the function it's passed.
With this change, aptitude should no longer require boost >= 1.42 to
build.
|
|
|
|
|
|
|
|
|
|
|
|
source code users.
|
|
Still needs more tests.
This is heavily inspired by ghc's Parsec library. In particular,
it differs from Spirit in that the "value" of a parser is a core part
of its definition, and in that it's very reasonable to implement your
own parsers by hand (I didn't explicitly say this in the doccomments --
maybe I should -- but the sequencing operator >> is equivalent to
invoking the parsers in successive statements, like in a Haskell
monadic parser.
Probably not as efficient as Spirit, but should be a lot easier to
use (and the places I want to use it only parse short strings anyway;
even a fairly slow library would probably be OK).
|
|
It was generating a syntax error instead of a helpful message.
|
|
Still needed: a parser, unit tests, documentation, and the final
tying-together code in resolver_manager.
|
|
this is the first step towards being able to minimize the number of changes meeting a criterion.
The biggest change for this is that the new cost objects (tier operations)
are not totally ordered, so various places that used to take a maximum
now take a least-upper-bound instead; similarly for minimum and
greatest-lower-bound. Still to do: find a sound way to allow the resolver
to add together costs instead of upper-bounding them: "this change
will force us to remove 10 packages".
The new code seems to be a little too slow -- probably it lost some
optimizations by accident. It does seem to be correct, though.
|
|
associative and commutative operation over the nodes of the tree.
This could be used, for instance, to ietratively maintain the minimum
or maximum tier of a set of search nodes.
The code *should* optimize away the new members of the set node object
(using boost::compressed_pair). In fact, the old immset code has been
slightly optimized here as well (the comparison object is also optimized
out via compressed_pair).
|
|
|