Age | Commit message (Collapse) | Author |
|
|
|
We changed an aweful lot of stuff, so 5.0 is properly better than 4.X as
a semantic version and as we are at it lets add some trivial symbol
versioning as well: We just mark all exported symbols with the same
version for now. This isn't really the proper thing to do as if we add
symbols in later versions (with the same abi) they will get the same
symbols version, but our .symbols file will protect us from the problems
arising from this as it will ensure that a package acutally depends on a
version of the abi high enough to include the symbol.
|
|
The library(s) make an API break anyhow, so lets ensure we use gcc5 for
this break and enable c++11 as standard as gcc6 will use it as default
and should provide some API parts for c++11 – beside that it can't hurt
to use c++11 itself. We just have to keep our headers c++03 compatible
to not enforce a standrd bump in our reverse dependencies.
|
|
Various small leaks here and there. Nothing particularily big, but still
good to fix. Found by the sanitizers while running our testcases.
Reported-By: gcc -fsanitize
Git-Dch: Ignore
|
|
More warnings are always better.
Git-Dch: Ignore
|
|
It used be a handwritten manpage, but that is gone and this artifact is
the cause for the message:
../../buildlib/manpage.mak:23: target '../../build/docs/apt.de.8' given
more than once in the same rule
[ … repeated for all translations … ]
So lets get right of it.
Git-Dch: Ignore
|
|
Upstream claims its faster if combined with an optimizing compiler and
I can confirm that in some tests, so lets see how it works out in
practice.
Git-Dch: Ignore
|
|
|
|
Not all are needed for all files at the moment, but the new docbook
building hadn't available some of the entities it used as the files
weren't correctly copied around in all cases and having the same across
the bord makes working with all of them a little easier.
Git-Dch: Ignore
|
|
|
|
Use the xsltproc --stringparam option instead of replacing it inside the
file.
|
|
Instructing gcc (or clang) to prepare for capturing coverage data is
easy: Just build with: CXXFLAGS=--coverage
The hard part is that our buildsystem uses relative paths and so
confuses the hell out of lcov as it assumes this way that all our *.cc
files are in the same directory… by changing to absolute paths in the
compile rules we solve this problem.
Still not perfect as it refers to build/include files for most headers
and our forking/threading code isn't properly captured, but good enough
to see red reports for now:
CXXFLAGS=--coverage make
make test
./test/integration/run-tests -q
lcov --no-external --directory . --capture --output-file apt.info
genhtml --output-directory ./coverage/ apt.info
Git-Dch: Ignore
|
|
We have xz/lzma support for a while, but only via an external binary
provided by xz-utils. Now that the Debian archive provides xz by default
and dpkg pre-depends on the library provided by liblzma-dev we can switch
now to use this library as well to avoid requiring an external binary.
For now the binary is in a prio:required package, but this might change
in the future.
API wise it is quiet similar to bz2 code expect that it doesn't provide
file I/O methods, so we piece this together on our own.
|
|
Now that the last few commits resolved the issues we can finally enable
a bunch of compiler warnings by default.
Git-Dch: ignore
|
|
Beside being a bit cleaner it hopefully also resolves oddball problems
I have with high levels of parallel jobs.
Git-Dch: Ignore
Reported-By: iwyu (include-what-you-use)
|
|
also adds namespaced attributes for good usage
Git-Dch: Ignore
|
|
|
|
manpages sometimes refer to distro-specific things like the name of the
package providing the achive-keyring. Having a central place to
configure this helps in having it consistent in the manpages and allows
to load this info from other places in the buildsystem as well later.
|
|
The upgrade releated code is moved into upgrade.{cc,h} and
all pkg*Upgrade* prototypes are included in algorihms.h to
avoid breaking API (unless build with APT_9_CLEANER_HEADERS).
|
|
It works for a while now in manual tests, now lets see how it will
perform if enabled for all by default automatically.
|
|
Git-Dch: Ignore
|
|
The buildsystem tried to build l10n for test applications which never
produced the output it expected causing it to try building it all the
time.
|
|
fixing parallel build in the handcrafted buildsystem is a pain,
so its not enabled by default, but its works for me – sometimes
Git-Dch: Ignore
|
|
Building manpages becames more consistent this way and
it is simpler to ignore build artefacts, too.
|
|
- fix build failure when building without NLS (closes: #671587)
|
|
- demote debiandoc-sgml to Build-Depends-Indep
* doc/makefile:
- separate translation building of debiandoc from manpages
so that we don't need to build debiandoc for binary packages
|
|
- print a message detailing how to get config.guess and config.sub
in case they are not in /usr/share/misc (Closes: #677312)
|
|
- remove inttypes.h compatibility as providing such a c99 types
compatibility conflicts with the usage of c99 type long long
|
|
(it creates changelog from cvs)
|
|
|
|
- ensure that all sources end up in the srclist so that we don't
forget to extract half of the translation strings
|
|
manpage building instead of doing it at setup time, so we can properly
depend on it
|
|
- build manpages with the correct l10n.gentext.default.language setting
to get the correct section titles provided by docbook
|
|
- make apt and apt-utils packages depend on manpages instead of full doc
|
|
- reshuffle dependencies so that parallel building seems to work
|
|
- remove the libz-dev alternative from zlib1g-dev build-dependency
- do the same for bz2 builtin if available
* apt-pkg/contrib/fileutl.cc:
- use libz2 library for (de)compression instead of the bzip2 binary as
the first is a dependency of dpkg and the later just priority:optional
so we gain 'easier' access to bz2-compressed Translation files this way
|
|
compatible with users accessing it directly, but this prepares for a drop
of this strict requirement in the future
|
|
to the more standard PACKAGE_VERSION and make it work in every file
|
|
causes timestamp changes for the mo files which therefore can't
be refcounted by dpkg for your M-A: same packages
(Closes: #659333, LP: #924628)
The commit also enables a top-level 'make update-po' and does
all the needed changes to let this work now that update-po might
be called in a freshly checkout tree
|
|
(and be it if it tries to announce that…)
|
|
|
|
size are pretty unlikely for now, but we need it for deb
packages which could become bigger than 4GB now (LP: #815895)
|
|
|
|
all (sub)directories are build which are needed (e.g. obj/ and co)
|
|
- move some strings into apt-verbatim.ent to avoid showing them in
apt-doc.pot as they are untranslatable anyway (e.g. manpage references)
|
|
- ensure that the build fails if documentation building fails
|
|
(This is the revert of the glibc-abi-compatibility-hack)
|
|
- add ngettext support with P_()
|
|
|
|
|