It's been a while, but a new update to DebTorrent is available in unstable. There is also a new version of the helper apt-transport-debtorrent (0.2.0) to go with it, which was mostly the cause of the long delay (due to a pending apt transition to testing). It is now highly recommended to install both, read below for new reasons why.

One of the previous problems with debtorrent was the incorrect status updates displayed by apt, due to it not being aware of pieces of large files that have already downloaded. Using these new versions together will help to improve the update status messages shown during a download. Now, apt-get update will display a status at the bottom that will look something like:

DebTorrent: 837MiB left at 319 KiB/s (46m03s)

You may not be able to see it all if there are multiple updates to different mirrors under way. In aptitude, the status will appear on a line by itself at the bottom of the list of downloaded files. The status line will update about once per second, and should give a good indication of how much time is really left. The other (incorrect) status information presented by apt/aptitude will still be there but you can ignore it. I've only tested apt and aptitude, so I'm not sure how (or if) synaptic, adept or gnome-apt will display these messages, though they are general apt status messages, usually used for displaying the status while logging into an FTP server.

This should also fix another problem that debtorrent can have with downloading large files (usually on slower connections). Since apt can't see the download happening for a long time, the connection would sometimes time out. With these status updates the connection is constantly active, so the timeouts shouldn't be a problem when downloading large packages (although they may still occur when doing an apt-get update, as there are no status updates during that process).

I did implement a better solution, as suggested by MichaƂPolitowski on the wiki. This solution uses the creation of sparse files to let apt know how much of a file has actually been downloaded. However, apt doesn't understand how a single process can download multiple files in prarallel, so it only follows the last file that was started, and complains when a file finishes that was not the last one that started. I've disabled that for now while I see if it's possible to modify apt to work better in this situation.

Here are the changes for debtorrent:

  • Update to support apt debtorrent transport version 0.2
    • send piece downloaded status messages (currently disbaled due to apt not liking it)
    • send general status update messages
  • Fix some minor packaging issues
  • Upgrade to standards version 3.7.3 (no changes)
  • Remove the unneeded binary-arch rule
  • Changes the XS-Vcs-* headers to Vcs-*
  • Moved Homepage from description to Source package fields

And for apt-transport-debtorrent:

  • Upgrade transport version to 0.2
    • Create sparse files based on status messages (102) from DebTorrent
    • Send general status updates to apt (103) from DebTorrent
  • Remove support for Range headers as they may confuse the sparse file allocation
  • Fix typo in long description
  • Upgrade to standards version 3.7.3 (no changes)
  • Changes the XS-Vcs-* headers to Vcs-*
  • Moved Homepage from description to Source package fields