<div dir="ltr">We will have to be little bit cautious in using glob because of its inherent usage pattern. For e.g. the file starting with . will not get matched.<div><br></div><div><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">
 
   $ touch .a .ab .abc .abcde .abcdef
   $ echo *
   *
   $ echo ?
   ?
   $ echo ??
   ??
   $ echo .?
   .. .a
   $ echo .??
   .ab
   $ echo .*
   . .. .a .ab .abc .abcde .abcdef
   $ echo .??*
   .ab .abc .abcde .abcdef
   $ echo [.]*
   [.]*</pre></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Aug 16, 2014 at 4:43 AM, Brownell, Jonathan C (Corvallis) <span dir="ltr"><<a href="mailto:brownell@hp.com" target="_blank">brownell@hp.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Looks like a good solution to me. If there are no philosophical objections to it, I'll prepare a patch next week to make this happen.<br>

<br>
-JB<br>
<div class="HOEnZb"><div class="h5"><br>
-----Original Message-----<br>
From: Clint Byrum [mailto:<a href="mailto:clint@fewbar.com">clint@fewbar.com</a>]<br>
Sent: Friday, August 15, 2014 12:58 PM<br>
To: openstack-dev<br>
Subject: Re: [openstack-dev] [TripleO] fix poor tarball support in source-repositories<br>
<br>
Excerpts from Brownell, Jonathan C (Corvallis)'s message of 2014-08-15 08:11:18 -0700:<br>
> The current DIB element support for downloading tarballs via "source-repository" allows an entry in the following form:<br>
><br>
> <name> tar <targetdir> <url><br>
><br>
> Today, this feature is currently used only by the mysql DIB element. You can see how it's used here:<br>
> <a href="https://github.com/openstack/tripleo-image-elements/blob/master/elemen" target="_blank">https://github.com/openstack/tripleo-image-elements/blob/master/elemen</a><br>
> ts/mysql/source-repository-mysql<br>
><br>
> However, the underlying diskimage-builder implementation of tarball handling is rather odd and inflexible. After downloading the file (or retrieving from cache) and unpacking into a tmp directory, it performs:<br>
><br>
> mv $tmp/*/* $targetdir<br>
><br>
> This does work as long as the tarball follows a structure where all<br>
> its files/directories are contained within a single directory, but it<br>
> fails if the tarball contains no subdirectories. (Even worse is when<br>
> it contains some files and some subdirectories, in which case the<br>
> files are lost and the contents of all subdirs get lumped together in<br>
> the output folder.)<br>
><br>
> Since this tarball support is only used today by the mysql DIB element, I would love to fix this in both diskimage-builder and tripleo-image-element by changing to simply:<br>
><br>
> mv $tmp/* $targetdir<br>
><br>
> And then manually tweaking the directory structure of $targetdir from a new install.d script in the mysql element to restore the desired layout.<br>
><br>
> However, it's important to note that this will break backwards compatibility if tarball support is used in its current fashion by users with private DIB elements.<br>
><br>
> Personally, I consider the current behavior so egregious that it really needs to be fixed across the board rather than preserving backwards compatibility.<br>
><br>
> Do others agree? If not, do you have suggestions as to how to improve this mechanism cleanly without sacrificing backwards compatibility?<br>
><br>
<br>
How about we make a glob to use, so like this:<br>
<br>
mysql tar /usr/local/mysql <a href="http://someplace/mysql.tar.gz" target="_blank">http://someplace/mysql.tar.gz</a> mysql-5.*<br>
<br>
That would result in<br>
<br>
    mv $tmp/mysql-5.*/* $targetdir<br>
<br>
And then we would warn that assuming the glob will be '*' is deprecated, to be changed in a later release.<br>
<br>
Users who want your proposed behavior would use . until the default changes. That would result in<br>
<br>
    mv $tmp/./* $targetdir<br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div></div></blockquote></div><br></div>