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

Reply via email to