X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2be00f37c175630e23e1ee6a4aa6897fda41eb33..a4c63c094f12766e49a142425af8455cc4524ea5:/utils/setup.php?ds=sidebyside diff --git a/utils/setup.php b/utils/setup.php index bab94e76..c7667b15 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -96,8 +96,10 @@ echo "Import\n"; $bDidSomething = true; - if (!file_exists(CONST_BasePath.'/osm2pgsql/osm2pgsql')) fail("please download and build osm2pgsql"); - passthru(CONST_BasePath.'/osm2pgsql/osm2pgsql -lsc -O gazetteer -C 10000 --hstore -d nominatim '.$aCMDResult['osm-file']); + $osm2pgsql = CONST_BasePath.'/osm2pgsql/osm2pgsql'; + if (!file_exists($osm2pgsql)) $osm2pgsql = trim(`which osm2pgsql`); + if (!file_exists($osm2pgsql)) fail("please download and build osm2pgsql"); + passthru($osm2pgsql.' -lsc -O gazetteer -C 10000 --hstore -d nominatim '.$aCMDResult['osm-file']); $oDB =& getDB(); $x = $oDB->getRow('select * from place limit 1'); @@ -130,13 +132,9 @@ { echo "Partitions\n"; $bDidSomething = true; -echo "here"; $oDB =& getDB(); -echo "there"; $sSQL = 'select partition from country_name order by country_code'; -var_dump($sSQL); $aPartitions = $oDB->getCol($sSQL); -var_dump($aPartitions); if (PEAR::isError($aPartitions)) { fail($aPartitions->getMessage()); @@ -147,11 +145,9 @@ var_dump($aPartitions); preg_match_all('#^-- start(.*?)^-- end#ms', $sTemplate, $aMatches, PREG_SET_ORDER); foreach($aMatches as $aMatch) { -var_dump($aMatch); $sResult = ''; foreach($aPartitions as $sPartitionName) { -var_dump($sPartitionName); $sResult .= str_replace('-partition-', $sPartitionName, $aMatch[1]); } $sTemplate = str_replace($aMatch[0], $sResult, $sTemplate); @@ -294,6 +290,7 @@ var_dump($sPartitionName); if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) { + $bDidSomething = true; $oDB =& getDB(); if (!pg_query($oDB->connection, 'DELETE from placex where osm_type=\'P\'')) fail(pg_last_error($oDB->connection)); $sSQL = "insert into placex (osm_type,osm_id,class,type,postcode,country_code,geometry) "; @@ -318,7 +315,9 @@ var_dump($sPartitionName); else passthru(CONST_BasePath.'/osmosis-0.38/bin/osmosis --read-replication-interval-init '.CONST_BasePath.'/settings'); $sDate = $aCMDResult['osmosis-init-date']; - $sStateFile = file_get_contents('http://toolserver.org/~mazder/replicate-sequences/?'.$sDate); + $sURL = 'http://toolserver.org/~mazder/replicate-sequences/?'.$sDate; + echo "Getting state file: $sURL\n"; + $sStateFile = file_get_contents($sURL); if (!$sStateFile || strlen($sStateFile) > 1000) fail("unable to obtain state file"); file_put_contents(CONST_BasePath.'/settings/state.txt', $sStateFile); } @@ -369,8 +368,8 @@ var_dump($sPartitionName); { // Convert database DSN to psql paramaters $aDSNInfo = DB::parseDSN(CONST_Database_DSN); - $sCMD = 'psql '.$aDSNInfo['database']; - + if (!isset($aDSNInfo['port']) || !$aDSNInfo['port']) $aDSNInfo['port'] = 5432; + $sCMD = 'psql -p '.$aDSNInfo['port'].' '.$aDSNInfo['database']; $aDescriptors = array( 0 => array('pipe', 'r'), 1 => array('pipe', 'w'), @@ -380,22 +379,15 @@ var_dump($sPartitionName); $hProcess = proc_open($sCMD, $aDescriptors, $ahPipes); if (!is_resource($hProcess)) fail('unable to start pgsql'); -echo "write"; fwrite($ahPipes[0], $sScript); -echo "close"; fclose($ahPipes[0]); -echo "done"; // TODO: error checking while(!feof($ahPipes[1])) { -echo "read"; echo fread($ahPipes[1], 4096); } -echo "done"; fclose($ahPipes[1]); -echo "done1"; proc_close($hProcess); -echo "done2"; }