summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgsystem.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add support for dpkg frontend lockJulian Andres Klode2018-08-071-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The dpkg frontend lock is a lock dpkg tries to acquire except if the frontend already acquires it. This fixes a race condition in the install command where the dpkg lock is not held for a short period of time between different dpkg invocations. For this reason we also define an environment variable DPKG_FRONTEND_LOCKED for dpkg invocations so dpkg knows not to try to acquire the frontend lock because it's held by a parent process. We can set DPKG_FRONTEND_LOCKED only if the frontend lock really is held; that is, if our lock count is greater than 0 - otherwise an apt client not using the LockInner family of functions would run dpkg without the frontend lock set, but with DPKG_FRONTEND_LOCKED set. Such a process has a weaker guarantee: Because dpkg would not lock the frontend lock either, the process is prone to the existing races, and, more importantly, so is a new style process. Closes: #869546 [fixups: fix error messages, add public IsLocked() method, and make {Un,}LockInner return an error on !debSystem]
* Remove obsolete RCS keywordsGuillem Jover2018-05-071-1/+0
| | | | Prompted-by: Jakub Wilk <jwilk@debian.org>
* fix communication typo in https manpageDavid Kalnischkies2018-04-071-1/+1
| | | | Reported-By: lintian spelling-error-in-manpage
* Reformat and sort all includes with clang-formatJulian Andres Klode2017-07-121-3/+3
| | | | | | | | | | | | | This makes it easier to see which headers includes what. The changes were done by running git grep -l '#\s*include' \ | grep -E '.(cc|h)$' \ | xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/' To modify all include lines by adding a space, and then running ./git-clang-format.sh.
* edsp: use an ID mapping for the internal solverDavid Kalnischkies2016-06-041-1/+23
| | | | | | | Currently an EDSP solver gets send basically all versions which means the absolute count is the same, but that might not be true forever (and with the skipping of rc-only versions it kinda is already) and even if it were true, segfaulting on bad input seems wrong.
* implement a public pkgSystem::ArchitecturesSupportedDavid Kalnischkies2015-11-041-0/+8
|
* implement a public pkgSystem::MultiArchSupportedDavid Kalnischkies2015-11-041-0/+9
| | | | | | Some codepaths need to check if the system (in our case usually dpkg) supports MultiArch or not. We had copy-pasted the check so far into these paths, but having it as a system check is better for reusability.
* make all d-pointer * const pointersDavid Kalnischkies2015-08-101-1/+2
| | | | | | | | | | | | | | Doing this disables the implicit copy assignment operator (among others) which would cause hovac if used on the classes as it would just copy the pointer, not the data the d-pointer points to. For most of the classes we don't need a copy assignment operator anyway and in many classes it was broken before as many contain a pointer of some sort. Only for our Cacheset Container interfaces we define an explicit copy assignment operator which could later be implemented to copy the data from one d-pointer to the other if we need it. Git-Dch: Ignore
* add d-pointer, virtual destructors and de-inline de/constructorsDavid Kalnischkies2015-06-161-0/+2
| | | | | | | | To have a chance to keep the ABI for a while we need all three to team up. One of them missing and we might loose, so ensuring that they are available is a very tedious but needed task once in a while. Git-Dch: Ignore
* follow method attribute suggestions by gccDavid Kalnischkies2014-03-131-1/+3
| | | | | Git-Dch: Ignore Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
* cleanup headers and especially #includes everywhereDavid Kalnischkies2014-03-131-1/+0
| | | | | | | | 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)
* fix a bunch of cppcheck "(warning) Member variable '<#>' is notDavid Kalnischkies2012-03-041-2/+2
| | | | initialized in the constructor." messages (no functional change)
* reorder includes: add <config.h> if needed and include it at firstDavid Kalnischkies2011-09-131-0/+2
|
* * make apt build with g++ 4.3Michael Vogt2007-09-101-0/+1
|
* * remove all the remaining #pragma implementationMichael Vogt2007-06-081-4/+0
|
* buffer in the very unlikely event that someone adds 10 ...Arch Librarian2004-09-201-1/+3
| | | | | | | Author: mdz Date: 2004-02-27 00:43:16 GMT buffer in the very unlikely event that someone adds 10 packaging systems to apt (Closes: #233678)
* Join with aliencodeArch Librarian2004-09-201-0/+45
Author: jgg Date: 2001-02-20 07:03:16 GMT Join with aliencode