-------- Forwarding messages --------
From: "³ÂÑàÅË" <custa@126.com>
Date: 2012-02-19 23:07:19
To: "Eric Blake" <eblake@redhat.com>
Cc: 10837-done@debbugs.gnu.org
Subject: Re:Re: bug#10837: bug of install program
Thank you for your reply, but I'm still a little trouble.
Because there is a directory d in 1/a/b/c.  So the command you recommend did not work well.
 
opensuse113:/home/test_install # install -d 2/a/b/c && install 1/a/b/c/* 2/a/b/c
install: omitting directory `1/a/b/c/d'
How can I do please?
Thanks.
 
--
custa


ÔÚ 2012-02-18 02:50:17£¬"Eric Blake" <eblake@redhat.com> Ð´µÀ£º >tag 10837 notabug >thanks > >On 02/17/2012 10:30 AM, ³ÂÑàÅË wrote: >> Hi, I come across a problem, I don't whether it is a bug. >> Version of install is 7.1. > >Thanks for the report.  Your install is a bit old; right now, the >current version is 8.15.  However, the behavior you are reporting is >intentional, and has not changed in the meantime. > >> I have something look like this: >> opensuse113:/home/test_install # find 1/ >> 1/ >> 1/a >> 1/a/b >> 1/a/b/c >> 1/a/b/c/d.txt >> 1/a/b/c/d >> opensuse113:/home/test_install # find 2/ >> 2/ >> I want to copy everything in 1/a/b/c to 2/a/b/c. So I use the command with the option -D, but it doesn't work. >> opensuse113:/home/test_install # install -D 1/a/b/c/* 2/a/b/c >> install: target `2/a/b/c' is not a directory > >Let's revisit the 'install --help' output, and see why: > >Usage: install [OPTION]... [-T] SOURCE DEST >  or:  install [OPTION]... SOURCE... DIRECTORY >  or:  install [OPTION]... -t DIRECTORY SOURCE... >  or:  install [OPTION]... -d DIRECTORY... >... >In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to >the existing DIRECTORY, while setting permission modes and owner/group. >... >  -D                  create all leading components of DEST except the last, >                        then copy SOURCE to DEST > >>  >> Wht not create the directory 2/a/b/c, then copy everying? > >Note that you ended up invoking the second form (multiple source files, >to an existing directory), but that -D is only useful with the first >form (single source file, and a DEST that gets created with the same >contents as the single source).  That is, we intentionally treat the >DEST of form 1 differently than the DIRECTORY of form 2. > >>   >> Looking forward to your reply. > >I'd recommend that you split this into two steps, which will work now: > >install -d 2/a/b/c && install 1/a/b/c/* 2/a/b/c > >Or, you can propose a patch to make -D work with the second form (that >is, have it interact with a DIRECTORY by creating all elements, compared >to its current documentation of interacting only with a DEST where only >the leading directories, but not the last element, are created).  But >I'm not sure if such a patch would make matters more confusing.  Maybe >it's better to just propose a patch that rejects -D when using form 2, >rather than the current behavior of accepting -D only to fail because it >would create 2/a/b but not 2/a/b/c, and needs 2/a/b/c to exist as a >target directory. > >But since such a patch is a wishlist for a minor improvement, rather >than an actual bug fix, I'm closing this bug for now.  We can reopen it >if needed, and you can feel free to add further comments even while the >bug is closed. > >--  >Eric Blake   eblake@redhat.com    +1-919-301-3266 >Libvirt virtualization library http://libvirt.org >