summaryrefslogtreecommitdiffstats
path: root/scripts/cleanup
blob: 79994298da45efc6054062607b2cf4af8d37dac3 (plain)
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
#!/usr/bin/php
<?php
# Run this script by providing it with the top path of AUR.
# In that path you should see a file lib/aur.inc
#
# This will remove files which belong to deleted packages
# in unsupported.
#
# ex: php cleanup dev/aur/web
#
$dir = $argv[1];

if (empty($dir)) {
	echo "Please specify AUR directory.\n";
	exit;
}

set_include_path(get_include_path() . PATH_SEPARATOR . "$dir/lib");
include("config.inc.php");
include("aur.inc.php");
include("pkgfuncs.inc.php");

$count = 0;

$buckets = scandir(INCOMING_DIR);
foreach ($buckets as $bucket) {
	$bucketpath = INCOMING_DIR . $bucket;
	if ($bucket == '.' || $bucket == '..' || !is_dir($bucketpath)) {
		continue;
	}
	$files = scandir(INCOMING_DIR . $bucket);
	foreach ($files as $pkgname) {
		if ($pkgname == '.' || $pkgname == '..') {
			continue;
		}
		$fullpath = INCOMING_DIR . $bucket . "/" . $pkgname;
		if (!pkgid_from_name($pkgname) && is_dir($fullpath)) {
			echo 'Removing ' . $fullpath . "\n";
			rm_tree($fullpath);
			$count++;
		}
	}
}

echo "\nRemoved $count directories.\n";