]> git.saurik.com Git - apt.git/log
apt.git
11 years agoadd new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly APT::Keep...
Michael Vogt [Thu, 31 Oct 2013 21:55:38 +0000 (22:55 +0100)] 
add new pid_t ExecFork(std::set<int> KeepFDs) to get rid of the super ugly APT::Keep-Fds hack and also add a new PackageManagerProgressFd::StartDpkg() progress state

11 years agomove pty magic into its own functions
Michael Vogt [Thu, 31 Oct 2013 20:03:33 +0000 (21:03 +0100)] 
move pty magic into its own functions

11 years agofix some more ABI issues, abicheck is happy now
Michael Vogt [Thu, 31 Oct 2013 16:08:20 +0000 (17:08 +0100)] 
fix some more ABI issues, abicheck is happy now

11 years agorestore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13)
Michael Vogt [Thu, 31 Oct 2013 07:23:12 +0000 (08:23 +0100)] 
restore ABI and prepare next ABI via #if (APT_PKG_MAJOR >= 4 && APT_PKG_MINOR >= 13)

11 years agomove pty stuff into its own function
Michael Vogt [Thu, 31 Oct 2013 06:36:47 +0000 (07:36 +0100)] 
move pty stuff into its own function

11 years agoMerge remote-tracking branch 'upstream/debian/sid' into feature/install-progress...
Michael Vogt [Fri, 25 Oct 2013 13:45:38 +0000 (15:45 +0200)] 
Merge remote-tracking branch 'upstream/debian/sid' into feature/install-progress-refactor

11 years agoextract getDpkgExecutable() and DPkgPM::BuildPackagesProgressMap() out of the monster...
Michael Vogt [Fri, 25 Oct 2013 13:43:28 +0000 (15:43 +0200)] 
extract getDpkgExecutable() and DPkgPM::BuildPackagesProgressMap() out of the monster long pkgDPkgPM::Go()

11 years agoimprove documentation for Acquire::http::Proxy-Auto-Detect (thanks to Francesco Poli)
Michael Vogt [Fri, 25 Oct 2013 10:23:11 +0000 (12:23 +0200)] 
improve documentation for Acquire::http::Proxy-Auto-Detect (thanks to Francesco Poli)

11 years agomake the main loop a while() instead of a for() as I find this (much) easier to read...
Michael Vogt [Thu, 24 Oct 2013 06:31:50 +0000 (08:31 +0200)] 
make the main loop a while() instead of a for() as I find this (much) easier to read this way)

11 years agoMerge remote-tracking branch 'upstream/debian/sid' into feature/install-progress...
Michael Vogt [Tue, 22 Oct 2013 20:05:15 +0000 (22:05 +0200)] 
Merge remote-tracking branch 'upstream/debian/sid' into feature/install-progress-refactor

Conflicts:
apt-pkg/deb/dpkgpm.cc
apt-pkg/makefile

11 years agofix failing ./test/integration/test-disappearing-packages (thanks Donkult) - ported...
Michael Vogt [Tue, 22 Oct 2013 19:55:02 +0000 (21:55 +0200)] 
fix failing ./test/integration/test-disappearing-packages (thanks Donkult) - ported from the mvo/feature/install-progress-refactor branch

11 years agofix failing ./test/integration/test-disappearing-packages (thanks Donkult!)
Michael Vogt [Tue, 22 Oct 2013 19:53:49 +0000 (21:53 +0200)] 
fix failing ./test/integration/test-disappearing-packages (thanks Donkult!)

11 years agotest/integration/run-tests: output the failed test names
Michael Vogt [Tue, 22 Oct 2013 19:38:45 +0000 (21:38 +0200)] 
test/integration/run-tests: output the failed test names

11 years agoMerge remote-tracking branch 'mvo/feature/upgrade-api' into debian/sid
Michael Vogt [Tue, 22 Oct 2013 19:24:13 +0000 (21:24 +0200)] 
Merge remote-tracking branch 'mvo/feature/upgrade-api' into debian/sid

11 years agouse Pkg.FullName() in disappearedPkgs and remove duplicated check
Michael Vogt [Tue, 22 Oct 2013 19:15:55 +0000 (21:15 +0200)] 
use Pkg.FullName() in disappearedPkgs and remove duplicated check

