summaryrefslogtreecommitdiff
path: root/apt-pkg/pkgsystem.h
Commit message (Collapse)AuthorAgeFilesLines
* apt(8): Wait for frontend and cache lockJulian Andres Klode2020-02-261-2/+3
| | | | | | This is a rework of !6 with additional stuff for the frontend lock, so we can lock the frontend lock and then keep looping over dpkg lock.
* apt-pkg: default visibility to hiddenJulian Andres Klode2020-02-261-2/+2
|
* pkgsystem: Drop more virtual workaround shenanigansJulian Andres Klode2020-02-261-5/+5
|
* Fix typos reported by codespell in code commentsDavid Kalnischkies2019-07-101-1/+1
| | | | | | | | Also in old changelogs, but nothing really user visible like error messages or alike so barely noteworthy. Reported-By: codespell Gbp-Dch: Ignore
* Run unifdef -DAPT_{8,9,10,15}_CLEANER_HEADERSJulian Andres Klode2019-06-121-3/+0
|
* Add support for dpkg frontend lockJulian Andres Klode2018-08-071-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* Drop cacheiterators.h includeJulian Andres Klode2017-07-121-1/+0
| | | | | Including cacheiterators.h before pkgcache.h fails because pkgcache.h depends on cacheiterators.h.
* edsp: use an ID mapping for the internal solverDavid Kalnischkies2016-06-041-1/+5
| | | | | | | 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/+9
|
* implement a public pkgSystem::MultiArchSupportedDavid Kalnischkies2015-11-041-0/+13
| | | | | | 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.
* add volatile sources support in libapt-pkgDavid Kalnischkies2015-08-101-2/+3
| | | | | | | | | | | | | | | | | | | Sources are usually defined in sources.list (and co) and are pretty stable, but once in a while a frontend might want to add an additional "source" like a local .deb file to install this package (No support for 'real' sources being added this way as this is a multistep process). We had a hack in place to allow apt-get and apt to pull this of for a short while now, but other frontends are either left in the cold by this and/or the code for it looks dirty with FIXMEs plastering it and has on top of this also some problems (like including these 'volatile' sources in the srcpkgcache.bin file). So the biggest part in this commit is actually the rewrite of the cache generation as it is now potentially a three step process. The biggest problem with adding support now through is that this makes a bunch of previously mostly unusable by externs and therefore hidden classes public, so a bit of further tuneing on this now public API is in order…
* make all d-pointer * const pointersDavid Kalnischkies2015-08-101-5/+5
| | | | | | | | | | | | | | 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-2/+3
| | | | | | | | 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
* create debIFTypeDscFile typeMichael Vogt2014-04-241-2/+4
|
* cleanup headers and especially #includes everywhereDavid Kalnischkies2014-03-131-1/+1
| | | | | | | | 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 typos in documentation (codespell)Michael Vogt2014-02-221-2/+2
|
* revert 2184.1.3: forward declaration instead of headersDavid Kalnischkies2011-12-131-0/+4
| | | | | The breakage is just to big for now, so guard the change with #ifndef APT_8_CLEANER_HEADERS and be nice to library users
* use forward declaration in headers if possible instead of includesDavid Kalnischkies2011-09-191-2/+4
|
* * removed the pragma messMichael Vogt2006-10-021-3/+0
|
* Some more g++-3.2 fixes.Arch Librarian2004-09-201-2/+2
| | | | | | Author: doogie Date: 2002-11-11 06:55:50 GMT Some more g++-3.2 fixes.
* Use std C++ header names for includesArch Librarian2004-09-201-2/+2
| | | | | | Author: jgg Date: 2002-03-26 07:38:57 GMT Use std C++ header names for includes
* 'apt-cache policy' preferences debug tool.Arch Librarian2004-09-201-1/+3
| | | | | | Author: jgg Date: 2001-04-29 05:13:51 GMT 'apt-cache policy' preferences debug tool.
* Warning tidy upsArch Librarian2004-09-201-3/+3
| | | | | | Author: jgg Date: 2001-03-11 07:35:49 GMT Warning tidy ups
* Join with aliencodeArch Librarian2004-09-201-0/+95
Author: jgg Date: 2001-02-20 07:03:16 GMT Join with aliencode