da4f7b
da4f7b
da4f7b
#
da4f7b
# Usage: php cleanup.php /path/to/pear.conf /usr/share
da4f7b
# 
da4f7b
$file = $_SERVER['argv'][1];
da4f7b
$data = $_SERVER['argv'][2];
da4f7b
da4f7b
# Keys to be removed if exists
da4f7b
$remove = [
da4f7b
  'ext_dir',
da4f7b
  'http_proxy',
da4f7b
];
da4f7b
# Keys to be added
da4f7b
$add = [
da4f7b
  '__channels' => [
da4f7b
    'pecl.php.net' => [
da4f7b
      'doc_dir'  => "$data/doc/pecl",
da4f7b
      'test_dir' => "$data/tests/pecl",
da4f7b
    ]
da4f7b
  ]
da4f7b
];
da4f7b
da4f7b
$input = file_get_contents($file);
da4f7b
list($header, $config) = explode("\n", $input);
da4f7b
$config = unserialize($config);
da4f7b
da4f7b
foreach ($remove as $key) unset($config[$key]);
da4f7b
$config = array_merge($config, $add);
da4f7b
$config = serialize($config);
da4f7b
da4f7b
file_put_contents($file, "$header\n$config");
da4f7b