11 years agofix install-progress location
Michael Vogt [Tue, 22 Oct 2013 17:02:01 +0000 (19:02 +0200)] 
fix install-progress location

11 years agomove install-progress.{cc,h} to apt-pkg
Michael Vogt [Tue, 22 Oct 2013 16:44:14 +0000 (18:44 +0200)] 
move install-progress.{cc,h} to apt-pkg

11 years agoadd Acquire::http::Proxy-Auto-Detect to the apt.conf.5 manpage (closes: 726597)
Michael Vogt [Sat, 19 Oct 2013 16:29:59 +0000 (18:29 +0200)] 
add Acquire::http::Proxy-Auto-Detect to the apt.conf.5 manpage (closes: 726597)

11 years agoadd APT::Status-deb822-Fd
Michael Vogt [Mon, 21 Oct 2013 20:11:40 +0000 (22:11 +0200)] 
add APT::Status-deb822-Fd

11 years agorestore binary compatiblity with the pkgPackageManager interface
Michael Vogt [Mon, 21 Oct 2013 19:42:16 +0000 (21:42 +0200)] 
restore binary compatiblity with the pkgPackageManager interface

11 years agofix apt output ordering and update test to match the new human friendly messages...
Michael Vogt [Mon, 21 Oct 2013 19:24:32 +0000 (21:24 +0200)] 
fix apt output ordering and update test to match the new human friendly messages that include the architecture

11 years agomove iprogress.{cc,h} to private-progress.{cc,h} until its fully stable
Michael Vogt [Mon, 21 Oct 2013 19:23:07 +0000 (21:23 +0200)] 
move iprogress.{cc,h} to private-progress.{cc,h} until its fully stable

11 years agore-add missing APT::String::Strip
Michael Vogt [Fri, 18 Oct 2013 16:26:56 +0000 (18:26 +0200)] 
re-add missing APT::String::Strip

11 years agomerged debian/sid
Michael Vogt [Fri, 18 Oct 2013 13:56:06 +0000 (15:56 +0200)] 
merged debian/sid

11 years agouse std::string instead of char* in pkgDPkgPM::ProcessDpkgStatusLine()
Michael Vogt [Fri, 18 Oct 2013 07:40:05 +0000 (09:40 +0200)] 
use std::string instead of char* in pkgDPkgPM::ProcessDpkgStatusLine()

11 years agoreshuffle the pkgDPkgPM::ProcessDpkgStatusLine() some more to make it more robust
Michael Vogt [Fri, 18 Oct 2013 07:28:08 +0000 (09:28 +0200)] 
reshuffle the pkgDPkgPM::ProcessDpkgStatusLine() some more to make it more robust

11 years agoreshuffle dpkgpm.cc code a bit more
Michael Vogt [Fri, 18 Oct 2013 06:32:36 +0000 (08:32 +0200)] 
reshuffle dpkgpm.cc code a bit more

11 years agoadd $* to gdb to make it more useful
Michael Vogt [Fri, 18 Oct 2013 06:32:14 +0000 (08:32 +0200)] 
add $* to gdb to make it more useful

11 years agoadd APT::String::Strip(), start cleanup of ProcessDpkgStatusLine
Michael Vogt [Fri, 18 Oct 2013 06:10:29 +0000 (08:10 +0200)] 
add APT::String::Strip(), start cleanup of ProcessDpkgStatusLine

11 years agocleanup
Michael Vogt [Fri, 18 Oct 2013 06:02:29 +0000 (08:02 +0200)] 
cleanup

11 years agoensure that short-name -> long-name detection for dpkg-status works for reinstalls too
Michael Vogt [Thu, 17 Oct 2013 06:18:09 +0000 (08:18 +0200)] 
ensure that short-name -> long-name detection for dpkg-status works for reinstalls too

11 years agoMerge branch 'debian/sid' into feature/install-progress-refactor
Michael Vogt [Thu, 17 Oct 2013 06:03:41 +0000 (08:03 +0200)] 
Merge branch 'debian/sid' into feature/install-progress-refactor

Conflicts:
apt-pkg/deb/dpkgpm.cc

