Browse Source

Respect umask in chmod calls

Jordi Boggiano 13 years ago
parent
commit
4a55d85a2d

+ 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());
         }
     }