> On Jan 30, 2017, at 08:39, Mojca Miklavec <mo...@macports.org> wrote: > > Hi, > > What's the proper syntax to copy from a bunch of files recursively > during installation? > I like "xinstall" because it's safe to call "port destroot" twice. If > I use "move", this is probably not the case. > > I have something like the following structure (three folders, two of > them contain plain files, the third one contains arbitrary folders and > arbitrary files inside those folders). I would like to copy these to > destroot. > > foo/A/fileA_1 > /... > /fileA_N > foo/B/fileB_1 > /... > /fileB_N > foo/C/dirC_1/fileC1_1 > /... > /fileC1_N > /dirC_2/fileC2_1 > /... > /fileC1_N > /... > /dirC_N/fileCN_1 > /... > /fileCN_N > > The following code worked as long as C contained just files, but > stopped working when subfolders were introduced: > > set foo_share ${prefix}/share/foo > set src ${workpath}/.home/foo > > foreach d {A B C} { > xinstall -d -m 0755 ${destroot}/${foo_share}/${d} > foreach f [glob -type f ${src}/${d}/*] { > xinstall -W ${src}/${d} ${f} ${destroot}/${foo_share}/${d} > } > } > > I was playing a bit with various options and ended up with two nested > glob-s plus some super ugly code to remove the prefix etc. The code > doesn't quite work yet, but it's already so super ugly that I bet > there must be a better solution. (I can probably always fall back to > using "move".) > > Any suggestions? > > Thank you, > Mojca > > (PS: It's not really relevant, but the port in question is "panda" & #53397.)
If "move" works, why doesn't "copy" work?