You are not logged in.
I can't use bigpkg anymore, because it expects everything in /var/lib/pacman/local/ to be a directory:
https://aur.archlinux.org/packages/bigpkg/ -> http://allanmcrae.com/scripts/bigpkg
Here are the important lines:
LOCAL_DB_PATH="/var/lib/pacman/local"
file = LOCAL_DB_PATH + "/" + dir + "/desc"
f = open(file, "r")
After running 'pacman-db-upgrade', /var/lib/pacman/local/ALPM_DB_VERSION was placed there
$ pacman -Qo /var/lib/pacman/local/ALPM_DB_VERSION
error: No package owns /var/lib/pacman/local/ALPM_DB_VERSION
$ cat /var/lib/pacman/local/ALPM_DB_VERSION
9
$ bigpkg
Traceback (most recent call last):
File "/usr/bin/bigpkg", line 83, in <module>
parse_package_info(pkg, dir)
File "/usr/bin/bigpkg", line 51, in parse_package_info
f = open(file, "r")
NotADirectoryError: [Errno 20] Not a directory: '/var/lib/pacman/local/ALPM_DB_VERSION/desc'
I can remove that file and make bigpkg work again, but it breaks pacman:
error: failed to initialize alpm library
(database is incorrect version: /var/lib/pacman/)
error: try running pacman-db-upgrade
Is it a bug? If not, can someone please fix bigpkg? I don't speak python, so I can't do it myself :-(
Last edited by karol (2015-01-16 18:50:59)
Offline
Have you tried rebuilding bigpkg against pacman 4.2?
Claire is fine.
Problems? I have dysgraphia, so clear and concise please.
My public GPG key for package signing
My x86_64 package repository
Offline
Yup.
AFAICT the bigpkg script expects no files, just directories in /var/lib/pacman/local/. If I can ask bigpkg to ignore /var/lib/pacman/local/ALPM_DB_VERSION I'm all set.
Offline
Download just the script from Allan's blog, the package is outdated. I'm not sure this will solve the problem, but it'sworth a shot.
Offline
Download just the script from Allan's blog, the package is outdated.
Have a look at the PKGBUILD: https://aur.archlinux.org/packages/bi/bigpkg/PKGBUILD
It only downloads and installs the script.
Offline
Just use expac...
Offline
Just use expac...
I do, I do :-)
$ type greatpkg
greatpkg is aliased to `expac -s -H M "%-30n %m" | sort -rhk 2 | head'
Offline
I believe you can use bigpkg if you patch it like this:
for dir in os.listdir(LOCAL_DB_PATH):
try:
pkg = dir[0:dir.rindex("-",0,dir.rindex("-"))]
pkg_list.append(pkg)
parse_package_info(pkg, dir)
except ValueError:
pass
Last edited by progandy (2015-01-15 22:57:20)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
So Allan broke his own script when updating ALPM?
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Allan has not looked at that script in a few years,,,
Offline
I believe you can use bigpkg if you patch it like this:
for dir in os.listdir(LOCAL_DB_PATH): try: pkg = dir[0:dir.rindex("-",0,dir.rindex("-"))] pkg_list.append(pkg) parse_package_info(pkg, dir) except ValueError: pass
Can you post a diff? I have no idea where to put it.
bigpkg complains
$ /usr/bin/bigpkg_patched
Traceback (most recent call last):
File "/usr/bin/bigpkg_patched", line 53, in <module>
pkg_list.append(pkg)
NameError: name 'pkg_list' is not defined
if I try to use the part you posted before the line that says
pkg_list = []
but I still have problems with
file = LOCAL_DB_PATH + "/" + dir + "/desc"
f = open(file, "r")
Offline
Can you post a diff? I have no idea where to put it.
There is a similar for-loop in the original code that you have to replace
diff --git a/bigpkg b/bigpkg
index b0ac16f..f8619ef 100644
--- a/bigpkg
+++ b/bigpkg
@@ -78,9 +78,12 @@ pkg_provides = {}
pkg_size = {}
for dir in os.listdir(LOCAL_DB_PATH):
- pkg = dir[0:dir.rfind("-",0,dir.rfind("-"))]
- pkg_list.append(pkg)
- parse_package_info(pkg, dir)
+ try:
+ pkg = dir[0:dir.rindex("-",0,dir.rindex("-"))]
+ pkg_list.append(pkg)
+ parse_package_info(pkg, dir)
+ except ValueError:
+ pass
pkg_deptree = {}
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
Thank you very much :-)
Offline
Allan has not looked at that script in a few years,,,
I expected as much, but the nominal comedic value is golden.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
Patching bigpkg as proposed above gives a Syntax error in this location:
# bigpkg
File "/usr/bin/bigpkg", line 84
except ValueError:
^
SyntaxError: invalid syntax
Dunno Python so I could just check if I closed parenthesis above line 84 and yes they are =}
---
pacman 4.2.1-1
Seeded last month: Arch 50 gig, derivatives 1 gig
Desktop @3.3GHz 8 gig RAM, linux-ck
laptop #1 Atom 2 gig RAM, Arch linux stock i686 (6H w/ 6yrs old battery ) #2: ARM Tegra K1, 4 gig RAM, ChrOS
Atom Z520 2 gig RAM, OMV (Debian 7) kernel 3.16 bpo on SDHC | PGP Key: 0xFF0157D9
Offline