You are not logged in.
For those of you that remember, powerpill is back.
Powerpill speeds up package and database downloads in several ways:
* parallel and segmented downloads with aria2c
* support for rsync downloads from official repos
* support for pacserve to save bandwidth
It's based on the Parisync script that I have been using for a while without issue. Wrapping that up and adding option handling has probably introduced a few bugs though.
For now the aria2c and rsync output is suppressed during downloads because most people think it is too spammy. Feel free to suggest ways to deal with that for reporting progress. If you want to play around with the code, just search for "stdout=DEVNULL" and remove it from the Popen calls.
I'll likely tweak option support as the current ones were written without too much thought.
Feedback is appreciated.
Last edited by Xyne (2012-12-07 21:29:00)
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Sorry for the 'ask-a-quick-question-without-testing', but does this bring back downloading multiple packages at the same time (which we lost with the last pacman update/powerpill hibernation)?
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
Powerpill revive
Yes powerpill was the first think that I install from the AUR in my first time using Arch
I love it (Powerpill multiple download at same time)
Thanks for the package
PD: wrong md5 and sha256 here
Last edited by Jristz (2012-11-29 07:40:23)
Well, I suppose that this is somekind of signature, no?
Offline
Excellent, used to use this a lot. Will give the new version a try.
I think aria2 needs to added as a dependency? I didn't have it installed and it gave me a missing file error (the aria2 executable) when I tried to run it. Once installed it ran fine - though I was up to date so not much of a test.
EDIT2 - forget it, worked it out.
Last edited by skanky (2012-11-29 17:33:43)
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
I was just thinking about this the other day! I'm glad it's back.
...But now I have to be that guy. Any hope of bauerbill's revival in the foreseeable future? Nothing ever came close. I've been using yaourt since bauerbill died. >:(
Offline
@Xyne: I'm getting this error, after which things work fine;
warning: failed to query Pacserve: [Errno 111] Connection refused
Registered Linux user #436067
Offline
Sorry for the 'ask-a-quick-question-without-testing', but does this bring back downloading multiple packages at the same time (which we lost with the last pacman update/powerpill hibernation)?
Simple answer: of course, it wouldn't be powerpill if it didn't download packages simultaneously
Not so simple answer: it depends on your configuration. If you only use official repos and enable rsync then it will not use parallel connections to download the packages. The Rsync algorithm only transfers a single file at a time. It's still faster than the default Pacman downloader (in my experience) because it doesn't need to renegotiate a connection for each package and it can quickly check for file changes (e.g. pacman -Sy is very fast). Of course, if you don't add an rsync server to the configuration file then it will use aria2c for everything, which will download all packages in parallel (up to the limit set in the options).
Pacserve connections are also single-package, sequential downloads, but they are over the LAN so they should be blazing fast. After getting all the files that it can from Pacserve it will then use multiple connections to retrieve packages from mirrors.
@Jristz
There's a new package with correct checksums.
@skanky
Thanks, the package now depends on aria2
@oboedad55
The pacserve server is no longer enabled by default, so the error should not appear now.
@pogeymanz
I'd like to create a replacement and I have a very clear idea of how to do it. It's actually part of something even bigger that I would like to do. The problem is that I barely have time to write little things like powerpill. Bigger projects are completely out of my reach right now and will likely remain that way for the foreseeable future.
@everyone
Just a heads up: I refactored the code and added much more extensive option parsing* to make it behave nicely as a Pacman wrapper. Lots of changes = good chance of (new) bugs.
The powerpill.conf file has also been replaced with a standard json file because it provides much more configurability (e.g. passing arguments to reflector, aria2c, rsync) without forcing me to re-invent the wheel and write a complicated parser from scratch. I also like json syntax and use it internally for a lot of things on the site. If you really don't like json then sorry, but hey, it could have been worse... I could have used xml
Check the man page (man powerpill.json) for information about the available options. You can use it to set up rsync, pacserve, reflector, aria2, etc. You can also enable output from aria2 and/or rsync so you see something happening while waiting for the download to complete.
Last edited by Xyne (2012-11-29 22:21:04)
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
\o/
I thought this day will never come. It takes great courage to rewrite a piece of software in an other language, kudos !
Offline
Feature request:- xml configuration =p
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
Thanks Xyne, everything works great now. Thanks for resurrecting this!
Registered Linux user #436067
Offline
Excellent, again.
One minor powerpill.json man page issue:
The rsync options section says:
args The list of arguments to pass to Reflector.
Should that be "to pass to rsync"?
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
@pogeymanz
I'd like to create a replacement and I have a very clear idea of how to do it. It's actually part of something even bigger that I would like to do. The problem is that I barely have time to write little things like powerpill. Bigger projects are completely out of my reach right now and will likely remain that way for the foreseeable future.
Any chance you might elaborate on your design? Even if you don't have the time to implement it, having a decent high-level design already planned out may inspire someone else .
Offline
@skanky
fixed, thanks
@Nazfellun
I may eventually publish some roadmaps I have once I accept that I will never be able to do it myself.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Feature request:
A verbose way to know if my database, packages or anythink IS downloading or not
Actually you have a sinple blank space with no message
Well, I suppose that this is somekind of signature, no?
Offline
Feature request:
A verbose way to know if my database, packages or anythink IS downloading or not
Actually you have a sinple blank space with no message
Download Progress
By default no output will be displayed during downloads while waiting for Aria2 and Rsync to complete. To enable Aria2 output, remove the --quiet option from the Aria2 arguments list. To enable output from Rsync, add e.g. --progress and/or --verbose to the Rsync arguments list.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Humm, works awesomely on most of my boxes, but on one I am getting the following on simply trying to install a package with it:
Traceback (most recent call last):
File "/usr/bin/powerpill", line 566, in <module>
run_main()
File "/usr/bin/powerpill", line 559, in run_main
main(args)
File "/usr/bin/powerpill", line 546, in main
powerpill.download(pm2ml_args)
File "/usr/bin/powerpill", line 413, in download
conf=self.pacman_conf
TypeError: build_download_queue() got an unexpected keyword argument 'conf'
Offline
@Nazfellun
Powerpill expects the latest version of pm2ml. You seem to have an older version on that box. I've added a versioned dependency to powerpill to prevent that error in the future.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
@Xyne
You could add bash-completion to complete the package names.
Arch Linux: The power in your hands!
Offline
@Xyne
You could add bash-completion to complete the package names.
done
It doesn't support powerpill's own options becauseI really have no idea how to write a custom bash-completion file. I'll fix that when I have time. If someone wants to submit a better bash-completion file or point me to a quick and clear tutorial, please do.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
If someone wants to submit a better bash-completion file or point me to a quick and clear tutorial, please do.
Check out this article, especially Part 2. It's surprisingly quite easy, once understood.
Knowing others is wisdom, knowing yourself is enlightenment. ~Lao Tse
Offline
Is it possible to use the first mirrors of pacman/d/mirrorlist instead of using reflector?
Offline
Is it possible to use the first mirrors of pacman/d/mirrorlist instead of using reflector?
It is now if you remove the reflector arguments from /etc/powerpill.json, but why would you want to do that?
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
To use only the mirrors I have tested (speed, sync time etc).
Offline
I test this
sudo powerpill -Sw kde-full $(pacman -Slq core) $(pacman -Slq multilib)
and powerpill freeze with no output about the kde-full
not sure if bug or I
Well, I suppose that this is somekind of signature, no?
Offline
@jristz
What repo is kde-full in? I do not have access to it on my system.
You will not see any output during the download unless you enable aria2 and rsync output as described above. Have you done that?
@everyone
I am going to enable output by default to avoid further confusion.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline