Package Details: powerpill 2016.4.5.1-1

Git Clone URL: https://aur.archlinux.org/powerpill.git (read-only)
Package Base: powerpill
Description: Pacman wrapper for parallel and segmented downloads.
Upstream URL: http://xyne.archlinux.ca/projects/powerpill
Keywords: arch_linux pacman system
Licenses: GPL
Submitter: Xyne
Maintainer: Xyne
Last Packager: Xyne
Votes: 162
Popularity: 5.802897
First Submitted: 2012-11-29 03:58
Last Updated: 2016-04-20 01:17

Dependencies (9)

Required by (3)

Sources (2)

Latest Comments

pszynk commented on 2016-04-28 17:04

Hey, there is a bug in clean() method (when calling powerpill like: $ powerpill --powerpill-clean. Lines 910 and 913 with logging. No variable path, only dpath :).

mattlyons commented on 2016-04-21 01:23

@Xyne Using the AUR package, I used yaourt which was configured to download using powerpill. It uses powerpill as a wrapper for pacman, so I assume it made the call to upgrade one package, the powerpill call ended, then it called powerpill to upgrade the next dep, but the dep it just installed broke powerpill until the other dep and powerpill was updated. Either way, got it working by just upgrading configuring yaourt to use pacman temporarily.

lmat commented on 2016-04-21 00:04

powerpill --version shows "Pacman v5.0.1 - libalpm v10.0.1", so I think it's up to date. I installed using your repo. pacman allows me to continue to use your repo, but powerpill seems confused about the keys. Oh yeah, cute picture in pacman --version!

Xyne commented on 2016-04-20 20:15

@lmat
Does that error still occur with the latest version of powerpill?

@mattlyons
All imports are handled when it starts up. After that you can remove or change the modules on disk without affecting the running application because everything is already in RAM.

How did you upgrade powerpill and its deps? Are you using my repo or are you installing them from the AUR? If the former, did you do a partial upgrade or abort an upgrade midway? If the latter, did you upgrade all of the deps before invoking powerpill?

mattlyons commented on 2016-04-20 15:33

Edit: I'm pretty sure this is because I used powerpill to upgrade and updating the deps broke powerpill, which was being used to upgrade. Upgrading with pacman fixes it.

I get this error upgrading to the most recent version:

Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/lib/python3.5/site-packages/Powerpill.py", line 36, in <module>
import pm2ml
File "/usr/lib/python3.5/site-packages/pm2ml.py", line 34, in <module>
import XCPF.ArchPkg
ImportError: No module named 'XCPF.ArchPkg'; 'XCPF' is not a package

lmat commented on 2016-04-19 13:58

When I powerpill -Syu, I get the error:

error: xyne-x86_64: signature from "Xyne. (key #3) <xyne@archlinux.ca>" is invalid
error: database 'xyne-x86_64' is not valid (invalid or corrupted database (PGP signature))


But when I run pacman -Syu, no such error is presented.

Xyne commented on 2016-03-29 00:11

@BrianAllred
As Lone_Wolf has already pointed out, the dependency is indirect. python3-xcpf depends on python3-memoizedb and powerpill depends on python3-xcpf. PKGBUILD dependencies are only for direct dependencies. Pacman deals with the dependency resolution. You must have disabled dependency resolution when you installed powerpill, which is a bad idea.

Lone_Wolf commented on 2016-03-27 11:44

BrianAllred , that's incorrect.

powerpill depends on python3-xcpf , and that depends on python3-memoizedb .

File "/usr/lib/python3.5/site-packages/XCPF.py", line 24, in <module>
import MemoizeDB
ImportError: No module named 'MemoizeDB'

The last line of the traceback clearly shows that xcpf calls memoizedb.

BrianAllred commented on 2016-03-27 04:33

@Xyne

Yes, Powerpill does, in fact, directly depend on python3-memoizedb.

sudo powerpill -Su
[sudo] password for brian:
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/lib/python3.5/site-packages/Powerpill.py", line 36, in <module>
import pm2ml
File "/usr/lib/python3.5/site-packages/pm2ml.py", line 33, in <module>
import XCPF
File "/usr/lib/python3.5/site-packages/XCPF.py", line 24, in <module>
import MemoizeDB
ImportError: No module named 'MemoizeDB'

After running 'pacaur -S python3-memoizedb', everything is fine.

Xyne commented on 2016-03-12 12:20

Line 144 in the current version of XCPF.py is "mdb.db_initialize()". Please update to the latest versions before reporting errors. Sometimes they have already been fixed, and even if not it makes it easier to find the source of the error in the code if we're looking at the same lines.

XCGF (where that line is currently located) implements a class to do the equivalent of a "pushd" followed by a "popd" using the "with" keyword to ensure that the current working directory is left as-is for subsequent commands if necessary, instead of a simple "chdir". Powerpill itself isn't trying to do anything in that directory, but the Powerpill.py module is used by other code that expects the working directory to remain unchanged after the download.

When I have the time I will likely restructure the code where it's not necessary to return to the previous working directory. In the meantime just run it in a different directory. In general running things in non-existing directories tends to generate errors due to various sanity checks even if there are no side effects.

All comments