瀏覽代碼

Respect umask in chmod calls

Jordi Boggiano 13 年之前
父節點
當前提交
4a55d85a2d
共有 2 個文件被更改,包括 4 次插入4 次删除
  1. 1 1
      src/Composer/Command/SelfUpdateCommand.php
  2. 3 3
      src/Composer/Installer/LibraryInstaller.php

+ 1 - 1
src/Composer/Command/SelfUpdateCommand.php

@@ -53,7 +53,7 @@ EOT
             $rfs->copy('getcomposer.org', $remoteFilename, $tempFilename);
 
             try {
-                chmod($tempFilename, 0755);
+                chmod($tempFilename, 0777 & ~umask());
                 // test the phar validity
                 $phar = new \Phar($tempFilename);
                 // free the variable to unlock the file

+ 3 - 3
src/Composer/Installer/LibraryInstaller.php

@@ -152,7 +152,7 @@ class LibraryInstaller implements InstallerInterface
                     // likely leftover from a previous install, make sure
                     // that the target is still executable in case this
                     // is a fresh install of the vendor.
-                    chmod($link, 0755);
+                    chmod($link, 0777 & ~umask());
                 }
                 $this->io->write('Skipped installation of '.$bin.' for package '.$package->getName().', name conflicts with an existing file');
                 continue;
@@ -163,7 +163,7 @@ class LibraryInstaller implements InstallerInterface
                 // add unixy support for cygwin and similar environments
                 if ('.bat' !== substr($bin, -4)) {
                     file_put_contents($link, $this->generateUnixyProxyCode($bin, $link));
-                    chmod($link, 0755);
+                    chmod($link, 0777 & ~umask());
                     $link .= '.bat';
                 }
                 file_put_contents($link, $this->generateWindowsProxyCode($bin, $link));
@@ -177,7 +177,7 @@ class LibraryInstaller implements InstallerInterface
                 }
 
             }
-            chmod($link, 0755);
+            chmod($link, 0777 & ~umask());
         }
     }