summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-10-07fix libapt-inst for >2G debs (closes: #725483)Michael Vogt
2013-10-07use Dpkg::Progress-Fancy to be consitent with Dpkg::ProgressMichael Vogt
2013-10-07add -o DpkgPM::Progress-Fancy for better dpkg progress output on vt100+ ↵Michael Vogt
terminals
2013-10-05rename FORBID_NEW_INSTALL_PACKAGES to FORBID_INSTALL_NEW_PACKAGESMichael Vogt
2013-10-05Move ListUpdate/AquireUpdate into update.{cc,h}Michael Vogt
This moves the ListUpdate/AquireUpdate out of the "catch-all" algorithm.{cc,h} file into its own update.{cc,h}
2013-10-05* move upgrade releated code into upgrade.{cc,h}Michael Vogt
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).
2013-10-05re-add "Calculating upgrade..." messageMichael Vogt
2013-10-05cleanup upgrade API some more (thanks for the feedback from David)Michael Vogt
2013-10-05Merge remote-tracking branch 'donkult/debian/sid' into debian/sidMichael Vogt
2013-10-05Merge remote-tracking branch 'mvo/bugfix/dpkg-progress-multiarch' into ↵Michael Vogt
debian/sid
2013-10-03tests: install --no-install-recommends and stunnel4 for travisDavid Kalnischkies
stunnel4 is required for https tests Git-Dch: Ignore
2013-10-03test: use a multiarch capable dpkg rather than workaroundDavid Kalnischkies
The tests require nowadays a (somewhat) multiarch-capable dpkg, so replace the workaround as marked in the FIXME with a proper install as the workaround isn't working always correctly, letting the test fail. Git-Dch: Ignore
2013-10-03do not ++ on erased package pointers in autoremoveDavid Kalnischkies
Symptom: In an Ubuntu precise chroot (like on travis-ci) test-bug-613420-new-garbage-dependency segfaults in a std::set operator++ on an iterator we have erased previously (but not if run under gdb of course)
2013-10-03fix lzma-support detection via xz binaryDavid Kalnischkies
Clear() only clears a config option, not removing it and an empty setting still exists. Hence we set the option instead to the xz path so that the later existance check can find a binary for the test
2013-10-03use pkgAcqArchive in 'download' for proper errorsDavid Kalnischkies
With a bit of trickery we can reuse the usual infrastructure we have in place to acquire deb files for the 'download' operation as well, which gains us authentification check & display, error messages, correct filenames and "downloads" from the root-owned archives.
2013-10-03put fetch errors in 'source' on our errorstackDavid Kalnischkies
refactor the fetching process so that it looks more like the others we have in the hope that we can reuse code in the future. This is a soft interface change as 'source' previously printed errors directly on stderr, while it will now push it onto our usual error stack.
2013-10-03refactor onError relabeling of DestFile as '.FAILED'David Kalnischkies
This helps ensure three things: - each error is reported via ReportMirrorFailure - if DestFile doesn't exist, do not attempt rename - renames happen for every error The last one wasn't the case for Size mismatches, which isn't nice, but not a exploitable problem per-se as the file isn't picked up and remains in partial/ where the following download-try will at most take it for a partial request which fails the hashsum verification later on Git-Dch: Ignore
2013-10-02tests: fix some problems travis encountersDavid Kalnischkies
Git-Dch: Ignore
2013-10-02Merge remote-tracking branch 'origin/bugfix/dpkg-progress-multiarch' into ↵Michael Vogt
bugfix/dpkg-progress-multiarch
2013-10-02make dpkg progress slightly nicerMichael Vogt
2013-10-01change maxsplit default from "0" to maxintMichael Vogt
2013-10-01improve documentation for StringSplit()Michael Vogt
2013-10-01rename "--dpkg-progress" to "--show-progress" and document it in apt-get.8Michael Vogt
2013-10-01don't consider holds for autoremovalDavid Kalnischkies
We can't remove packages which are held back by the user with a hold, so marking them (or its dependencies) as garbage will lead our autoremover into madness – and given that the package is important enough that the user has held it back it can't be garbage (at least at the moment), so even if a front-end wants to use the info just for information display its a good idea to not consider it garbage for them. Closes: 724995
2013-10-01handle complete responses to https range requestsDavid Kalnischkies
Servers might respond with a complete file either because they don't support Ranges at all or the If-Range condition isn't statisfied, so we have to parse the headers curl gets ourself to seek or truncate the file we have so far. This also finially adds the testcase testing a bunch of partial situations for both, http and https - which is now all green. Closes: 617643, 667699 LP: 1157943
2013-10-01fix partial (206 and 416) support in httpsDavid Kalnischkies
As lengthy discussed in lp:1157943 partial https support was utterly broken as a 206 response was handled as an (unhandled) error. This is the first part of fixing it by supporting a 206 response and starting to deal with 416.
2013-10-01refactor http client implementationDavid Kalnischkies
No effective behavior change, just shuffling big junks of code between methods and classes to split them into those strongly related to our client implementation and those implementing HTTP. The idea is to get HTTPS to a point in which most of the implementation can be shared even though the client implementations itself is completely different. This isn't anywhere near yet though, but it should beenough to reuse at least a few lines from http in https now. Git-Dch: Ignore
2013-10-01replace "filesize - 1" trick in http with proper 416 handlingDavid Kalnischkies
Our http client requests the "filesize - 1" for the small edgecase of handling a file which was completely downloaded, but not yet moved to the correct place as we get 416 errors in that case, but as we can handle 416 returns now we just special-case the situation of requesting the exact filesize and handle it as a 200 without content instead.
2013-10-01retry without partial data after a 416 responseDavid Kalnischkies
If we get a 416 from the server it means the Range we asked for is above the real filesize of the file on the server. Mostly this happens if the server isn't supporting If-Range, but regardless of how we end up with the partial data, the data is invalid so we discard it and retry with a fresh plate and hope for the best. Old behavior was to consider 416 an error and retry with a different compression until we ran out of compression and requested the uncompressed file (which doesn't exist on most mirrors) with an accept line which server answered with "406 Not Acceptable". Closes: 710924
2013-09-30add Range and If-Range support in the webserverDavid Kalnischkies
Git-Dch: Ignore
2013-09-30access _config via GET requests in the webserverDavid Kalnischkies
Git-Dch: Ignore
2013-09-30APT has no bugsDavid Kalnischkies
Okay, maybe it does have a "few", but the DDTP issues mentioned in this file are long since gone, so lets just drop the file and look at the PTS instead: http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=apt Git-Dch: Ignore
2013-09-26test: apt-get source with more than one argumentDavid Kalnischkies
Closes: 722549 Git-Dch: Ignore
2013-09-26print-uris prints regardless of quiet-level againDavid Kalnischkies
While the InstallPackages code was moved from apt-get into the private library the output was moved from (std::)cout to c1out which isn't shown in quiet level 2 (and above), so we flip back to std::cout to ensure that it is always printed as you are not going to use --print-uris if you don't want to see the uris… Closes: 722207
2013-09-26compression-neutral message for missing data.tar memberDavid Kalnischkies
It even reuses the message used for the other check-for members, so one less message to translate (good, as not that many people will ever see it). Closes: 722710
2013-09-26pkg from only trusted sources keeps being trustedDavid Kalnischkies
--allow-unauthenticated switches the download to a pre-0.6 system in which a package can come from any source, rather than that trusted packages can only come from trusted sources. To allow this the flag used to set all packages as untrusted, which is a bit much, so we check now if the package can be acquired via an untrusted source and only if this is the case set it as untrusted. As APT nowadays supports setting sources as trusted via a flag in the sources.list this mode shouldn't be used that much anymore though. [Note that this is not the patch from the BTS] Closes: 617690
2013-09-26don't strip :any from dependencies in single-archDavid Kalnischkies
The parser goes a bit to far by stripping :any from dependencies in a single architecture environment. the flag "Multi-Arch: allowed" doesn't care any architecture restrictions in that case (as in single arch everything is native), but it still limits the possible versions statisfying the dependency so stripping :any over-simplifies in upgrade situations from "Multi-Arch: none" to "Multi-Arch: allowed". Closes: 723586
2013-09-23Fix typo in apt-private/private-show.cc. Thanks to Benjamin Keresa. Closes: ↵Christian PERRIER
#724073
2013-09-20releasing package apt version 0.9.11.4Michael Vogt
2013-09-20do not trust FileFd::Eof() in pkgTagFile::Fill()David Kalnischkies
The Eof check was added (by me of course) in 0aae6d14390193e25ab6d0fd49295bd7b131954f as part of a fix up ~a month ago (at DebConf). The idea was not that bad, but doesn't make that much sense either as this bit is set by the FileFd based on Actual as well, so this is basically doing the same check again – with the difference that the HitEof bit can still linger from a previous Read we did at the end of the file, but have seek'd away from it now. Combined with the length of entries, entry order and other not that easily controllable conditions you can be 'lucky' enough to hit this problem in a way which even visible (truncating of other fields might not be visible easily, like 'Tags' and others). Closes: 723705 Thanks: Cyril Brulebois
2013-09-18improve the API for Upgrade()Michael Vogt
2013-09-12add a testcase for 100 char long path truncate bug #689582David Kalnischkies
Git-Dch: Ignore
2013-09-12don't truncate 100 char long paths in tar extractionOskari Saarenmaa
When a data.tar.{gz,xz} contains a path name that is exactly 100 characters long, it will get truncated to 99 chars upon extraction in ExtractTar::Go(). Using all of the 100 available characters for the filename seems to be new behaviour in gnu tar. Closes: #689582 Thanks: Mika Eloranta for the testcase!
2013-09-10Fix regression of "apt-cache unmet -i", thanks to Daniel Schepler (closes: ↵0.9.11.3Michael Vogt
#722324)
2013-09-10prepare uploadMichael Vogt
2013-09-07doc updateMichael Vogt
2013-09-07fix multiarch status-fd progress calculationMichael Vogt
2013-09-07add maxsplit parameter to StringSplitMichael Vogt
2013-09-07implement StringSplit() as we need this to fix the dpkg status-fd output parsingMichael Vogt
2013-09-03use FileFd in HashSum test to unbreak non-linux portsDavid Kalnischkies
The testcode happily mixes FILE* operations and direct access to fds which is even a bit suprising that it works on linux and worked so long for non-linux ports, so we switch to usage of FileFd instead which provides us with simple fd-only operations. Its overkill for this test as its a bare file and we ask for the descriptor all the time, but it shouldn't hurt to implicitly test it a bit this way. Closes: 721723 Thanks: Aaron M. Ucko