You are not logged in.

#1 2011-08-28 00:04:00

stealthy
Member
Registered: 2011-05-02
Posts: 67

Torrent package manager

Hello, I've created a framework for a torrent package manager (tpm). It currently is at https://github.com/Afterburn/tpm.

It is currently setup like so:
tpm.py --> tpm_daemon.py (if needed) --> tpm_server.py

to upgrade the package list:
tpm.py --> periodically_created_list (on server, by the tpm_server.py)



Its not finished, but I need some help with dealing with the actual packages. I would like to integrate this into pacman (which should be possible). Its currently written in Python2, and to integrate into pacman I think I can use a modified XferCommand as a hook.

If I can get this hook working it should look like so:

pacman ---> *downloads file* ---> install  ---> etc...
                                            |
                                            v ---> tpm.py (with a custom "pacman" arg) ---> tpm_deamon.py (hook) ---> tpm_server.py (which would announce the new auto-created torrent package if the user opts in)



I'm basically needing help with the code/concept, if you would like to merge pm me on github.


clipodder-git A small simple cron-friendly podcast downloader, with support for arbitrary user defined media types (pdf, html, etc...)

Offline

#2 2011-08-28 00:39:07

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Torrent package manager

Are you going to create a torrent for each package? Who will seed? Are you aware that Arch packages change pretty often?

What purpose does your package manager serve, what's the problem you're trying to solve? Or is it just for fun?

Last edited by karol (2011-08-28 00:39:31)

Offline

#3 2011-08-28 00:48:08

stealthy
Member
Registered: 2011-05-02
Posts: 67

Re: Torrent package manager

I'm trying to think of a way to implement a way of seeing the most popular packages or maybe it will seed them if they are over a certain size, ie 15MB. The users will seed, but of course they will be able to throttle it. Yes I'm aware they change, everything will happen automatically when they change, the tracker will stop tracking it, the torrent will be deleted client side, and life will go on. 

From the README on github.

Goals:
-to reduce server load, which in turn saves money.
-increase speeds for large packages
-provide minimal changes to the end user
-implement distro specific code


clipodder-git A small simple cron-friendly podcast downloader, with support for arbitrary user defined media types (pdf, html, etc...)

Offline

Board footer

Powered by FluxBB