summaryrefslogtreecommitdiff
path: root/apt-pkg
Commit message (Collapse)AuthorAgeFilesLines
* do not redownload unchanged InRelease filesDavid Kalnischkies2013-06-201-1/+12
| | | | | | | | | | | | Before we download the 'new' InRelease file the old file will be moved out of the way with the name 'foobar_InRelease.reverify', so if no partial file for the 'new' file exists take the modification time from this reverify file, so that if we get an IMS hit for the InRelease file we can move back the reverify file as new file rather than downloading the 'new' file even though we already have it. We do the same for Release files and this happened to work until the reverify renaming was corrected for InRelease files.
* support \n and \r\n line endings in ReadMessagesDavid Kalnischkies2013-06-201-2/+3
|
* handle missing "Description" in apt-cache showDavid Kalnischkies2013-06-202-2/+8
| | | | | | | | | | | | do not blindly assume that all packages stanzas have a "Description:" field in 'apt-cache show' as well as in the cache creation itself. We instead assume now that if the stanza has a Description, it will not be the first field as we look out for "\nDescription" to take care of MD5sum as well as (maybe ignored) translated Descriptions embedded in the package stanza. Closes: #712435
* ensure state-dir exists before coyping cdrom filesDavid Kalnischkies2013-06-091-0/+8
| | | | | | We do the same in the acquire system which handles the 'normal' downloads, so do it here as well even though its unlikely anyone will ever notice (beside testcases of course …)
* fail in CopyFile if the FileFds have error flag setDavid Kalnischkies2013-06-092-5/+4
| | | | | | | | | Testing for global PendingErrors in users of CopyFile is incorrect in so far as unrelated errors will prevent us from copying perfectly fine files and checking for the validity of the files is just better in CopyFiles as it already checks if files are at least opened. Add also a higher-level error message to the error stack if it fails.
* OpenDescriptor should autoclose fd always on errorDavid Kalnischkies2013-06-091-4/+19
| | | | | | | | | OpenInternDescriptor failures would cause additional errors to be generated by double-closing an fd. Other errors (although these are generated if the method is used incorrectly, so unlikely) didn't close the fd aswell. Closes: 704608
* set Fail flag in FileFd on all errors consistentlyDavid Kalnischkies2013-06-092-96/+75
| | | | | | Previously some errors would set the Fail flag while some didn't without a clear reason as all errors leave a bad FileFd behind, so we use a helper now to ensure that all errors set the flag.
* make the vprintf like _error->Insert publicDavid Kalnischkies2013-06-091-6/+35
| | | | Git-Dch: Ignore
* deprecate InstallProtect as a cpu-eating no-opDavid Kalnischkies2013-06-092-5/+8
| | | | | | | | | | | | In the past packages were flagged "Protected" so that install/ remove markings where issued before the ProblemResolver. Nowadays, the marking methods check if they are allowed to modify the marking of a package instead, so that markings set by FromUser calls are not overwritten anymore by automatic calls which elimates the need for InstallProtect which just eats CPU now. The method itself is left untouched for now in case frontend needs it still for some wierd usecase, but they should be eliminated.
* do unpacks before configures in SmartConfigureDavid Kalnischkies2013-06-091-45/+68
| | | | | | | | | | | | | | | | | | Splits the big loop over dependencies in SmartConfigure which unpacks and configures dependencies into two loops and reverse their order, so that all dependencies which need to be unpacked are handled first and only after that configures are issued for dependencies. This is needed as otherwise the unpack of a (new) dependency will be issued in between a configure call for two (or more) packages which form a loop, which means the configure calls aren't part of the same dpkg call and therefore dpkg bails out. Such tight loops should really be avoided as they are usually wrong – and in reality the dependencies in libreoffice were greatly simplified thanks to Rene Engelhard so the problem is gone for the benefit of all. Closes: 707578
* try all providers in order if uninstallable in MarkInstallDavid Kalnischkies2013-06-091-5/+13
|
* fix priority sorting by prefering higher in MarkInstallDavid Kalnischkies2013-06-091-1/+1
| | | | | | | Used to work until a certain (here unnamed) person came along and used the wrong operator causing low-priority packages to be sorted above high-priority packages while choosing a provider in commit 2b5c35c7bb915dbd46fefd7c79f05364ba22f93b from Nov 2011
* prefer Essentials over Removals in ordering scoreDavid Kalnischkies2013-06-091-3/+2
| | | | | | | | | | | | | | Doing Removes early is good to have them out of the way, so they don't break 'Inst' or 'Conf' chains, but scoring them above Essentials means that we end up upgrading (many) less important packages before we handle big stuff like libc6 or debconf which not only fails if those less important packages have unannounced (strict) dependencies, but also leads to having these packages unconfigured for a long time triggering bugs in maintainer scripts for no good reason (#708831). So this commits sets the default value for remove scores to 100, which is below the one for essentials (200) and a lot lower than the previous default value (500).
* rewrite pkgOrderList::DepRemove to stop incorrect immediate settingDavid Kalnischkies2013-06-091-116/+103
| | | | | | | | | | | | Some squeeze → wheezy upgrades indicate that DepRemove runs amok in complicated setups as it wasn't correctly working with or-groups. Completely rewritten the check is now moving from or-group to or-group instead. The behavior should be the same as the code before, but (hopefully) with less bugs and more comments. Closes: 645713
* fix double free (closes: #711045)Michael Vogt2013-06-061-2/+5
|
* non-inline RunGPGV methods to restore ABI compatibility with previous ↵David Kalnischkies2013-05-162-8/+14
| | | | | | | | versions to fix partial upgrades (Closes: #707771) The rename in 0.9.7.9~exp2 moved the method body to the class definition which means it became inline, which isn't ABI compatibile. The reverse of moving inline to non-inline is safe though.
* merged patch from Daniel Hartwig to fix URI and proxy releated issuesMichael Vogt2013-05-081-4/+5
|
* merged from the debian-wheezy branchMichael Vogt2013-05-082-4/+14
|\
| * * apt-pkg/algorithms.cc:Michael Vogt2013-05-081-1/+4
| | | | | | | | | | | | - Do not propagate negative scores from rdepends. Propagating the absolute value of a negative score may boost obsolete packages and keep them installed instead of installing their successors. (Closes: #699759)
| * properly handle if-modfied-since with libcurl/https Michael Vogt2013-05-081-3/+10
| | | | | | | | (closes: #705648)
* | Fix English spelling error in a message ('A error'). Unfuzzybubulle@debian.org2013-04-101-1/+1
| | | | | | translations. Closes: #705087
* | merged bundle from davidMichael Vogt2013-04-0820-159/+225
|\ \
| * | share version strings between same versions (of different architectures)David Kalnischkies2013-04-033-15/+40
| | | | | | | | | to save some space and allow quick comparisions later on
| * | * apt-pkg/cacheiterators.h:David Kalnischkies2013-04-033-19/+24
| | | | | | | | | - provide DepIterator::IsSatisfied as a nicer shorthand for DepCheck
| * | - sort group and package names in the hashtable on insertDavid Kalnischkies2013-04-032-16/+31
| | | | | | | | | | | | * apt-pkg/pkgcache.cc: - assume sorted hashtable entries for groups/packages
| * | micro-optimize and enhance readability of ListParser::VersionHashDavid Kalnischkies2013-04-011-7/+7
| | |
| * | equal comparisions are used mostly in same-source relations,David Kalnischkies2013-04-011-6/+14
| | | | | | | | | so use this to try to reuse some version strings
| * | * apt-pkg/deb/debversion.cc:David Kalnischkies2013-04-011-3/+12
| | | | | | | | | - add a string-equal shortcut for equal version comparisions
| * | factor version string creation out of NewDepends, so we can easily reuseDavid Kalnischkies2013-03-132-26/+34
| | | | | | | | | version strings e.g. for implicit multi-arch dependencies
| * | handle language tags for descriptions are unique strings to be sharedDavid Kalnischkies2013-03-121-1/+1
| | |
| * | * apt-pkg/pkgcachegen.cc:David Kalnischkies2013-03-121-29/+32
| | | | | | | | | | | | - do not store the MD5Sum for every description language variant as it will be the same for all so it can be shared to save cache space
| * | various simple changes to fix cppcheck warningsDavid Kalnischkies2013-03-1014-52/+45
| | |
* | | * apt-pkg/sourcelist.cc:Michael Vogt2013-04-041-1/+5
| | | | | | | | | | | | - fix segfault when a hostname contains a [, thanks to Tzafrir Cohen (closes: #704653)
* | | apt-pkg/contrib/gpgv.cc: fix InRelease checkMichael Vogt2013-04-031-2/+2
| | |
* | | merged lp:~mvo/apt/fix-inrelease5Michael Vogt2013-04-0212-168/+544
|\ \ \
| * | | support dash-escaped text in clearsigned files as implementations areDavid Kalnischkies2013-03-192-14/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | free to escape all lines (we have no lines in our files which need to be escaped as these would be invalid fieldnames) and while ExecGPGV would detect dash-escaped text as invalid (as its not expected in messages with detached signatures) it would be possible to "comment" lines in (signed) dsc files which are only parsed but not verified
| * | | use FileFd instead of int fds to tidy up the interface a bitDavid Kalnischkies2013-03-192-62/+53
| | | |
| * | | * apt-pkg/deb/debindexfile.cc,David Kalnischkies2013-03-185-69/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | apt-pkg/deb/deblistparser.cc: - use OpenMaybeClearSignedFile to be free from detecting and skipping clearsigning metadata in dsc and Release files We can't write a "clean" file to disk as not all acquire methods copy Release files before checking them (e.g. cdrom), so this reverts recombining, but uses the method we use for dsc files also in the two places we deal with Release files
| * | | - add method to open (maybe) clearsigned files transparentlyDavid Kalnischkies2013-03-182-1/+76
| | | | | | | | | | | | | | | | | | | | * ftparchive/writer.cc: - use OpenMaybeClearSignedFile to be free from detecting and skipping clearsigning metadata in dsc files
| * | | ensure that we fclose/unlink/free in the new gpg-code as soon as possibleDavid Kalnischkies2013-03-161-5/+22
| | | |
| * | | - if ExecGPGV deals with a clear-signed file it will split this fileDavid Kalnischkies2013-03-153-55/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into data and signatures, pass it to gpgv for verification and recombines it after that in a known-good way without unsigned blocks and whitespaces resulting usually in more or less the same file as before, but later code can be sure about the format * apt-pkg/deb/debmetaindex.cc: - reenable InRelease by default
| * | | split out a method to strip whitespaces only on the right sideMichael Vogt2013-03-152-1/+8
| | | |
| * | | * apt-pkg/acquire-item.cc:David Kalnischkies2013-03-151-10/+16
| | | | | | | | | | | | | | | | - keep the last good InRelease file around just as we do it with Release.gpg in case the new one we download isn't good for us
| * | | don't close stdout/stderr if it is also the statusfdDavid Kalnischkies2013-03-151-10/+11
| | | |
| * | | * apt-pkg/contrib/gpgv.cc:David Kalnischkies2013-03-153-14/+40
| | | | | | | | | | | | | | | | - ExecGPGV is a method which should never return, so mark it as such and fix the inconsistency of returning in error cases
| * | | * apt-pkg/indexcopy.cc:David Kalnischkies2013-03-155-134/+179
| | |/ | |/| | | | - rename RunGPGV to ExecGPGV and move it to apt-pkg/contrib/gpgv.cc
* | | merged lp:~mvo/apt/fix-tagfile-hashMichael Vogt2013-03-222-3/+10
|\ \ \
| * | | fix pkgTagSection::Exists() and add testMichael Vogt2013-03-182-3/+10
| |/ /
* | | merged the debian-wheezy branchMichael Vogt2013-03-221-7/+14
|\| |
| * | * SECURITY UPDATE: InRelease verification bypassMichael Vogt2013-03-141-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | - CVE-2013-1051 * apt-pkg/deb/debmetaindex.cc, test/integration/test-bug-595691-empty-and-broken-archive-files, test/integration/test-releasefile-verification: - disable InRelease downloading until the verification issue is fixed, thanks to Ansgar Burchardt for finding the flaw