scripts/mk: On dpkg-build-api >= 1 include buildtools.mk in default.mk
[dpkg.git] / doc / README.api
blob8d72f635973622b7cd133d0930bcbe949765e2de
1 This is an (incomplete) list of currently provided APIs by dpkg, and
2 their supported status.
5 What: libdpkg.a (C static library)
6 Status: volatile
7 Description:
8  The API provided by this library is highly volatile, still in the process
9  of being cleaned up. It's only supposed to be used internally by dpkg for
10  now. Header files, functions, variables and types might get renamed,
11  removed or change semantics. If you still have a need to use it, which
12  you'd be doing anyway, say by locally building dpkg to get the library,
13  then define the C preprocessor macro LIBDPKG_VOLATILE_API in your build
14  to acknowledge that fact.
16 What: libdpkg-perl (perl modules)
17 Status: stable
18 Description:
19  Among the perl modules provided by libdpkg-perl, you can safely rely on
20  those that have $VERSION set to 1.00 (or higher). Note however that the
21  API is defined by what's documented in the corresponding manual pages and
22  nothing more. You can't assume anything else based on what you read in
23  the source code. If you feel the need for further refinements in the
24  documented API, don't hesitate to file a wishlist bug against
25  libdpkg-perl.
26  .
27  In case of API-breaking changes, the major number in $VERSION will be
28  increased. For API extensions, the minor number will be increased.
30 What: custom changelog parsers as Dpkg::Changelog derived modules
31 Status: stable
32 Description:
33  Since dpkg 1.18.8, custom changelog parsers are supported as modules
34  derived from the Dpkg::Changelog module. The derived modules need to
35  implement all required documented methods.