Browse Source

Merge remote-tracking branch 'origin/master'

Jordi Boggiano 13 years ago
parent
commit
9e1843a334

+ 5 - 6
doc/DefaultPolicy.md

@@ -27,7 +27,7 @@ Request: install A
 Packages Repo1.Av1, Repo2.Av1
 
 * priority(Repo1) >= priority(Repo2) => (Repo1.Av1, Repo2.Av1)
-* priority(Repo2) <  priority(Repo2) => (Repo2.Av1, Repo1.Av1)
+* priority(Repo1) <  priority(Repo2) => (Repo2.Av1, Repo1.Av1)
 
 ### Virtual Packages (provides)
 
@@ -39,7 +39,7 @@ Packages Av1, Bv1
 Request: install X
 
 * priority(Av1.repo) >= priority(Bv1.repo) => (Av1, Bv1)
-* priority(Av1.repo) < priority(Bv1.repo) => (Bv1, Av1)
+* priority(Av1.repo) <  priority(Bv1.repo) => (Bv1, Av1)
 
 ### Package replacements
 
@@ -49,8 +49,7 @@ Packages: Av1, Bv2
 
 Request: install A
 
-* priority(Av1.repo) > priority(Bv2.repo) => (Av1, Bv2)
-* priority(Av1.repo) = priority(Bv2.repo) => (Av1, Bv2)
-* priority(Av1.repo) < priority(Bv2.repo) => (Bv2, Av1)
+* priority(Av1.repo) >= priority(Bv2.repo) => (Av1, Bv2)
+* priority(Av1.repo) <  priority(Bv2.repo) => (Bv2, Av1)
 
-Bv2.version is ignored, only the replacement version for A matters.
+Bv2 version is ignored, only the replacement version for A matters.

+ 22 - 0
doc/faqs/packagist-update-schedule.md

@@ -0,0 +1,22 @@
+# Packagist Update Schedule
+
+## How often does Packagist crawl newly added packages?
+
+New packages will be crawled **within ten minutes**.
+
+
+## How often does Packagist crawl existing packages?
+
+Existing packages will be crawled **every hour**.
+
+
+## How often does the Packagist search index update?
+
+The search index is updated **every five minutes**. It will index (or reindex)
+any package that has been crawled since the last time the search
+indexer ran.
+
+
+## Can Packagist be triggered to recrawl a package (on commit or by other means)?
+
+Not yet. :) See [#84](https://github.com/composer/packagist/issues/84).

+ 8 - 2
src/Composer/Installer/LibraryInstaller.php

@@ -147,6 +147,12 @@ class LibraryInstaller implements InstallerInterface
         foreach ($package->getBinaries() as $bin) {
             $link = $this->binDir.'/'.basename($bin);
             if (file_exists($link)) {
+                if (is_link($link)) {
+                    // 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);
+                }
                 $this->io->write('Skipped installation of '.$bin.' for package '.$package->getName().', name conflicts with an existing file');
                 continue;
             }
@@ -156,14 +162,14 @@ 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, 0777);
+                    chmod($link, 0755);
                     $link .= '.bat';
                 }
                 file_put_contents($link, $this->generateWindowsProxyCode($bin, $link));
             } else {
                 symlink($bin, $link);
             }
-            chmod($link, 0777);
+            chmod($link, 0755);
         }
     }