On 19/06/10 10:50, Andres P wrote:
Note that this still has the "using su fucks up the terminal" bug present in 3.4.
Still has? This is the first I am hearing of it... Is there a bug report about this?
When makepkg uses su for any reason, fallback or not, the terminal will no longer display stdin and has to be reset(1).
To reproduce: # mv /usr/bin/sudo{,~}
Then use a makepkg operation that requires root; e.g. -i or -s.
I just tested this and there is even worse things happening. I have a PKGBUILD which has depends=('pacman>4') in it for testing out another bug. When using su I get: --start output--
makepkg -sf ==> WARNING: Sudo can not be found. Will use su to acquire root privileges. ==> Making package: pacman-contrib 3.4.0-1 (Sat Jun 19 16:24:35 EST 2010) ==> Checking Runtime Dependencies... ==> Installing missing dependencies... Password: Proceed with installation? [Y/n] ==> Missing Dependencies: -> pacman>4 ==> Checking Buildtime Dependencies... ==> ERROR: Could not resolve all dependencies. --end output--
Note it processed trying to install pacman, even though >4 does not exist. Then if find a file called "4" in my $startdir with: --start 4-- warning: pacman-3.4.0-1 is up to date -- reinstalling resolving dependencies... looking for inter-conflicts... Targets (1): pacman-3.4.0-1 Total Download Size: 0.00 MB Total Installed Size: 1.98 MB checking package integrity... checking for file conflicts... upgrading pacman... --end 4-- It appears that the 'pacman>4' is not staying quoted and is causing the output to be redirected.
I can reproduce outside of makepkg: $ fakeroot bash -c "su -c 'pacman -Q foo'"
I can not see anything wrong when using that. Allan