]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/planet/templates/default/planet-mirror-redirect-update.erb
planet: use ftp5.gwdg.de mirror
[chef.git] / cookbooks / planet / templates / default / planet-mirror-redirect-update.erb
index 1f37ecd234cb994546c93b4442c216220a3b0125..81c9f2ae3d260a2c5a819a213ae11d006d944339 100644 (file)
@@ -10,8 +10,8 @@
 $_YEAR = date('Y');
 $_PLANET_FOLDER = '<%= node[:planet][:dump][:xml_directory] %>/'.$_YEAR.'/';
 $_PLANET_REGEX = "/^(planet|changesets)\-\d{6}(\-nolt)?\.osm\.(bz2|gz)$/";
-$_MIRROR = 'http://ftp.heanet.ie/mirrors/openstreetmap.org/planet/'.$_YEAR.'/';
-$_PLANET_HTACCESS = $_PLANET_FOLDER.'../../.htaccess';
+$_MIRROR = 'https://ftp5.gwdg.de/pub/misc/openstreetmap/planet.openstreetmap.org/planet/'.$_YEAR.'/';
+$_PLANET_HTACCESS = realpath('<%= node[:planet][:dump][:xml_directory] %>/..').'/.htaccess';
 
 function _MIRROR_FILE_SIZE($url) {
        $ch = @curl_init();
@@ -22,9 +22,9 @@ function _MIRROR_FILE_SIZE($url) {
        $curl_result = curl_getinfo($ch);
        if ($curl_result['http_code']!='200') return FALSE;
        return ($curl_result['download_content_length']);
-}                      
+}
 
-if (posix_getuid() !== fileowner($_PLANET_HTACCESS)) die('User ID of process does not match .htaccess owner'."\n");
+if (!is_writable($_PLANET_HTACCESS)) die('File '.$_PLANET_HTACCESS.' is not writable by current user.'."\n");
 
 if (is_dir($_PLANET_FOLDER)) {
        $htaccess_contents = file_get_contents($_PLANET_HTACCESS);
@@ -34,16 +34,14 @@ if (is_dir($_PLANET_FOLDER)) {
                        if (preg_match($_PLANET_REGEX,$file)) {
                                $file_slashed = 'planet/'.$_YEAR.'/'.str_replace(array('.','-'), array('\.','\-'), $file);
                                if (strpos($htaccess_contents,$file_slashed) === false) {
-                                       //PHP IS BRAINDEAD filesize borked >4GB
-                                       //$file_size = $file_stats['size'];
-                                       $file_size = trim(`stat -c%s $_PLANET_FOLDER$file`);
+                                       $file_size = filesize($_PLANET_FOLDER.$file);
                                        sleep(rand(2,5));
                                        $file_mirror_size = _MIRROR_FILE_SIZE($_MIRROR.$file);
                                        if ($file_size==$file_mirror_size) {
                                                        echo 'Adding: '.$file."\n";
                                                        fwrite($htaccess_handle,        'RewriteRule'."\t".
                                                                                        '^('.$file_slashed.')$'."\t".
-                                                                                       'http://ftp.heanet.ie/mirrors/openstreetmap.org/$1'."\t".
+                                                                                       'https://ftp5.gwdg.de/pub/misc/openstreetmap/planet.openstreetmap.org/$1'."\t".
                                                                                        '[R,L]'."\n");
                                        }
                                }
@@ -53,4 +51,3 @@ if (is_dir($_PLANET_FOLDER)) {
                fclose($htaccess_handle);
        }
 }
-?>