diff options
-rw-r--r-- | .SRCINFO | 17 | ||||
-rw-r--r-- | PKGBUILD | 106 | ||||
-rw-r--r-- | nominatim.install | 7 | ||||
-rw-r--r-- | nominatim.sysusers | 2 | ||||
-rw-r--r-- | nominatim.tmpfiles | 1 | ||||
-rw-r--r-- | php.ini | 1 | ||||
-rw-r--r-- | settings-local.php | 2 | ||||
-rw-r--r-- | webapps-paths.patch | 4 |
8 files changed, 95 insertions, 45 deletions
@@ -1,7 +1,7 @@ pkgbase = nominatim pkgdesc = Geocoding tool using OpenStreetmap data pkgver = 3.4.1 - pkgrel = 6 + pkgrel = 9 url = https://nominatim.org install = nominatim.install arch = x86_64 @@ -14,6 +14,7 @@ pkgbase = nominatim depends = expat depends = git depends = php + depends = php-intl depends = php-pgsql depends = postgis depends = postgresql @@ -22,9 +23,8 @@ pkgbase = nominatim optdepends = nominatim-data-wikipedia: optional auxiliary data source to help indicate the importance of OSM features optdepends = nominatim-data-postcodes-gb: improve searches that involve a UK postcode optdepends = nominatim-data-postcodes-us: improve searches that involve a US postcode - backup = usr/share/webapps/nominatim/settings/local.php + backup = etc/webapps/nominatim/settings/local.php source = https://nominatim.org/release/Nominatim-3.4.1.tar.bz2 - source = nominatim.install source = nominatim.sysusers source = nominatim.tmpfiles source = apache.conf @@ -32,13 +32,12 @@ pkgbase = nominatim source = settings-local.php source = webapps-paths.patch sha256sums = eea1e0e4bd0fd5c9408a734e3ad687879fbcdf670edbfa7c678daf7dc1d0fae2 - sha256sums = 0be6ea5234b8622854e6147aa22afd7adfe15546ee1b514acde1654f44e75148 - sha256sums = 7db2c5ff31954c02421fadd06b6758e181a7028f5ac73b16f3abdcb4caef6879 - sha256sums = 2d80c05d0c4c68f2961c035b96bf81f9972e761bda91173483697e0f08be6536 + sha256sums = 7f71b5217cbe0713fa5f8baa138348c9cd49f42c2b6025c059076042e0c04c6d + sha256sums = 50bf612ad951bcf3c1969aa79b0c7ab78745983720bc5f2deb37d1704c0e37d8 sha256sums = 8dd94ea1a88156bc55dc41e4f4df878df4f28c23c31bfda36c89470e2f5997d0 - sha256sums = 1bf1328abbc9b7453800d3e408ae14ea22d0d4ba9dc6d49b21a0e3121a6fbd49 - sha256sums = a1f3c804b2066501554c2e3af0dff3b9b16a3f89117b7e4c5e45e9c858747f74 - sha256sums = 26c0cf16dd4fe2ce597a9495f5161d78a9f1f5276d8c3cf60b26b40b56caf8f1 + sha256sums = 37c4b17463f8317d39bb741b07bbb693afc0bbf584eec590f89b849542b98b7d + sha256sums = c51857c2aa9d1373b5b66cd695b9b30a916ecd05570d92cf631af5efc63ed472 + sha256sums = e35272be9414661c79659da8bd1c8028e859c460efbf52236a4bb84f018b9a57 pkgname = nominatim @@ -5,7 +5,7 @@ pkgdesc="Geocoding tool using OpenStreetmap data" url="https://nominatim.org" pkgver=3.4.1 -pkgrel=6 +pkgrel=9 arch=("x86_64") license=("GPL2") @@ -21,6 +21,7 @@ depends=( "expat" "git" "php" + "php-intl" "php-pgsql" "postgis" "postgresql" @@ -45,7 +46,6 @@ optdepends=( source=( "https://nominatim.org/release/Nominatim-${pkgver}.tar.bz2" - "${pkgname}.install" "${pkgname}.sysusers" "${pkgname}.tmpfiles" "apache.conf" @@ -55,23 +55,22 @@ source=( ) sha256sums=( "eea1e0e4bd0fd5c9408a734e3ad687879fbcdf670edbfa7c678daf7dc1d0fae2" - "0be6ea5234b8622854e6147aa22afd7adfe15546ee1b514acde1654f44e75148" - "7db2c5ff31954c02421fadd06b6758e181a7028f5ac73b16f3abdcb4caef6879" - "2d80c05d0c4c68f2961c035b96bf81f9972e761bda91173483697e0f08be6536" + "7f71b5217cbe0713fa5f8baa138348c9cd49f42c2b6025c059076042e0c04c6d" + "50bf612ad951bcf3c1969aa79b0c7ab78745983720bc5f2deb37d1704c0e37d8" "8dd94ea1a88156bc55dc41e4f4df878df4f28c23c31bfda36c89470e2f5997d0" - "1bf1328abbc9b7453800d3e408ae14ea22d0d4ba9dc6d49b21a0e3121a6fbd49" - "a1f3c804b2066501554c2e3af0dff3b9b16a3f89117b7e4c5e45e9c858747f74" - "26c0cf16dd4fe2ce597a9495f5161d78a9f1f5276d8c3cf60b26b40b56caf8f1" + "37c4b17463f8317d39bb741b07bbb693afc0bbf584eec590f89b849542b98b7d" + "c51857c2aa9d1373b5b66cd695b9b30a916ecd05570d92cf631af5efc63ed472" + "e35272be9414661c79659da8bd1c8028e859c460efbf52236a4bb84f018b9a57" ) install="${pkgname}.install" backup=( - "usr/share/webapps/${pkgname}/settings/local.php" + "etc/webapps/${pkgname}/settings/local.php" ) prepare() { mkdir -p "${srcdir}/build" - patch -d "${srcdir}/Nominatim-${pkgver}" -p1 < webapps-paths.patch + patch -d "${srcdir}/Nominatim-${pkgver}" -p1 < webapps-paths.patch } build() { @@ -90,58 +89,101 @@ build() { package() { cd "${srcdir}/build" make DESTDIR="${pkgdir}/" install - - # install is a bit confusing (~manual); - # upstream instructs to run from build and src + + # install is a bit of a mess; + # upstream instructs to run from build and src # directory, which does not sound like the # thing I’d want to do. - - # directories to copy from source dir + + # (see also my patch to change the directories + # hardcoded in (src)/settings/defaults.php) + + # directories to copy from source dir to /var/lib for _dir in \ "data" \ "data-sources" \ "lib" \ "munin" \ - "settings" \ + "settings" \ "sql" \ "utils" \ + "website" \ "wikidata" do install \ -Ddm755 \ - "${pkgdir}/usr/share/webapps/${pkgname}/src/${_dir}" - cp \ - -avR \ + "${pkgdir}/var/lib/${pkgname}/src/${_dir}" + cp -aR \ "${srcdir}/Nominatim-${pkgver}/${_dir}" \ - "${pkgdir}/usr/share/webapps/${pkgname}/src/" + "${pkgdir}/var/lib/${pkgname}/src/" + done + + # directories to copy from build dir to /var/lib + for _dir in \ + "utils" + do + install \ + -Ddm755 \ + "${pkgdir}/var/lib/${pkgname}/bin/${_dir}" + + cp -aR \ + "${srcdir}/build/${_dir}" \ + "${pkgdir}/var/lib/${pkgname}/bin/" done - # directories to copy from build dir + # directories to copy from build to /usr/share/webapps for _dir in \ - "settings" \ - "utils" \ "website" do install \ -Ddm755 \ "${pkgdir}/usr/share/webapps/${pkgname}/${_dir}" - cp \ - -avR \ + cp -aR \ "${srcdir}/build/${_dir}" \ "${pkgdir}/usr/share/webapps/${pkgname}/" done - install -Dm755 "${srcdir}/build/module/nominatim.so" -t "${pkgdir}/usr/share/webapps/${pkgname}/module/" - install -Dm755 "${srcdir}/build/nominatim/nominatim" -t "${pkgdir}/usr/share/webapps/${pkgname}/nominatim/" - - install -Ddm755 "${pkgdir}/etc/webapps/${pkgname}/settings/" - ln -s "/usr/share/webapps/${pkgname}/settings/" "${pkgdir}/etc/webapps/${pkgname}/settings/" - install -Dm644 "${srcdir}/apache.conf" -t "${pkgdir}/etc/webapps/${pkgname}" - install -Dm644 "${srcdir}/settings-local.php" "${pkgdir}/usr/share/webapps/${pkgname}/settings/local.php" + # directories to copy from build to /etc/webapps/ + for _dir in \ + "settings" + do + install \ + -Ddm755 \ + "${pkgdir}/etc/webapps/${pkgname}/${_dir}" + cp -aR \ + "${srcdir}/build/${_dir}" \ + "${pkgdir}/etc/webapps/${pkgname}/" + done + + # single files (binaries) to copy to /var/lib + install -Dm755 "${srcdir}/build/module/nominatim.so" -t "${pkgdir}/var/lib/${pkgname}/bin/module/" + install -Dm755 "${srcdir}/build/nominatim/nominatim" -t "${pkgdir}/var/lib/${pkgname}/bin/nominatim/" + + # repair symlinks pointing to ${srcdir} + for _link in \ + "css" \ + "images" \ + "js" + do + rm "${pkgdir}/usr/share/webapps/${pkgname}/website/${_link}" + ln -sf "/var/lib/${pkgname}/src/website/${_link}" "${pkgdir}/usr/share/webapps/${pkgname}/website/${_link}" + done + + + # link settings from /etc/webapps + install -Ddm755 "${pkgdir}/etc/webapps/${pkgname}/" + ln -s "/etc/webapps/${pkgname}/settings/" "${pkgdir}/var/lib/${pkgname}/bin/settings" + + # install package settings + install -Dm644 "${srcdir}/settings-local.php" "${pkgdir}/etc/webapps/${pkgname}/settings/local.php" + + # install apache and php config + install -Dm644 "${srcdir}/apache.conf" -t "${pkgdir}/etc/webapps/${pkgname}" install -Dm644 "${srcdir}/php.ini" "${pkgdir}/etc/php/conf.d/nominatim.ini" + # create users and directories install -Dm 644 "${srcdir}/${pkgname}.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf" install -Dm 644 "${srcdir}/${pkgname}.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" } diff --git a/nominatim.install b/nominatim.install index dfc68d6834fd..af94c1c9750f 100644 --- a/nominatim.install +++ b/nominatim.install @@ -9,3 +9,10 @@ post_install() { EOF } + +pre_upgrade() { + if [[ -e "/usr/share/webapps/nominatim/settings/local.php" ]]; then + mkdir -p "/var/lib/nominatim/bin/settings/" + mv "/usr/share/webapps/nominatim/settings/local.php" "/var/lib/nominatim/bin/settings/local.php" + fi +} diff --git a/nominatim.sysusers b/nominatim.sysusers index 3478d9a80f69..2c8669e85a6e 100644 --- a/nominatim.sysusers +++ b/nominatim.sysusers @@ -1 +1 @@ -u nominatim - "Nominatim geocoder" /usr/share/webapps/nominatim /bin/bash +u nominatim - "Nominatim geocoder" /var/lib/nominatim /bin/bash diff --git a/nominatim.tmpfiles b/nominatim.tmpfiles index b8c5ffeeb96d..f3be0277bbcd 100644 --- a/nominatim.tmpfiles +++ b/nominatim.tmpfiles @@ -1,2 +1,3 @@ d /var/lib/nominatim 755 nominatim nominatim +d /var/cache/nominatim 755 nominatim nominatim d /usr/share/nominatim 755 nominatim nominatim @@ -1,2 +1,3 @@ +extension=intl extension=pdo_pgsql extension=pgsql diff --git a/settings-local.php b/settings-local.php index 70dd6f0bbe57..878565a6fa83 100644 --- a/settings-local.php +++ b/settings-local.php @@ -1,4 +1,4 @@ <?php @define('CONST_Website_BaseURL', '/nominatim/'); - @define('CONST_Osm2pgsql_Flatnode_File', '/var/lib/nominatim/flatnode.file'); + @define('CONST_Osm2pgsql_Flatnode_File', '/var/cache/nominatim/flatnode.file'); @define('CONST_Osm2pgsql_Binary', '/usr/bin/osm2pgsql'); diff --git a/webapps-paths.patch b/webapps-paths.patch index 7ced7cdedd4c..845dd788a2a1 100644 --- a/webapps-paths.patch +++ b/webapps-paths.patch @@ -5,8 +5,8 @@ diff -ru a/settings/defaults.php b/settings/defaults.php <?php -@define('CONST_BasePath', '@CMAKE_SOURCE_DIR@'); -@define('CONST_InstallPath', '@CMAKE_BINARY_DIR@'); -+@define('CONST_BasePath', '/usr/share/webapps/nominatim/src'); -+@define('CONST_InstallPath', '/usr/share/webapps/nominatim'); ++@define('CONST_BasePath', '/var/lib/nominatim/src'); ++@define('CONST_InstallPath', '/var/lib/nominatim/bin'); if (file_exists(getenv('NOMINATIM_SETTINGS'))) require_once(getenv('NOMINATIM_SETTINGS')); if (file_exists(CONST_InstallPath.'/settings/local.php')) require_once(CONST_InstallPath.'/settings/local.php'); if (isset($_GET['debug']) && $_GET['debug']) @define('CONST_Debug', true); |