11 years agofix broken clean when apt was finished and ensure that terminal progress is updated...
Michael Vogt [Thu, 17 Oct 2013 05:47:15 +0000 (07:47 +0200)] 
fix broken clean when apt was finished and ensure that terminal progress is updated when a new dpkg-loop is entered in dpkgpm.cc

11 years agofix changelog
Michael Vogt [Tue, 15 Oct 2013 19:12:19 +0000 (21:12 +0200)] 
fix changelog

11 years agoreleasing package apt version 0.9.12.1 0.9.12.1
Michael Vogt [Tue, 15 Oct 2013 16:50:09 +0000 (18:50 +0200)] 
releasing package apt version 0.9.12.1

11 years agoremove POSTINST from framework, file tree can be used for this
Michael Vogt [Tue, 15 Oct 2013 16:09:09 +0000 (18:09 +0200)] 
remove POSTINST from framework, file tree can be used for this

11 years agotests, do not send pkgname with arch via the status-fd
Michael Vogt [Tue, 15 Oct 2013 16:07:44 +0000 (18:07 +0200)] 
tests, do not send pkgname with arch via the status-fd

11 years agoMerge remote-tracking branch 'upstream/debian/sid' into bugfix/bts-726156-2
Michael Vogt [Tue, 15 Oct 2013 15:54:31 +0000 (17:54 +0200)] 
Merge remote-tracking branch 'upstream/debian/sid' into bugfix/bts-726156-2

11 years agofix logic for finding what package dpkg means in the --status-fd and only send out...
Michael Vogt [Tue, 15 Oct 2013 13:39:59 +0000 (15:39 +0200)] 
fix logic for finding what package dpkg means in the --status-fd and only send out short packagenames

11 years agofix progress-segfault in case of dpkg errors/prompts
David Kalnischkies [Sun, 13 Oct 2013 17:33:09 +0000 (19:33 +0200)] 
fix progress-segfault in case of dpkg errors/prompts

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
11 years agore-add APT::Keep-Fds:: for the dpkg status-fd in dpkgpm.cc as we always need this
Michael Vogt [Mon, 14 Oct 2013 06:42:48 +0000 (08:42 +0200)] 
re-add APT::Keep-Fds:: for the dpkg status-fd in dpkgpm.cc as we always need this

11 years agorename APT::Progress::Packagemanager Started->Start, Finished->Stop to match pkgAcqui...
Michael Vogt [Mon, 14 Oct 2013 05:52:21 +0000 (07:52 +0200)] 
rename APT::Progress::Packagemanager Started->Start, Finished->Stop to match pkgAcquireStatus

11 years agorefactor writing to WriteToStatusFd()
Michael Vogt [Mon, 14 Oct 2013 05:40:56 +0000 (07:40 +0200)] 
refactor writing to WriteToStatusFd()

11 years agoadd APT::Progress::PackageManager::Pulse()
Michael Vogt [Sun, 13 Oct 2013 13:10:53 +0000 (15:10 +0200)] 
add APT::Progress::PackageManager::Pulse()

11 years agomove the status-fd progress reporting out of the pkgDPkgPM class, at this point,...
Michael Vogt [Sun, 13 Oct 2013 13:05:04 +0000 (15:05 +0200)] 
move the status-fd progress reporting out of the pkgDPkgPM class, at this point, breaks ABI/API, lets see what we can do about this

11 years agomove common code into PackageManager::StatusChanged()
Michael Vogt [Fri, 11 Oct 2013 20:48:22 +0000 (22:48 +0200)] 
move common code into PackageManager::StatusChanged()

11 years agodeal with nr_terminal_rows unavailable
Michael Vogt [Fri, 11 Oct 2013 20:16:55 +0000 (22:16 +0200)] 
deal with nr_terminal_rows unavailable

11 years agoMerge branch 'debian/sid' of ssh://git.debian.org/git/apt/apt into debian/sid
Michael Vogt [Fri, 11 Oct 2013 20:05:47 +0000 (22:05 +0200)] 
Merge branch 'debian/sid' of ssh://git.debian.org/git/apt/apt into debian/sid

11 years agoadd missing _() around the new "Progress" string
Michael Vogt [Fri, 11 Oct 2013 20:05:38 +0000 (22:05 +0200)] 
add missing _() around the new "Progress" string

