summaryrefslogtreecommitdiff
path: root/buildlib
Commit message (Collapse)AuthorAgeFilesLines
* Pass -fvisibility-inlines-hidden to g++Julian Andres Klode2016-06-011-0/+2
| | | | | | | | | | | | | | 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.
* FileFd: (native) LZ4 supportJulian Andres Klode2016-01-072-0/+4
| | | | | Implement native support for LZ4 compression, using the official lz4 library.
* buildsystem: deal with spaces in path to sourceDavid Kalnischkies2015-12-196-8/+8
| | | | Git-Dch: Ignore
* defaults.mak: Set LC_COLLATE=C.UTF-8 for reproducible sort orderJulian Andres Klode2015-11-301-0/+3
| | | | | | | 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.
* do not rerun ./configure causing FTCBFS with newer autotools-devDavid Kalnischkies2015-11-191-4/+5
| | | | | | | | | | | | | | | | | | 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
* move -std=c++11 from CXX to new CXXSTDDavid Kalnischkies2015-11-195-8/+9
| | | | | | | | 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
* reenable gcc warnings for deprecated functionsDavid Kalnischkies2015-11-041-2/+0
| | | | | | | | 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
* dpkgpm: Use ptsname_r() instead of ptsname() to be thread-safeJulian Andres Klode2015-10-301-0/+3
| | | | | | | This function only exists on a limited number of platforms, so we add a configure check to make sure it exists. Gbp-Dch: ignore
* move std=c++11 from CXXFLAGS to CXXDavid Kalnischkies2015-09-141-2/+2
| | | | | | | | 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
* fix various typos reported by codespellDavid Kalnischkies2015-08-271-1/+1
| | | | Reported-By: codespell
* Merge branch 'debian/experimental' of https://github.com/DonKult/apt into ↵Julian Andres Klode2015-08-141-3/+3
|\ | | | | | | debian/experimental
| * replace direct calls to egrep with grep -EDaniel Hartwig2015-08-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | 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
* | Use setresuid() and setresgid() where availableJulian Andres Klode2015-08-131-1/+3
|/
* change to libapt-pkg abi 5.0 with versioned symbolsDavid Kalnischkies2015-08-101-3/+7
| | | | | | | | | | | 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.
* enforce GCC5 C++11 ABI and usageDavid Kalnischkies2015-08-101-1/+1
| | | | | | | | 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.
* fix memory leaks reported by -fsanitizeDavid Kalnischkies2015-08-101-0/+2
| | | | | | | | 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
* some CXXFLAGS housekeepingDavid Kalnischkies2015-08-101-1/+5
| | | | | | More warnings are always better. Git-Dch: Ignore
* apt manpage is built from xml nowadays like the restDavid Kalnischkies2015-08-101-1/+0
| | | | | | | | | | | 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
* use SHA2 unrolled code as its a bit fasterDavid Kalnischkies2015-04-191-0/+3
| | | | | | | | 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
* DropPrivs: Also check for saved set-user-ID and set-group-IDJulian Andres Klode2014-09-241-0/+4
|
* ensure that all docs use all entities filesDavid Kalnischkies2014-08-261-2/+3
| | | | | | | | | 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
* build: Convert from DebianDoc SGML to DocBook XMLGuillem Jover2014-07-085-74/+89
|
* build: Set the XSL parameter through the command line instead of sedGuillem Jover2014-07-081-3/+4
| | | | | Use the xsltproc --stringparam option instead of replacing it inside the file.
* compile with absolute paths to allow lcov useDavid Kalnischkies2014-04-134-4/+4
| | | | | | | | | | | | | | | | | | | | | | 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
* use liblzma-dev to provide xz/lzma supportDavid Kalnischkies2014-03-132-0/+4
| | | | | | | | | | | | 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.
* enable various compiler warningsDavid Kalnischkies2014-03-131-3/+6
| | | | | | | Now that the last few commits resolved the issues we can finally enable a bunch of compiler warnings by default. Git-Dch: ignore
* cleanup headers and especially #includes everywhereDavid Kalnischkies2014-03-132-1/+3
| | | | | | | | 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)
* move defines for version to macros.hDavid Kalnischkies2014-03-131-3/+3
| | | | | | also adds namespaced attributes for good usage Git-Dch: Ignore
* Fix typos in documentation (codespell)Michael Vogt2014-02-222-2/+2
|
* add a vendor specific file to have configurable entitiesDavid Kalnischkies2013-11-301-2/+5
| | | | | | | 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.
* * move upgrade releated code into upgrade.{cc,h}Michael Vogt2013-10-051-0/+1
| | | | | | 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).
* reenable automatic parallel build of APTDavid Kalnischkies2013-07-261-9/+8
| | | | | It works for a while now in manual tests, now lets see how it will perform if enabled for all by default automatically.
* make autoconf happy by "mv configure.{in,ac}"David Kalnischkies2013-07-261-2/+2
| | | | Git-Dch: Ignore
* stop building l10n if strings are unchangedDavid Kalnischkies2013-06-092-2/+7
| | | | | | 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.
* depend on libapt-pkg in the libapt-inst build processDavid Kalnischkies2013-06-091-2/+2
| | | | | | | 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
* build the en manpages in subdirectory doc/enDavid Kalnischkies2013-06-091-5/+7
| | | | | Building manpages becames more consistent this way and it is simpler to ignore build artefacts, too.
* * buildlib/apti18n.h.in:Michael Vogt2013-05-161-0/+1
| | | | - fix build failure when building without NLS (closes: #671587)
* * debian/control:David Kalnischkies2012-06-293-4/+8
| | | | | | - 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
* * buildlib/configure.mak:David Kalnischkies2012-06-181-1/+28
| | | | - print a message detailing how to get config.guess and config.sub in case they are not in /usr/share/misc (Closes: #677312)
* * buildlib/inttypes.h.in:David Kalnischkies2012-05-215-95/+0
| | | | - remove inttypes.h compatibility as providing such a c99 types compatibility conflicts with the usage of c99 type long long
* whatever this script did, it didn't for a long long timeDavid Kalnischkies2012-05-211-14/+0
| | | | (it creates changelog from cvs)
* apply the correct metadata (package, version, mail) to all pot and po filesDavid Kalnischkies2012-05-212-0/+4
|
* * buildlib/podomain.mak:David Kalnischkies2012-05-211-3/+3
| | | | - ensure that all sources end up in the srclist so that we don't forget to extract half of the translation strings
* move the creation of the manpage-style.xsl file to the rest of theDavid Kalnischkies2012-05-201-1/+5
| | | | | manpage building instead of doing it at setup time, so we can properly depend on it
* * doc/makefile:David Kalnischkies2012-05-171-1/+1
| | | | - build manpages with the correct l10n.gentext.default.language setting to get the correct section titles provided by docbook
* - separate manpages from the rest of the doc buildingDavid Kalnischkies2012-05-142-2/+3
| | | - make apt and apt-utils packages depend on manpages instead of full doc
* * Makefile, buildlib/*.mak:David Kalnischkies2012-05-123-10/+9
| | | - reshuffle dependencies so that parallel building seems to work
* - add libbz2-dev as new build-dependencyDavid Kalnischkies2012-04-052-1/+5
| | | | | | | | - 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
* detect zlib correctly. We still don't allow to build without it to remainDavid Kalnischkies2012-04-051-0/+3
| | | | | compatible with users accessing it directly, but this prepares for a drop of this strict requirement in the future
* the previously used VERSION didn't work everywhere so we are switchingDavid Kalnischkies2012-03-222-3/+4
| | | | to the more standard PACKAGE_VERSION and make it work in every file