summaryrefslogtreecommitdiff
path: root/apt-pkg
AgeCommit message (Collapse)Author
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
2013-12-13query an empty pkgAcqIndexDiffs if index is up-to-dateDavid Kalnischkies
The previous code already did this, this is just being a hell of a lot more obvious, so that it isn't that easy to break in the future. Git-Dch: Ignore
2013-12-12Fix conffile prompt regression (LP: #1260297)Michael Vogt
This fixes a regression in the conffile prompt for the progress-fd and adds a testcase to ensure this does not regress again.
2013-12-06Handle SIGWINCH in APT::Progress-Fancy=1Michael Vogt
2013-12-05* enable release based selection for deb-src (closes: 731102)Michael Vogt
2013-12-01drop old /var/state to /var/lib transition artefactsDavid Kalnischkies
Regardless of when this transition was, it is so long ago that everyone who would still need this has a million other problems to deal with now so lets just drop this code.
2013-11-30merge ubuntus apport reporting changes to reduce diffDavid Kalnischkies
apport reporting is still disabled by default, but it is available in Debian/experimental at the moment and a diff is not a good idea anyway.
2013-11-30truncating /dev/null to zero is always successfulDavid Kalnischkies
Calling truncate on /dev/null can happen by the download methods if they are instructed to download a file to /dev/null (as testcases are only interested in the status code, but do not support HEAD requests yet) So just ignore truncate calls on the /dev/null file as it is always empty anyway, so truncating to zero isn't a problem. Git-Dch: Ignore
2013-11-29fix apport report writing (LP: #1254499)Michael Vogt
2013-11-29reset terminal on error (closes: #730795)Michael Vogt
2013-11-29fix crash when SetCandidateRelease is usedMichael Vogt
2013-11-29Merge remote-tracking branch 'mvo/debian/sid' into debian/sidMichael Vogt
Conflicts: apt-private/private-cmndline.cc
2013-11-29add "APT::String::Endswith" and automatic adding of ".list" in apt edit-sourceMichael Vogt
2013-11-28fix regression that APT::Keep-Fds is not honored (closes: #730490)Michael Vogt
2013-11-26add check when sources.list changedMichael Vogt
2013-11-01small documentation updates0.9.13_exp1Michael Vogt
2013-10-31setup LINES in apt-pkg/install-progress.ccMichael Vogt
2013-10-31use StartDpkg() in PackageManagerProgressDeb822Fd as wellMichael Vogt
2013-10-31add new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly ↵Michael Vogt
APT::Keep-Fds hack and also add a new PackageManagerProgressFd::StartDpkg() progress state
2013-10-31move pty magic into its own functionsMichael Vogt
2013-10-31fix some more ABI issues, abicheck is happy nowMichael Vogt
2013-10-31restore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && ↵Michael Vogt
APT_PKG_MINOR >= 13)
2013-10-31move pty stuff into its own functionMichael Vogt
2013-10-25extract getDpkgExecutable() and DPkgPM::BuildPackagesProgressMap() out of ↵Michael Vogt
the monster long pkgDPkgPM::Go()
2013-10-24make the main loop a while() instead of a for() as I find this (much) easier ↵Michael Vogt
to read this way)
2013-10-22Merge remote-tracking branch 'upstream/debian/sid' into ↵Michael Vogt
feature/install-progress-refactor Conflicts: apt-pkg/deb/dpkgpm.cc apt-pkg/makefile
2013-10-22fix failing ./test/integration/test-disappearing-packages (thanks Donkult) - ↵Michael Vogt
ported from the mvo/feature/install-progress-refactor branch
2013-10-22fix failing ./test/integration/test-disappearing-packages (thanks Donkult!)Michael Vogt
2013-10-22Merge remote-tracking branch 'mvo/feature/upgrade-api' into debian/sidMichael Vogt
2013-10-22use Pkg.FullName() in disappearedPkgs and remove duplicated checkMichael Vogt
2013-10-22fix install-progress locationMichael Vogt
2013-10-22move install-progress.{cc,h} to apt-pkgMichael Vogt
2013-10-21restore binary compatiblity with the pkgPackageManager interfaceMichael Vogt
2013-10-21fix apt output ordering and update test to match the new human friendly ↵Michael Vogt
messages that include the architecture
2013-10-21move iprogress.{cc,h} to private-progress.{cc,h} until its fully stableMichael Vogt
2013-10-18re-add missing APT::String::StripMichael Vogt
2013-10-18merged debian/sidMichael Vogt
2013-10-18use std::string instead of char* in pkgDPkgPM::ProcessDpkgStatusLine()Michael Vogt
2013-10-18reshuffle the pkgDPkgPM::ProcessDpkgStatusLine() some more to make it more ↵Michael Vogt
robust
2013-10-18reshuffle dpkgpm.cc code a bit moreMichael Vogt
2013-10-18add APT::String::Strip(), start cleanup of ProcessDpkgStatusLineMichael Vogt
2013-10-18cleanupMichael Vogt
2013-10-17ensure that short-name -> long-name detection for dpkg-status works for ↵Michael Vogt
reinstalls too
2013-10-17Merge branch 'debian/sid' into feature/install-progress-refactorMichael Vogt
Conflicts: apt-pkg/deb/dpkgpm.cc
2013-10-17fix broken clean when apt was finished and ensure that terminal progress is ↵Michael Vogt
updated when a new dpkg-loop is entered in dpkgpm.cc
2013-10-15tests, do not send pkgname with arch via the status-fdMichael Vogt
2013-10-15Merge remote-tracking branch 'upstream/debian/sid' into bugfix/bts-726156-2Michael Vogt
2013-10-15fix logic for finding what package dpkg means in the --status-fd and only ↵Michael Vogt
send out short packagenames
2013-10-14fix progress-segfault in case of dpkg errors/promptsDavid Kalnischkies
Errors and conffile prompts have a fourth information piece, which the "old" code access which isn't provided by the "new" one. This isn't checking if the messages are really well-formed, so it could still segfault on misformed messages, but this code needs more work anyway, so one step at a time. Closes: 726047