11 years agofirst iteration of install progress refactor
Michael Vogt [Fri, 11 Oct 2013 17:27:23 +0000 (19:27 +0200)] 
first iteration of install progress refactor

11 years agoMerge branch 'debian/sid' of ssh://git.debian.org/git/apt/apt into debian/sid
Michael Vogt [Wed, 9 Oct 2013 20:37:46 +0000 (22:37 +0200)] 
Merge branch 'debian/sid' of ssh://git.debian.org/git/apt/apt into debian/sid

11 years agofix typo
Michael Vogt [Wed, 9 Oct 2013 19:20:57 +0000 (21:20 +0200)] 
fix typo

11 years agofix typo
Michael Vogt [Wed, 9 Oct 2013 19:20:57 +0000 (21:20 +0200)] 
fix typo

11 years agoreleasing package apt version 0.9.12
Michael Vogt [Wed, 9 Oct 2013 18:50:13 +0000 (20:50 +0200)] 
releasing package apt version 0.9.12

11 years agoupdate changelog
Michael Vogt [Wed, 9 Oct 2013 13:02:49 +0000 (15:02 +0200)] 
update changelog

11 years agoMerge remote-tracking branch 'mvo/feature/limit-default-pdiffs' into debian/sid
Michael Vogt [Wed, 9 Oct 2013 12:55:01 +0000 (14:55 +0200)] 
Merge remote-tracking branch 'mvo/feature/limit-default-pdiffs' into debian/sid

11 years agoMerge remote-tracking branch 'mvo/feature/add-upgrade-mode-test' into debian/sid
Michael Vogt [Wed, 9 Oct 2013 12:51:09 +0000 (14:51 +0200)] 
Merge remote-tracking branch 'mvo/feature/add-upgrade-mode-test' into debian/sid

11 years agofixup various UI issues in the test
Michael Vogt [Wed, 9 Oct 2013 12:02:42 +0000 (14:02 +0200)] 
fixup various UI issues in the test

11 years agoreally fix test
Michael Vogt [Wed, 9 Oct 2013 10:37:52 +0000 (12:37 +0200)] 
really fix test

11 years agouse "insertpackage" instead of "buildsimplenativepackage"
Michael Vogt [Wed, 9 Oct 2013 09:01:18 +0000 (11:01 +0200)] 
use "insertpackage" instead of "buildsimplenativepackage"

11 years agoupdate Uploaders to match recent uploaders better
Michael Vogt [Wed, 9 Oct 2013 08:27:11 +0000 (10:27 +0200)] 
update Uploaders to match recent uploaders better

11 years agoadd test for upgrade, upgrade --with-new-pkgs, dist-upgrade
Michael Vogt [Wed, 9 Oct 2013 05:58:31 +0000 (07:58 +0200)] 
add test for upgrade, upgrade --with-new-pkgs, dist-upgrade

11 years agoapt-pkg/deb/dpkgpm.cc: fix off-by-one in SetupTerminalScrollArea reset
Michael Vogt [Tue, 8 Oct 2013 19:48:14 +0000 (21:48 +0200)] 
apt-pkg/deb/dpkgpm.cc: fix off-by-one in SetupTerminalScrollArea reset

11 years agoprepare new release
Michael Vogt [Tue, 8 Oct 2013 18:39:03 +0000 (20:39 +0200)] 
prepare new release

11 years agoMerge remote-tracking branch 'mvo/feature/dpkg-progress-fancy' into debian/sid
Michael Vogt [Tue, 8 Oct 2013 17:59:26 +0000 (19:59 +0200)] 
Merge remote-tracking branch 'mvo/feature/dpkg-progress-fancy' into debian/sid

11 years agoMerge remote-tracking branch 'mvo/feature/upgrade-with-new' into debian/sid
Michael Vogt [Tue, 8 Oct 2013 17:59:04 +0000 (19:59 +0200)] 
Merge remote-tracking branch 'mvo/feature/upgrade-with-new' into debian/sid

11 years agoMerge remote-tracking branch 'mvo/feature/dpkg-progress-docs' into debian/sid
Michael Vogt [Tue, 8 Oct 2013 17:57:42 +0000 (19:57 +0200)] 
Merge remote-tracking branch 'mvo/feature/dpkg-progress-docs' into debian/sid

