summaryrefslogtreecommitdiff
path: root/apt-pkg
AgeCommit message (Collapse)Author
2014-02-10simplify code to make compilers happyDavid Kalnischkies
Does the same as before, but is a bit simpler on the logic for humans as well as compilers. scan-build complained about it at least with: "Result of operation is garbage or undefined" Reported-By: scan-build
2014-02-06Merge remote-tracking branch 'mvo/bugfix/multiarch-upgrade' into debian/sidMichael Vogt
2014-02-06discard impossible candidates in MarkInstallDavid Kalnischkies
If a (Pre-)Depends can't be satisfied there is no point in keeping the candidate as is as it is impossible to find a solution for it, so we can just as well reset the candidate to the currently installed version. We avoid trying to install this impossible candidate later on this way. Closes: #735967
2014-02-04Fix multiarch package upgrade issueMichael Vogt
When checking for negative dependencies in MarkInstall() ensure that only dependencies that are relevant (i.e. getting installed) are checked.
2014-01-30restart debSrcRecordParsers only if neededDavid Kalnischkies
The offset variable in DebSrcRecordParser was not initialized which we now do and based on it do not trigger a restart if the parser was not used yet avoiding a needless rescan of the section. Detected while working on the previous commit e62aa1dd. Both commits act as a "fix" for the bug shown in the testcase of the commit – this one here would only hide it through.
2014-01-30pkgTagFile: if we have seen the end, do not try to see moreDavid Kalnischkies
Asking for more via Step() will notice that we are done with the file already and will result in a fail, which means we can't find the last sections anymore (which is especially painful if we haven't moved at all as in the testcase we haven't even looked at one of the sources leading to a strange behaviour) Reported-By: Niall Walsh <niallwalsh@users.berlios.de>
2014-01-26Merge remote-tracking branch 'donkult/debian/sid' into debian/sidMichael Vogt
Conflicts: apt-private/private-list.cc doc/po/de.po test/integration/framework
2014-01-25Merge remote-tracking branch 'mvo/debian/sid' into debian/sidMichael Vogt
2014-01-25support " " in deb822 source optionsMichael Vogt
2014-01-24set APT::Sources::Use-Deb822 to default false for nowMichael Vogt
2014-01-24Merge remote-tracking branch 'mvo/feature/apt-show-nice' into ↵Michael Vogt
debian/experimental-no-abi-break Conflicts: apt-private/private-cmndline.cc
2014-01-22"apt show" show user friendly size infoMichael Vogt
The size/installed-size is displayed via SizeToStr() and Size is rewriten to "Download-Size" to make clear what size is refered to here.
2014-01-21Merge remote-tracking branch 'upstream/debian/experimental-no-abi-break' ↵Michael Vogt
into feature/source-deb822 Conflicts: test/integration/test-apt-sources-deb822
2014-01-20add support for multipl types in one lineMichael Vogt
2014-01-20add support for multiple URIs in deb822 style sources.listMichael Vogt
2014-01-20add support for Enabled: no in deb822 sources.listMichael Vogt
2014-01-18do not ignore ioctl(TIOCSCTTY) errorsMichael Vogt
Show a proper error message when a ioctl() in dpkgpm.cc fails. Also simply StartPtyMagic() a bit.
2014-01-18Merge remote-tracking branch 'mvo/feature/source-deb822' into ↵Michael Vogt
debian/experimental-no-abi-break
2014-01-18rename "Suite/Section" to pluralMichael Vogt
2014-01-18Merge remote-tracking branch 'mvo/feature/source-deb822' into ↵Michael Vogt
debian/experimental-no-abi-break
2014-01-17implement suggestion by donkult (thanks!)Michael Vogt
2014-01-16correct some style/performance/warnings from cppcheckDavid Kalnischkies
The most "visible" change is from utime to utimensat/futimens as the first one isn't part of POSIX anymore. Reported-By: cppcheck Git-Dch: Ignore
2014-01-16merged mvo/feature/deb822Michael Vogt
2014-01-16rework some code to fix some scan-build warningsDavid Kalnischkies
No visible functional changes, just code moved around and additional checks to eliminate impossible branches Reported-By: scan-build Git-Dch: Ignore
2014-01-16support multiple "Suite:" entriesMichael Vogt
2014-01-16rename URL to Uri in deb822-sourcesMichael Vogt
2014-01-16rename "distribution" in sources.list to "suite"Michael Vogt
2014-01-16* refactor to have a new virtual ParseStanzaMichael Vogt
Have a similar ParseStanza() to the current ParseLine(). Rename the Architectures options in deb822 to make it more user friendly
2014-01-16remove "," in components againMichael Vogt
2014-01-15integrate Anthonys rred with POC for client-side mergeDavid Kalnischkies
Providing the benefits of both without the downsides :) (ABI breaks or external dependencies) For this Anthonys rred is equipped with: - magic-filename-pickup of patches rather than explicit messages - use of FileFd instead of FILE* to get on-the-fly uncompress of the gzip compressed pdiff patches The acquire code in turn stops checking for apt-file's helper as our own rred is now clever enough for our needs.
2014-01-15reenable unlimited pdiff files downloadDavid Kalnischkies
In 51fc6def77edfb1f429a48e5169519e9e05a759b we limited the amount of pdiff to be downloaded per index to 20. This was a compromise between not letting it go overboard (becoming even slower) and not using bandwidth needlessly. Now that with the POC the speed reason is gone it makes sense again to download as much files as we possible can via pdiff to save bandwidth (and possibly even time). It also avoids problems with the limit in cases we were we deal with a server merged archieve as this limit assumes a strict patch progression.
2014-01-15correct IndexDiff vs DiffIndex in Debug outputAnthony Towns
2014-01-05Merge remote-tracking branch 'mvo/feature/source-deb822' into ↵Michael Vogt
debian/experimental-no-abi-break
2014-01-05Merge remote-tracking branch 'donkult/feature/clientmergepdiffs' into ↵Michael Vogt
debian/experimental-no-abi-break
2014-01-04improve error messageMichael Vogt
2014-01-04improve testsMichael Vogt
2014-01-04Merge branch 'debian/sid' into feature/source-deb822Michael Vogt
2013-12-28add missing vector includeMichael Vogt
2013-12-28Merge branch 'debian/sid' into bugfix/bts731738-fancy-progessMichael Vogt
Conflicts: apt-pkg/install-progress.cc
2013-12-28Merge remote-tracking branch 'origin/bugfix/bts731738-fancy-progess' into ↵Michael Vogt
bugfix/bts731738-fancy-progess Conflicts: apt-pkg/install-progress.cc
2013-12-28properly handle SIGWINCH in PackageManagerFancy againMichael Vogt
2013-12-27Merge branch 'feature/policy-parser-bts732746' into debian/sidMichael Vogt
2013-12-23add basic tests for GetTempDir()Michael Vogt
2013-12-22factor GetTempDir outMichael Vogt
2013-12-22apt-pkg/contrib/gpgv.cc: use /tmp as fallback dirThomas Bechtold
if the directory given by $TMPDIR is not available, use /tmp as fallback.
2013-12-22first proof-of-concept for a fix for #731738Michael Vogt
2013-12-22first proof-of-concept for a fix for #731738Michael Vogt
2013-12-21make /etc/apt/preferences parser deal with comment only sectionsMichael Vogt
2013-12-13implement POC client-side merging of pdiffs via apt-fileDavid Kalnischkies
The idea of pdiffs is to avoid downloading the hole file by patching the existing index. This works very well, but becomes slow if a lot of patches needs to be applied to reconstruct an up-to-date index and in recent years more and more dinstall (or similar) runs are executed creating more and more pdiffs in the same amount of time, so pdiffs became less useful. The solution is simple: Reduce the amount of patches (which are very small) which need to be applied on top of the index we have available (which is usually pretty big). This can be done in two ways: Either merge the patches on the server-side so that the client has to download only one patch or the patches are all downloaded and merged on the client-side. The first needs a client who is doing one step at a time who can also skip patches if it needs (APT supports this for a long time now). The later is implemented by this commit, but depends on the server NOT merging the patches and the patches being in a strict order in which no patch is skipped. This is traditionally the case for dak, but other repository creators support merging – e.g. reprepro (which helpfully adds a flag indicating that the patches are merged). To support both or even mixes a client needs more information which isn't available for now. This POC uses the external diffindex-rred included in apt-file to do the heavy lifting of merging & applying all patches in one pass, hence to test this feature apt-file needs to be installed.
2013-12-13allow ':' in GetListOfFilesInDirDavid Kalnischkies
run-parts doesn't allow this char in valid filenames, but we tend to have files with this character in e.g. /var/lib/apt/lists/ Git-Dch: Ignore