rmarquis / pacaur

[unmaintained] An AUR helper that minimizes user interaction
https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144
ISC License
796 stars 113 forks source link

--devel is broken #125

Closed lucy closed 11 years ago

lucy commented 11 years ago
:: Starting AUR upgrade...
:: awesome-git 20130212-1 
:: compton-git 20130212-1 
:: histo-git 20130212-1 
:: ignite-git 20130212-1 
:: llpp-git 20130212-1 
:: nasu-git 20130212-1 
:: ompload-git 20130212-1 
:: vicious-git 20130212-1 
:: weechat-git 20130212-1 
:: asciidoc is available in community
:: cmake is available in extra
:: docbook-xml is available in extra
:: docbook-xsl is available in extra
:: doxygen is available in extra
:: gcc-libs-multilib is available in multilib
:: ocaml is available in extra
:: perl-test-pod is available in extra
:: perl-yaml-syck is available in extra
:: tcl is available in extra
:: xmlto is available in extra
/usr/bin/pacaur: line 140: 272131072 + : syntax error: operand expected (error token is "+ ")

Output of bash -x pacaur -u --devel: http://ix.io/4py

rmarquis commented 11 years ago

Thanks for the report, as always.

This is not related to the last version, but seems to have been introduced in 3.4.4 (released 6 days ago). Maybe in a02d83cd44755aceaa45f9066f617453a1e51aa8 or 2c00568f991ab4a71d236e671726571a1d957a04. Or the bug might be even older (v3.4.0, in 489653a75a5d2189c0131eabba9060bfbdc3c2b9).

This does not directly concerns the --devel code, but implies the code that computes the Download Size of binary AUR dependencies. At some point, there is an empty element in a array and pacaur fails. I'm not sure about the exact reason yet, but I bet there is a problem with one of the devel package having new binary dependencies.

lucy commented 11 years ago

It actually happens when installing any AUR package that has dependencies (not makedeps) now. :/

rmarquis commented 11 years ago

@neeee > What do you mean exactly? Could you provide an example and its debug output?

rmarquis commented 11 years ago

Also, do you mind showing me the output of "pacman -Qmq"? I've just seen that there is something extremely weird in your previous debug output:

+ allaurpkgs=($($pacmanbin -Qmq))
++ pacman-color -Qmq
+ Qversion=($(expac -Q '%v' "${allaurpkgs[@]}"))
++ expac -Q %v alsi awesome-git bdf2psf beets byzanz cave-story-plus cdu checkbashisms chromium-pepper-flash compton-git cower dfc dmenu-pango faience-icon-theme figlet-fonts firefox-nightly fontconfig-infinality freetype2-infinality gbdfed gcc-go gcc-libs gdbm gettext glib2 glibc gmp gnupg golly gpgme gpm grep groff grub-bios grub-common gzip heirloom-sh-cvs histo-git hwids iana-etc idnkit ignite-git inetutils iproute2 iptables iputils isl kbd keyutils kmod krb5 ldns libarchive libassuan libcap libedit libevent libffi libgcrypt libgpg-error libgssglue libksba libldap libltdl libmpc libnl libpcap libpipeline libsasl libssh2 libtirpc libtool libusb-compat libusbx licenses linux-api-headers linux-firmware llpp-git logrotate lvm2 lzo2 m4 make man-db man-pages mdadm mkinitcpio mkinitcpio-busybox mlocate mpfr nano nasu-git ncmpcpp-fftw ncurses net-tools netcfg nvidia-utils-beta ompload-git openssh openssl pacaur package-query pacman pacman-color pacman-mirrorlist pam pambase patch pciutils pcre perl perl-term-extendedcolor pinentry pkg-config pm2ml popt powerpill ppl procps-ng profile-cleaner psmisc pth python2-munkres python2-musicbrainzngs python2-unidecode readline redshift-minimal rtorrent-color run-parts runit-musl rxvt-unicode-256xresources sed shadow sudo sysfsutils systemd sysvinit sysvinit-tools tango-icon-theme tango-icon-theme-extras tar texinfo toilet ttf-google-webfonts tzdata usbutils util-linux vicious-git weechat-git which wpa_actiond wpa_supplicant xcursor-neutralplus xz yaourt yeganesh zlib

'pacman -Qmq' should return only foreign packages (package not in the repo database), but here I see lot of binary packages. Are you sure that there is not any problems with your local database? 'pacman -Syy' might help here.

lucy commented 11 years ago

pacman -Qmq before pacman -Syy: http://ix.io/4pA Looks like my local database was corrupted, since pacman -Syy fixed it. Thank you for the help and sorry for the inconvenience.

lucy commented 11 years ago

Actually, now I have another issue, pacaur seems to loop while trying to install dependencies, then exits. output (pacaur -u --devel 2>&1 | ix): http://ix.io/4pD debug output: http://ix.io/4pC This only happens when using --devel.

rmarquis commented 11 years ago

Thanks for the new debug output. I can see a strange warning in the outpout:

warning: insufficient columns available for table display

No idea what it is. You're pretty good in finding weird bugs :)

lucy commented 11 years ago

That's because I piped it to ix, so ignore that I guess.

rmarquis commented 11 years ago

Right, it seems this warning is shown when using the VerbosePkgLists option in pacman.conf is used, and that pacman fallback to the simpler list output because of an inadequate terminal width.

This new issue seems indeed to be a pacaur bug, with a string that is not reinitialized correctly. (Note to myself: I probably should use an ${cachedpkg[@]} array instead of the simple $cachedpkg string here).

I'm only surprised that this bug hasn't showing up earlier, because it seems to have been in the code for a very, very long time. Working on a fix now.

rmarquis commented 11 years ago

Possible fixed pushed in 8a25d1d9def4165d9591eb4653f48e76f2bb0595. Does pacaur 3.4.6 fix your issue? (try 'pacaur -S pacaur' if -Sua is broken)

lucy commented 11 years ago

No. Now it doesn't install makedeps at all.

rmarquis commented 11 years ago

Jeezz.. Could you provide a new debug output? I'm pretty sure 3.4.6 fixed an existing bug, but maybe I missed something?

lucy commented 11 years ago

bash -x pacaur -S awesome-git 2>&1 | ix http://ix.io/4pE It's not limited to --devel now.

rmarquis commented 11 years ago

Seems we are now facing a new bug. That's the 3rd in this GH issue now.

The good news is that 3.4.6 indeed fixed the previous bug. The bad news is that I can't reproduce the problem: awesome-git installs fines here, and all makedeps are also installed. Still investigating...

rmarquis commented 11 years ago

I see you are using powerpill. Could you try to use the regular pacman/pacman-color instead? From my previous experience, powerpill tends to corrupt packages, and that might be the reason the makedeps fail to install here.

Could you also check that cmake is not installed in the local database? 'pacman -Qs cmake'

lucy commented 11 years ago

You're right, setting PACMAN to pacman-color makes it work correctly.

rmarquis commented 11 years ago

Great. Powerpill is also likely the reason of your corrupted database. There is nothing I can do, you might want to forward this issue to Xyne.

Thanks a lot for your patience and bug reports, you helped me to solve the 2nd issue which was an inherent pacaur's bug! :)