11 years agodebian/apt.postinst: use --compare-versions lt instead of lt-nl, to ensure the apt...
Michael Vogt [Tue, 8 Oct 2013 17:46:39 +0000 (19:46 +0200)] 
debian/apt.postinst: use --compare-versions lt instead of lt-nl, to ensure the apt-auto-removal file is correctly create, thanks to Ben Hutchings

11 years agofix off-by-one error in pkgDPkgPM::SetupTerminalScrollArea()
Michael Vogt [Mon, 7 Oct 2013 11:46:30 +0000 (13:46 +0200)] 
fix off-by-one error in pkgDPkgPM::SetupTerminalScrollArea()

11 years agofix libapt-inst for >2G debs (closes: #725483)
Michael Vogt [Mon, 7 Oct 2013 11:42:50 +0000 (13:42 +0200)] 
fix libapt-inst for >2G debs (closes: #725483)

11 years agouse Dpkg::Progress-Fancy to be consitent with Dpkg::Progress
Michael Vogt [Mon, 7 Oct 2013 11:37:28 +0000 (13:37 +0200)] 
use Dpkg::Progress-Fancy to be consitent with Dpkg::Progress

11 years agoadd -o DpkgPM::Progress-Fancy for better dpkg progress output on vt100+ terminals
Michael Vogt [Mon, 7 Oct 2013 08:26:50 +0000 (10:26 +0200)] 
add -o DpkgPM::Progress-Fancy for better dpkg progress output on vt100+ terminals

11 years agorename FORBID_NEW_INSTALL_PACKAGES to FORBID_INSTALL_NEW_PACKAGES
Michael Vogt [Sat, 5 Oct 2013 10:30:26 +0000 (12:30 +0200)] 
rename FORBID_NEW_INSTALL_PACKAGES to FORBID_INSTALL_NEW_PACKAGES

11 years agoMove ListUpdate/AquireUpdate into update.{cc,h}
Michael Vogt [Sat, 5 Oct 2013 10:22:55 +0000 (12:22 +0200)] 
Move ListUpdate/AquireUpdate into update.{cc,h}

This moves the ListUpdate/AquireUpdate out of the "catch-all"
algorithm.{cc,h} file into its own update.{cc,h}

11 years ago* move upgrade releated code into upgrade.{cc,h}
Michael Vogt [Sat, 5 Oct 2013 10:15:03 +0000 (12:15 +0200)] 
* move upgrade releated code into upgrade.{cc,h}

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).

11 years agore-add "Calculating upgrade..." message
Michael Vogt [Sat, 5 Oct 2013 09:55:08 +0000 (11:55 +0200)] 
re-add "Calculating upgrade..." message

11 years agocleanup upgrade API some more (thanks for the feedback from David)
Michael Vogt [Sat, 5 Oct 2013 09:54:08 +0000 (11:54 +0200)] 
cleanup upgrade API some more (thanks for the feedback from David)

11 years agoMerge remote-tracking branch 'donkult/debian/sid' into debian/sid
Michael Vogt [Sat, 5 Oct 2013 08:49:34 +0000 (10:49 +0200)] 
Merge remote-tracking branch 'donkult/debian/sid' into debian/sid

11 years agoMerge remote-tracking branch 'mvo/bugfix/dpkg-progress-multiarch' into debian/sid
Michael Vogt [Sat, 5 Oct 2013 08:49:26 +0000 (10:49 +0200)] 
Merge remote-tracking branch 'mvo/bugfix/dpkg-progress-multiarch' into debian/sid

11 years agotests: install --no-install-recommends and stunnel4 for travis
David Kalnischkies [Thu, 3 Oct 2013 20:58:55 +0000 (22:58 +0200)] 
tests: install --no-install-recommends and stunnel4 for travis

stunnel4 is required for https tests

Git-Dch: Ignore

11 years agotest: use a multiarch capable dpkg rather than workaround
David Kalnischkies [Thu, 3 Oct 2013 20:49:58 +0000 (22:49 +0200)] 
test: use a multiarch capable dpkg rather than workaround

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

11 years agodo not ++ on erased package pointers in autoremove
David Kalnischkies [Thu, 3 Oct 2013 20:23:11 +0000 (22:23 +0200)] 
do not ++ on erased package pointers in autoremove

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)

