summaryrefslogtreecommitdiff
path: root/apt-pkg
Commit message (Collapse)AuthorAgeFilesLines
* implement POC client-side merging of pdiffs via apt-fileDavid Kalnischkies2013-12-132-4/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* allow ':' in GetListOfFilesInDirDavid Kalnischkies2013-12-131-1/+1
| | | | | | | 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
* query an empty pkgAcqIndexDiffs if index is up-to-dateDavid Kalnischkies2013-12-131-7/+9
| | | | | | | 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
* Fix conffile prompt regression (LP: #1260297)Michael Vogt2013-12-122-4/+8
| | | | | This fixes a regression in the conffile prompt for the progress-fd and adds a testcase to ensure this does not regress again.
* Handle SIGWINCH in APT::Progress-Fancy=1Michael Vogt2013-12-063-11/+31
|
* * enable release based selection for deb-src (closes: 731102)Michael Vogt2013-12-056-10/+48
|
* drop old /var/state to /var/lib transition artefactsDavid Kalnischkies2013-12-011-9/+1
| | | | | | 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.
* merge ubuntus apport reporting changes to reduce diffDavid Kalnischkies2013-11-301-5/+54
| | | | | 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.
* truncating /dev/null to zero is always successfulDavid Kalnischkies2013-11-301-0/+3
| | | | | | | | | | | 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
* fix apport report writing (LP: #1254499)Michael Vogt2013-11-291-1/+1
|
* reset terminal on error (closes: #730795)Michael Vogt2013-11-291-0/+1
|
* fix crash when SetCandidateRelease is usedMichael Vogt2013-11-291-1/+1
|
* Merge remote-tracking branch 'mvo/debian/sid' into debian/sidMichael Vogt2013-11-294-5/+38
|\ | | | | | | | | Conflicts: apt-private/private-cmndline.cc
| * add "APT::String::Endswith" and automatic adding of ".list" in apt edit-sourceMichael Vogt2013-11-292-0/+9
| |
| * add check when sources.list changedMichael Vogt2013-11-262-5/+29
| |
* | fix regression that APT::Keep-Fds is not honored (closes: #730490)Michael Vogt2013-11-283-8/+21
|/
* small documentation updatesMichael Vogt2013-11-013-2/+7
|
* setup LINES in apt-pkg/install-progress.ccMichael Vogt2013-10-311-0/+5
|
* use StartDpkg() in PackageManagerProgressDeb822Fd as wellMichael Vogt2013-10-312-2/+2
|
* add new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly ↵Michael Vogt2013-10-315-32/+43
| | | | APT::Keep-Fds hack and also add a new PackageManagerProgressFd::StartDpkg() progress state
* move pty magic into its own functionsMichael Vogt2013-10-312-88/+97
|\
| * move pty stuff into its own functionMichael Vogt2013-10-312-79/+97
| |
* | fix some more ABI issues, abicheck is happy nowMichael Vogt2013-10-312-1/+10
| |
* | restore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && ↵Michael Vogt2013-10-316-7/+93
| | | | | | | | APT_PKG_MINOR >= 13)
* | extract getDpkgExecutable() and DPkgPM::BuildPackagesProgressMap() out of ↵Michael Vogt2013-10-252-62/+77
| | | | | | | | the monster long pkgDPkgPM::Go()
* | make the main loop a while() instead of a for() as I find this (much) easier ↵Michael Vogt2013-10-241-2/+3
| | | | | | | | to read this way)
* | Merge remote-tracking branch 'upstream/debian/sid' into ↵Michael Vogt2013-10-227-323/+450
|\ \ | | | | | | | | | | | | | | | | | | | | | feature/install-progress-refactor Conflicts: apt-pkg/deb/dpkgpm.cc apt-pkg/makefile
| * | fix failing ./test/integration/test-disappearing-packages (thanks Donkult) - ↵Michael Vogt2013-10-221-14/+5
| | | | | | | | | | | | ported from the mvo/feature/install-progress-refactor branch
| * | Merge remote-tracking branch 'mvo/feature/upgrade-api' into debian/sidMichael Vogt2013-10-227-323/+450
| |\ \ | | |/ | |/|
| | * rename FORBID_NEW_INSTALL_PACKAGES to FORBID_INSTALL_NEW_PACKAGESMichael Vogt2013-10-059-57/+89
| | |\
| | * | Move ListUpdate/AquireUpdate into update.{cc,h}Michael Vogt2013-10-055-106/+150
| | | | | | | | | | | | | | | | | | | | This moves the ListUpdate/AquireUpdate out of the "catch-all" algorithm.{cc,h} file into its own update.{cc,h}
| | * | * move upgrade releated code into upgrade.{cc,h}Michael Vogt2013-10-055-255/+300
| | | | | | | | | | | | | | | | | | | | | | | | The upgrade releated code is moved into upgrade.{cc,h} and all pkg*Upgrade* prototypes are included in algorihms.h to avoid breaking API (unless build with APT_9_CLEANER_HEADERS).
| | * | cleanup upgrade API some more (thanks for the feedback from David)Michael Vogt2013-10-052-14/+21
| | | |
| | * | improve the API for Upgrade()Michael Vogt2013-09-182-10/+40
| | | |
| * | | use std::string instead of char* in pkgDPkgPM::ProcessDpkgStatusLine()Michael Vogt2013-10-181-24/+24
| | | |
| * | | reshuffle the pkgDPkgPM::ProcessDpkgStatusLine() some more to make it more ↵Michael Vogt2013-10-181-77/+91
| | | | | | | | | | | | | | | | robust
| * | | reshuffle dpkgpm.cc code a bit moreMichael Vogt2013-10-181-28/+40
| | | |
| * | | add APT::String::Strip(), start cleanup of ProcessDpkgStatusLineMichael Vogt2013-10-183-6/+51
| | | |
* | | | fix failing ./test/integration/test-disappearing-packages (thanks Donkult!)Michael Vogt2013-10-221-4/+4
| | | |
* | | | use Pkg.FullName() in disappearedPkgs and remove duplicated checkMichael Vogt2013-10-221-11/+2
| | | |
* | | | fix install-progress locationMichael Vogt2013-10-223-6/+3
| | | |
* | | | move install-progress.{cc,h} to apt-pkgMichael Vogt2013-10-223-2/+446
| | | |
* | | | restore binary compatiblity with the pkgPackageManager interfaceMichael Vogt2013-10-213-11/+35
| | | |
* | | | fix apt output ordering and update test to match the new human friendly ↵Michael Vogt2013-10-211-5/+5
| | | | | | | | | | | | | | | | messages that include the architecture
* | | | move iprogress.{cc,h} to private-progress.{cc,h} until its fully stableMichael Vogt2013-10-213-332/+2
| | | |
* | | | re-add missing APT::String::StripMichael Vogt2013-10-185-5/+36
| | | |
* | | | merged debian/sidMichael Vogt2013-10-181-130/+127
| | | |
* | | | cleanupMichael Vogt2013-10-183-35/+74
| | | |
* | | | ensure that short-name -> long-name detection for dpkg-status works for ↵Michael Vogt2013-10-171-1/+4
| | | | | | | | | | | | | | | | reinstalls too
* | | | Merge branch 'debian/sid' into feature/install-progress-refactorMichael Vogt2013-10-172-10/+37
|\| | | | | | | | | | | | | | | | | | | Conflicts: apt-pkg/deb/dpkgpm.cc