FAQ
Commit: 8b44fe891b507c6e8d480c033b45f7289aa08d89
Author: Anatol Belski <ab@php.net> Mon, 7 Oct 2013 20:18:55 +0200
Parents: b85c4446de839b1e4773192c312d19f7f3fb0bca
Branches: master

Link: http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=8b44fe891b507c6e8d480c033b45f7289aa08d89

Log:
first shot for license packaging

Changed paths:
   M client/include/PeclExt.php


Diff:
diff --git a/client/include/PeclExt.php b/client/include/PeclExt.php
index 11becfb..44a8d98 100644
--- a/client/include/PeclExt.php
+++ b/client/include/PeclExt.php
@@ -530,6 +530,57 @@ if (!function_exists('rmtools\combinations')) {
    return $this->buildConfigureLine($config);
   }

+ public function prepareLicenseSimple($source, $target, $suffix = NULL)
+ {
+ $ret = array();
+ $base = array(
+ "COPYING",
+ "COPYRIGHT",
+ "LICENSE",
+ "README",
+ );
+
+ $names = $base;
+ foreach ($base as $nm) {
+ $names[] = "$nm*";
+ $names[] = strtolower($nm) . "*";
+ $names[] = ucfirst(strtolower($nm)) . "*";
+ }
+
+ foreach ($names as $name) {
+ $pat = $source . DIRECTORY_SEPARATOR . $name;
+
+ $glob = glob($pat);
+
+ if (is_array($glob)) {
+ foreach ($glob as $fl) {
+ $tgt_fl = $target . DIRECTORY_SEPARATOR
+ . basename($fl) . "." . strtoupper($suffix);
+ if (!copy($fl, $tgt_fl)) {
+ throw new \Exception("The license file '$fl' "
+ . "was found but couldn't be copied into '$tgt_fl'");
+ }
+
+ $ret[] = $tgt_fl;
+ }
+ }
+ }
+
+ return $ret;
+ }
+
+ public function prepareExtLicense($source, $target, $suffix = NULL)
+ {
+ $ret = $this->prepareLicenseSimple($source, $target, $suffix);
+
+ if (!$ret) {
+ /* XXX check package.xml here*/
+ }
+
+
+ return $ret;
+ }
+
   public function prepareAllDepDlls($dll_file, $target)
   {
    $ret = array();
@@ -560,6 +611,14 @@ if (!function_exists('rmtools\combinations')) {
       $ret[] = $dll_file;
       /* some dep dll might have another dep :) */
       $ret = array_merge($this->prepareAllDepDlls($look_for, $target), $ret);
+ $ret = array_merge(
+ $this->prepareLicenseSimple(
+ $deps_path . DIRECTORY_SEPARATOR . $lib,
+ $target,
+ $lib
+ ),
+ $ret
+ );
      }

      $look_for = $deps_path
@@ -635,6 +694,12 @@ if (!function_exists('rmtools\combinations')) {
     throw new \Exception($msg);
    }

+ /* care about extension license */
+ $files_to_zip = array_merge(
+ $files_to_zip,
+ $this->prepareExtLicense($this->tmp_extract_path, $target, "php." . $this->name)
+ );
+
    /* pack */
    $zip_file = TMP_DIR . DIRECTORY_SEPARATOR . $this->getPackageName() . '.zip';
    $zip_cmd = $this->zip_cmd . ' -9 -D -j ' . $zip_file . ' ' . implode(' ', $files_to_zip);

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-webmaster @
categoriesphp
postedJun 3, '14 at 12:54p
activeJun 3, '14 at 12:54p
posts1
users1
websitephp.net

1 user in discussion

Anatol Belski: 1 post

People

Translate

site design / logo © 2022 Grokbase