11 years agofix lzma-support detection via xz binary
David Kalnischkies [Thu, 3 Oct 2013 19:34:52 +0000 (21:34 +0200)] 
fix lzma-support detection via xz binary

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

11 years agouse pkgAcqArchive in 'download' for proper errors
David Kalnischkies [Thu, 3 Oct 2013 13:11:21 +0000 (15:11 +0200)] 
use pkgAcqArchive in 'download' for proper errors

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.

11 years agoput fetch errors in 'source' on our errorstack
David Kalnischkies [Thu, 3 Oct 2013 12:45:41 +0000 (14:45 +0200)] 
put fetch errors in 'source' on our errorstack

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.

11 years agorefactor onError relabeling of DestFile as '.FAILED'
David Kalnischkies [Wed, 2 Oct 2013 23:12:18 +0000 (01:12 +0200)] 
refactor onError relabeling of DestFile as '.FAILED'

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

11 years agotests: fix some problems travis encounters
David Kalnischkies [Wed, 2 Oct 2013 11:34:59 +0000 (13:34 +0200)] 
tests: fix some problems travis encounters

Git-Dch: Ignore

11 years agoMerge remote-tracking branch 'origin/bugfix/dpkg-progress-multiarch' into bugfix...
Michael Vogt [Wed, 2 Oct 2013 08:15:52 +0000 (10:15 +0200)] 
Merge remote-tracking branch 'origin/bugfix/dpkg-progress-multiarch' into bugfix/dpkg-progress-multiarch

11 years agomake dpkg progress slightly nicer
Michael Vogt [Wed, 2 Oct 2013 08:15:28 +0000 (10:15 +0200)] 
make dpkg progress slightly nicer

11 years agochange maxsplit default from "0" to maxint
Michael Vogt [Tue, 1 Oct 2013 10:38:03 +0000 (12:38 +0200)] 
change maxsplit default from "0" to maxint

11 years agoimprove documentation for StringSplit()
Michael Vogt [Tue, 1 Oct 2013 10:03:37 +0000 (12:03 +0200)] 
improve documentation for StringSplit()

11 years agorename "--dpkg-progress" to "--show-progress" and document it in apt-get.8
Michael Vogt [Tue, 1 Oct 2013 09:30:56 +0000 (11:30 +0200)] 
rename "--dpkg-progress" to "--show-progress" and document it in apt-get.8

11 years agodon't consider holds for autoremoval
David Kalnischkies [Mon, 30 Sep 2013 16:51:40 +0000 (18:51 +0200)] 
don't consider holds for autoremoval

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
11 years agohandle complete responses to https range requests
David Kalnischkies [Mon, 30 Sep 2013 14:41:16 +0000 (16:41 +0200)] 
handle complete responses to https range requests

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

11 years agofix partial (206 and 416) support in https
David Kalnischkies [Mon, 30 Sep 2013 11:42:33 +0000 (13:42 +0200)] 
fix partial (206 and 416) support in https

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.

11 years agorefactor http client implementation
David Kalnischkies [Tue, 17 Sep 2013 20:35:44 +0000 (22:35 +0200)] 
refactor http client implementation

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

11 years agoreplace "filesize - 1" trick in http with proper 416 handling
David Kalnischkies [Mon, 16 Sep 2013 22:41:58 +0000 (00:41 +0200)] 
replace "filesize - 1" trick in http with proper 416 handling

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.

11 years agoretry without partial data after a 416 response
David Kalnischkies [Mon, 16 Sep 2013 21:21:11 +0000 (23:21 +0200)] 
retry without partial data after a 416 response

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
11 years agoadd Range and If-Range support in the webserver
David Kalnischkies [Sun, 15 Sep 2013 22:02:21 +0000 (00:02 +0200)] 
add Range and If-Range support in the webserver

Git-Dch: Ignore

11 years agoaccess _config via GET requests in the webserver
David Kalnischkies [Sun, 15 Sep 2013 20:54:04 +0000 (22:54 +0200)] 
access _config via GET requests in the webserver

Git-Dch: Ignore