summaryrefslogtreecommitdiff
path: root/buildlib
AgeCommit message (Collapse)Author
2016-08-10Get rid of the old buildsystemJulian Andres Klode
Bye, bye, old friend.
2016-08-06configure.ac: Drop broken unused check for ptsname_r()Julian Andres Klode
AC_CHECK_FUNCS() defines HAVE_* variables, but AC_CHECK_FUNC() does not. Anyway: We do not have any code using HAVE_PTSNAME_R, so just remove it.
2016-06-01Pass -fvisibility-inlines-hidden to g++Julian Andres Klode
This reduces the number of symbols by about 10%. Unfortunately, it does not seem to cover all the weird std::vector and friend template expansions. ABI should not brake due to that change: It was never specified before whether an inline symbol was exported or not; so no library could rely on its presence. Instead, the symbols were exported in each library/program needing it and and then merged into a common one by the dynamic linker. Also update the symbol files to account for the removed symbols.
2016-01-07FileFd: (native) LZ4 supportJulian Andres Klode
Implement native support for LZ4 compression, using the official lz4 library.
2015-12-19buildsystem: deal with spaces in path to sourceDavid Kalnischkies
Git-Dch: Ignore
2015-11-30defaults.mak: Set LC_COLLATE=C.UTF-8 for reproducible sort orderJulian Andres Klode
With the 1.1.3 release we have seen some re-ordering of the translation template and the translations. It turns out that this is because sort sorts differently depending on the locale, so let's force it to always sort in the C locale.
2015-11-19do not rerun ./configure causing FTCBFS with newer autotools-devDavid Kalnischkies
If the config.{sub,guess} files we linked in were newer than our configure script we ended up recreating configure and then rerun it without all the configuration options which were (potentially) present for a previous run. We avoid this by changing to the same ruleset as in the debian/rules file which compares the config.* files against a stamp file rather than the configure script itself as its the configuration itself which depends on all scripts, not configure on the config scripts. While at it, we also drop the 'make -s dirs' call as we don't need to do it explicitly here as proper dependencies will take care of it. Thanks: Helmut Grohne for the detailed bugreport. Closes: 804923
2015-11-19move -std=c++11 from CXX to new CXXSTDDavid Kalnischkies
The hack introduced in aa91826f is replaced with a hopefully better working "proper" solution with a new variable just for the standard we use everywhere we use CXXFLAGS. Git-Dch: Ignore
2015-11-04reenable gcc warnings for deprecated functionsDavid Kalnischkies
In the meantime the strange warnings disappeared, so we can get back to showing them – and fix the one occurance which creeped in in the meantime. Git-Dch: Ignore
2015-10-30dpkgpm: Use ptsname_r() instead of ptsname() to be thread-safeJulian Andres Klode
This function only exists on a limited number of platforms, so we add a configure check to make sure it exists. Gbp-Dch: ignore
2015-09-14move std=c++11 from CXXFLAGS to CXXDavid Kalnischkies
Setting CXXFLAGS like --coverage on the commandline fails if we set the std too late, so if we set it with the compiler name we set it always first. A bit hacky as it bends the expectation, but seems to work. Git-Dch: Ignore
2015-08-27fix various typos reported by codespellDavid Kalnischkies
Reported-By: codespell
2015-08-14Merge branch 'debian/experimental' of https://github.com/DonKult/apt into ↵Julian Andres Klode
debian/experimental
2015-08-13Use setresuid() and setresgid() where availableJulian Andres Klode
2015-08-12replace direct calls to egrep with grep -EDaniel Hartwig
The rest of the initial patch is not needed or incorrect in our usage. Big changes for the dselect scripts seem unneeded as well as those are hardly used by anyone anymore… [commit message written by commiter] Closes: 255577 Thanks: David Weinehall for initial patch
2015-08-10change to libapt-pkg abi 5.0 with versioned symbolsDavid Kalnischkies
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.
2015-08-10enforce GCC5 C++11 ABI and usageDavid Kalnischkies
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.
2015-08-10fix memory leaks reported by -fsanitizeDavid Kalnischkies
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
2015-08-10some CXXFLAGS housekeepingDavid Kalnischkies
More warnings are always better. Git-Dch: Ignore
2015-08-10apt manpage is built from xml nowadays like the restDavid Kalnischkies
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
2015-04-19use SHA2 unrolled code as its a bit fasterDavid Kalnischkies
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
2014-09-24DropPrivs: Also check for saved set-user-ID and set-group-IDJulian Andres Klode
2014-08-26ensure that all docs use all entities filesDavid Kalnischkies
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
2014-07-08build: Convert from DebianDoc SGML to DocBook XMLGuillem Jover
2014-07-08build: Set the XSL parameter through the command line instead of sedGuillem Jover
Use the xsltproc --stringparam option instead of replacing it inside the file.
2014-04-13compile with absolute paths to allow lcov useDavid Kalnischkies
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
2014-03-13use liblzma-dev to provide xz/lzma supportDavid Kalnischkies
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.
2014-03-13enable various compiler warningsDavid Kalnischkies
Now that the last few commits resolved the issues we can finally enable a bunch of compiler warnings by default. Git-Dch: ignore
2014-03-13cleanup headers and especially #includes everywhereDavid Kalnischkies
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)
2014-03-13move defines for version to macros.hDavid Kalnischkies
also adds namespaced attributes for good usage Git-Dch: Ignore
2014-02-22Fix typos in documentation (codespell)Michael Vogt
2013-11-30add a vendor specific file to have configurable entitiesDavid Kalnischkies
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.
2013-10-05* move upgrade releated code into upgrade.{cc,h}Michael Vogt
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).
2013-07-26reenable automatic parallel build of APTDavid Kalnischkies
It works for a while now in manual tests, now lets see how it will perform if enabled for all by default automatically.
2013-07-26make autoconf happy by "mv configure.{in,ac}"David Kalnischkies
Git-Dch: Ignore
2013-06-09stop building l10n if strings are unchangedDavid Kalnischkies
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.
2013-06-09depend on libapt-pkg in the libapt-inst build processDavid Kalnischkies
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
2013-06-09build the en manpages in subdirectory doc/enDavid Kalnischkies
Building manpages becames more consistent this way and it is simpler to ignore build artefacts, too.
2013-05-16* buildlib/apti18n.h.in:Michael Vogt
- fix build failure when building without NLS (closes: #671587)
2012-06-29* debian/control:David Kalnischkies
- 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
2012-06-18* buildlib/configure.mak:David Kalnischkies
- print a message detailing how to get config.guess and config.sub in case they are not in /usr/share/misc (Closes: #677312)
2012-05-21* buildlib/inttypes.h.in:David Kalnischkies
- remove inttypes.h compatibility as providing such a c99 types compatibility conflicts with the usage of c99 type long long
2012-05-21whatever this script did, it didn't for a long long timeDavid Kalnischkies
(it creates changelog from cvs)
2012-05-21apply the correct metadata (package, version, mail) to all pot and po filesDavid Kalnischkies
2012-05-21* buildlib/podomain.mak:David Kalnischkies
- ensure that all sources end up in the srclist so that we don't forget to extract half of the translation strings
2012-05-20move the creation of the manpage-style.xsl file to the rest of theDavid Kalnischkies
manpage building instead of doing it at setup time, so we can properly depend on it
2012-05-17* doc/makefile:David Kalnischkies
- build manpages with the correct l10n.gentext.default.language setting to get the correct section titles provided by docbook
2012-05-14 - separate manpages from the rest of the doc buildingDavid Kalnischkies
- make apt and apt-utils packages depend on manpages instead of full doc
2012-05-12* Makefile, buildlib/*.mak:David Kalnischkies
- reshuffle dependencies so that parallel building seems to work
2012-04-05 - add libbz2-dev as new build-dependencyDavid Kalnischkies
- 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