summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO17
-rw-r--r--PKGBUILD106
-rw-r--r--nominatim.install7
-rw-r--r--nominatim.sysusers2
-rw-r--r--nominatim.tmpfiles1
-rw-r--r--php.ini1
-rw-r--r--settings-local.php2
-rw-r--r--webapps-paths.patch4
8 files changed, 95 insertions, 45 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f800abaf4a3d..4e60286b7800 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index aeb0684d78bb..bf299601a4b5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
diff --git a/php.ini b/php.ini
index 5646b6d55eb7..f811d919e4d1 100644
--- a/php.ini
+++ b/php.ini
@@ -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);