Bug 131792 - yum install \* no longer works as expected
Summary: yum install \* no longer works as expected
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jeremy Katz
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-09-04 17:00 UTC by Bob Gustafson
Modified: 2014-01-21 22:49 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-09-20 06:10:31 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bob Gustafson 2004-09-04 17:00:35 UTC
Description of problem:

  Previously, I could 'yum install \*' to get everything available.
This no longer works. The '\*' passes through to the shell and picks
up the names of files/directories which happen to be in the directory
where you are at the moment.

i.e., 'yum install *' and 'yum install \*' now work the same.

  I have not checked to see whether the command

    'yum -y --exclude=\*debuginfo\* .....'

  has this new unexpected interpretation of the wildcard.

Version-Release number of selected component (if applicable):

[root@hoho2 ~]# rpm -q yum
yum-2.1.3-1
[root@hoho2 ~]#

How reproducible:

  Has been this way for several days.

Steps to Reproduce:

1. cd to directory with files and directories
2. yum install \*
3. see yum complain that the names of files and directories do not match.
  
Actual results:

  see above

Expected results:

  Would be nice if '\*' was interpreted as 'install everything you have'

  And, that (multiple) --exclude=\*pattern\* could be used to exclude
installation of components of no interest.

Additional info:

[root@hoho2 ~]# cat /proc/version
Linux version 2.6.8-1.541smp (bhcompile.redhat.com) (gcc
version 3.4.1 20040831 (Red Hat 3.4.1-10)) #1 SMP Wed Sep 1 18:15:33
EDT 2004
[root@hoho2 ~]#

Comment 1 Seth Vidal 2004-09-08 05:27:32 UTC
I'm not sure what's going on here but I'm reasonably sure that this is
not b/c of a change in yum.

this is shell expansion.



Comment 2 Bob Gustafson 2004-09-18 03:48:34 UTC
How do you explain this then?

find works using \* syntax (thus shell is working..)

but 'yum install \*' picks up filenames in current directory (not
desired behavior)

==== find test ==
[root@hoho2 test]# find . -name \*file\* -print
./b_file.txt
./a_file.txt

==== yum test ===
[root@hoho2 test]# yum install \*
Setting up Install Process
Setting up Repo:  development
repomd.xml                100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
developmen: ################################################## 3514/3514
Excluding Packages
Excluding Incompatible Archs
Finished
Excluding Packages from Fedora Core 2 - Development Tree
No Match for argument a_file.txt
No Match for argument b_file.txt
Nothing to do
[root@hoho2 test]#



Comment 3 Seth Vidal 2004-09-19 00:00:15 UTC
Ah ha - found it.

the /usr/bin/yum script became shell and it's getting the un-escaped
codes and expanding them.

should be fixed in next release of yum.

thanks for pointing this out - sorry for the initial doubts - I
couldn't duplicate it b/c I wasn't running yum from the shell script
but from yummain.py from the cvs dir.


Comment 4 Seth Vidal 2004-09-20 06:10:31 UTC
fixed in CVS

in /usr/bin/yum
after:
#!/bin/sh

put:
set -f

that fixes it :)



Note You need to log in before you can comment on or make changes to this bug.