File: package-pman.php

package info (click to toggle)
php-doc 20241205~git.dfcbb86%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 70,956 kB
  • sloc: xml: 968,269; php: 23,883; javascript: 671; sh: 177; makefile: 37
file content (68 lines) | stat: -rw-r--r-- 2,328 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php

error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT);
require_once "PEAR/PackageFileManager2.php";

PEAR::setErrorHandling(PEAR_ERROR_DIE);

$packagexml = new PEAR_PackageFileManager2;
$packagexml->setOptions(array(
  "outputdirectory"      => ".",
  "filelistgenerator"    => "file",
  "packagefile"          => "package_pman.xml",
  "packagedirectory"     => "output/",
  "baseinstalldir"       => "php.net/",
  "simpleoutput"         => true,
  "roles"                => array("sh" => "script",),
  "dir_roles"            => array("man3" => "doc",),

  // This will unfortunately also exclude DOMDocument.xinclude, there is no way
  // of doing case-sensitive ignores :(
  "ignore"               => array("index.sqlite", "man3/DomDocument.xinclude.3.gz"),
));

$packagexml->setPackage("pman");
$packagexml->setSummary("PHP Unix manual pages");
$packagexml->setDescription("Unix manual pages of the PHP documentations from php.net.");

$packagexml->setChannel("doc.php.net");
$packagexml->setAPIVersion("1.0.0");
$packagexml->setReleaseVersion(date("Y.m.d", getenv('SOURCE_DATE_EPOCH') ?: time()));
$packagexml->setReleaseStability("stable");
$packagexml->setAPIStability("stable");
$packagexml->setLicense("Creative Commons Attribution 3.0", "http://creativecommons.org/licenses/by/3.0/");

$packagexml->setNotes("New release \o/");
$packagexml->setPackageType("php");
$packagexml->addRelease();

$packagexml->setPhpDep("5.0.0");
$packagexml->setPearinstallerDep("1.9.0");
$packagexml->addExtensionDep("required", "zlib");

$packagexml->addMaintainer("lead", "phpdoc", "The PHP Documentation team", "phpdoc@lists.php.net");

rename("output/php-functions", "output/man3");
copy(__DIR__ . "/pman.sh", "output/pman.sh");

$packagexml->addReplacement("pman.sh", "pear-config", "@doc_dir@", "doc_dir");
$packagexml->addInstallAs("pman.sh", "pman");



$packagexml->generateContents();
$packagexml->writePackageFile();
rename("output/pman.sh", "pman.sh");
rename("output/man3", "man3");

$contents = file_get_contents("package_pman.xml");
$contents = str_replace(
  'baseinstalldir="php.net/" name="pman.sh"',
  'baseinstalldir="" name="pman.sh"',
  $contents
);
file_put_contents("package_pman.xml", $contents);
system("pear package package_pman.xml");

rename("man3", "output/php-functions");
unlink("pman.sh");