I'm running into a weird issue, I asked on #bower, and looked around the open, and closed issues and didn't find anything related, this was the closest, but also not applicable here I don't think.
Two packages (from ~26) are cloned/copied with the file mode drwx------, where all the others have drwxr-xr-x. The problem exists on two filesystems, and from a parital, or complete clean-slate (i.e not having any bower_components at all, or switching branches and re-running it)
$ ls -lah bower_components
total 0
drwxr-xr-x 28 leehambley staff 952B 12 Mar 18:13 .
drwxr-xr-x 23 leehambley staff 782B 12 Mar 18:13 ..
drwxr-xr-x 26 leehambley staff 884B 12 Mar 18:13 Bootflat
drwx------ 15 leehambley staff 510B 12 Mar 18:13 ace-builds
drwxr-xr-x 12 leehambley staff 408B 12 Mar 18:13 angular
drwxr-xr-x 10 leehambley staff 340B 12 Mar 18:13 angular-animate
drwxr-xr-x 14 leehambley staff 476B 12 Mar 18:13 angular-flash
drwxr-xr-x 11 leehambley staff 374B 12 Mar 18:13 angular-gravatar
drwxr-xr-x 10 leehambley staff 340B 12 Mar 18:13 angular-messages
drwxr-xr-x 10 leehambley staff 340B 12 Mar 18:13 angular-mocks
drwxr-xr-x 19 leehambley staff 646B 12 Mar 18:13 angular-moment
drwxr-xr-x 10 leehambley staff 340B 12 Mar 18:13 angular-resource
drwxr-xr-x 7 leehambley staff 238B 12 Mar 18:13 angular-translate
drwxr-xr-x 7 leehambley staff 238B 12 Mar 18:13 angular-translate-interpolation-messageformat
drwxr-xr-x 7 leehambley staff 238B 12 Mar 18:13 angular-translate-loader-static-files
drwx------ 8 leehambley staff 272B 12 Mar 18:13 angular-ui-ace
drwxr-xr-x 11 leehambley staff 374B 12 Mar 18:13 angular-ui-router
drwxr-xr-x 8 leehambley staff 272B 12 Mar 18:13 devicons
drwxr-xr-x 18 leehambley staff 612B 12 Mar 18:13 es5-shim
drwxr-xr-x 12 leehambley staff 408B 12 Mar 18:13 font-mfizz
drwxr-xr-x 10 leehambley staff 340B 12 Mar 18:13 fontawesome
drwxr-xr-x 7 leehambley staff 238B 12 Mar 18:13 jquery
drwxr-xr-x 9 leehambley staff 306B 12 Mar 18:13 json3
drwxr-xr-x 16 leehambley staff 544B 12 Mar 18:13 messageformat
drwxr-xr-x 12 leehambley staff 408B 12 Mar 18:13 moment
drwxr-xr-x 9 leehambley staff 306B 12 Mar 18:13 qrcode.js
drwxr-xr-x 18 leehambley staff 612B 12 Mar 18:13 sockjs-client-bower
drwxr-xr-x 9 leehambley staff 306B 12 Mar 18:13 window-location-origin
$ ls -lah bower_components/ace-builds
total 80
drwx------ 15 leehambley staff 510B 12 Mar 18:13 .
drwxr-xr-x 28 leehambley staff 952B 12 Mar 18:13 ..
-rw------- 1 leehambley staff 361B 12 Mar 18:13 .bower.json
-rw------- 1 leehambley staff 10K 8 Nov 20:37 ChangeLog.txt
-rw------- 1 leehambley staff 1.5K 8 Nov 20:37 LICENSE
-rw------- 1 leehambley staff 1.1K 8 Nov 20:37 README.md
drwx------ 18 leehambley staff 612B 8 Nov 20:37 demo
-rw------- 1 leehambley staff 809B 8 Nov 20:37 editor.html
-rw------- 1 leehambley staff 7.3K 8 Nov 20:37 kitchen-sink.html
-rw------- 1 leehambley staff 502B 8 Nov 20:37 package.json
drwx------ 184 leehambley staff 6.1K 8 Nov 20:37 src
drwx------ 184 leehambley staff 6.1K 8 Nov 20:37 src-min
drwx------ 184 leehambley staff 6.1K 8 Nov 20:37 src-min-noconflict
drwx------ 184 leehambley staff 6.1K 8 Nov 20:37 src-noconflict
drwx------ 3 leehambley staff 102B 5 Mar 15:42 textarea
$ history | tail -10
10131 pwd
10132 ls -l bower_components
10133 umask
10135 touch afile
10136 mkdir adir
10138 nvm use 0.10
10139 bower install
10140 ls -lah
10141 ls -lah bower_components
10142 ls -lah bower_components/ace-builds
This doesn't seem to be a problem with ui-ace or similar:
$ git clone https://github.com/angular-ui/ui-ace.git
Cloning into 'ui-ace'...
remote: Counting objects: 885, done.
remote: Total 885 (delta 0), reused 0 (delta 0), pack-reused 885
Receiving objects: 100% (885/885), 1.03 MiB | 990.00 KiB/s, done.
Resolving deltas: 100% (400/400), done.
Checking connectivity... done.
$ ls -lah ui-ace
total 96
drwxr-xr-x 16 leehambley staff 544B 12 Mar 18:43 .
drwxr-xr-x+ 138 leehambley staff 4.6K 12 Mar 18:44 ..
drwxr-xr-x 12 leehambley staff 408B 12 Mar 18:43 .git
-rw-r--r-- 1 leehambley staff 53B 12 Mar 18:43 .gitignore
-rw-r--r-- 1 leehambley staff 376B 12 Mar 18:43 .jshintrc
-rw-r--r-- 1 leehambley staff 5.1K 12 Mar 18:43 .travis.yml
-rw-r--r-- 1 leehambley staff 3.9K 12 Mar 18:43 CHANGELOG.md
-rw-r--r-- 1 leehambley staff 1.1K 12 Mar 18:43 LICENSE
-rw-r--r-- 1 leehambley staff 6.3K 12 Mar 18:43 README.md
-rw-r--r-- 1 leehambley staff 562B 12 Mar 18:43 bower.json
drwxr-xr-x 5 leehambley staff 170B 12 Mar 18:43 demo
-rw-r--r-- 1 leehambley staff 3.7K 12 Mar 18:43 gruntFile.js
-rw-r--r-- 1 leehambley staff 1.1K 12 Mar 18:43 package.json
-rw-r--r-- 1 leehambley staff 971B 12 Mar 18:43 publish.js
drwxr-xr-x 3 leehambley staff 102B 12 Mar 18:43 src
drwxr-xr-x 4 leehambley staff 136B 12 Mar 18:43 test
For the sake of argument, I tried to change the umask and repeat the installation thusly umask 000 && bower install, and the modes of the output files were the same.
Bower: v1.3.12
Node.js: v0.10.36 / v0.11.14
uname: Darwin mbp.local 14.3.0 Darwin Kernel Version 14.3.0: Thu Feb 12 18:38:33 PST 2015; root:xnu-2782.20.34~3/RELEASE_X86_64 x86_64
I'm sorry I can't add more information, I checked the bower.json of the projects, and checked to the best of my ability in the internet, I can't see that Bower takes _any_ care of umasks at all, I also can't explain why the umask seems to be ignored when I explicitly set it. I can't rule out weird sticky file dirmodes/etc on OSX, either. I hope the issue is somehow useful, and at least is kinda in the right place.
Update, seems to be an OSX or mac filesystem problem:
[vagrant@vm frontend]$ ls -lah bower_components/
total 0
drwxr-xr-x 1 vagrant vagrant 952 Mar 12 18:07 .
drwxr-xr-x 1 vagrant vagrant 850 Mar 12 18:07 ..
drwxr-xr-x 1 vagrant vagrant 510 Mar 12 18:08 ace-builds
drwxr-xr-x 1 vagrant vagrant 408 Mar 12 18:07 angular
drwxr-xr-x 1 vagrant vagrant 340 Mar 12 18:07 angular-animate
drwxr-xr-x 1 vagrant vagrant 476 Mar 12 18:07 angular-flash
drwxr-xr-x 1 vagrant vagrant 374 Mar 12 18:07 angular-gravatar
drwxr-xr-x 1 vagrant vagrant 340 Mar 12 18:07 angular-messages
drwxr-xr-x 1 vagrant vagrant 340 Mar 12 18:07 angular-mocks
drwxr-xr-x 1 vagrant vagrant 646 Mar 12 18:07 angular-moment
drwxr-xr-x 1 vagrant vagrant 340 Mar 12 18:07 angular-resource
drwxr-xr-x 1 vagrant vagrant 238 Mar 12 18:07 angular-translate
drwxr-xr-x 1 vagrant vagrant 238 Mar 12 18:07 angular-translate-interpolation-messageformat
drwxr-xr-x 1 vagrant vagrant 238 Mar 12 18:07 angular-translate-loader-static-files
drwxr-xr-x 1 vagrant vagrant 272 Mar 12 18:07 angular-ui-ace
drwxr-xr-x 1 vagrant vagrant 374 Mar 12 18:07 angular-ui-router
drwxr-xr-x 1 vagrant vagrant 884 Mar 12 18:07 Bootflat
drwxr-xr-x 1 vagrant vagrant 272 Mar 12 18:07 devicons
drwxr-xr-x 1 vagrant vagrant 612 Mar 12 18:07 es5-shim
drwxr-xr-x 1 vagrant vagrant 340 Mar 12 18:07 fontawesome
drwxr-xr-x 1 vagrant vagrant 408 Mar 12 18:07 font-mfizz
drwxr-xr-x 1 vagrant vagrant 238 Mar 12 18:07 jquery
drwxr-xr-x 1 vagrant vagrant 306 Mar 12 18:07 json3
drwxr-xr-x 1 vagrant vagrant 544 Mar 12 18:07 messageformat
drwxr-xr-x 1 vagrant vagrant 408 Mar 12 18:07 moment
drwxr-xr-x 1 vagrant vagrant 306 Mar 12 18:07 qrcode.js
drwxr-xr-x 1 vagrant vagrant 612 Mar 12 18:07 sockjs-client-bower
drwxr-xr-x 1 vagrant vagrant 306 Mar 12 18:07 window-location-origin
[vagrant@vm frontend]$ node -v
v0.10.37
[vagrant@vm frontend]$ bower -v
1.3.12
[vagrant@vm frontend]$ uname -a
Linux vm 3.10.0-123.20.1.el7.x86_64 #1 SMP Thu Jan 29 18:05:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Still investigating.
@leehambley Since it seems to be a problem, apparently, to the Mac OS I'll be closing the issue. If you thinks it is a Bower specific problem, feel free to re-open the issue.
@leehambley we're getting bit by this same issue right now - did you ever find the cause?
Unfortunately not, sorry. I solved the problem by revaluating my life choices and deciding never to touch Javascript again. ;-)
You are wise, sir.
I ran into this as well. The problem is that bower will cache all of the repositories it downloaded to ~/.cache/bower and prefers to copy libs over instead of re-downloading.
To fix, you just need to rm -rf ~/.cache/bower and run bower install again to get a fresh copy of all the libraries after setting your umask.
Most helpful comment
Unfortunately not, sorry. I solved the problem by revaluating my life choices and deciding never to touch Javascript again. ;-)