[pacman-dev] makepkg, su and output - Was: [PATCH 1/3] makepkg: simplify su/sudo calling logic
Allan McRae
allan at archlinux.org
Sat Jun 19 02:29:57 EDT 2010
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
More information about the pacman-dev
mailing list