summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpostgresql-tests/gen-data/generate4
-rwxr-xr-xpostgresql-tests/gen-data/prep44
2 files changed, 43 insertions, 5 deletions
diff --git a/postgresql-tests/gen-data/generate b/postgresql-tests/gen-data/generate
index d8ead6b..4269b9e 100755
--- a/postgresql-tests/gen-data/generate
+++ b/postgresql-tests/gen-data/generate
@@ -1,6 +1,6 @@
#!/bin/bash
-GEN_DATADIR=/var/lib/pgsql/data
+GEN_DATADIR=/var/lib/pgsql/data/data
CACHEDIR=/var/cache/dbt
OUTPUTDIR="$(pwd)/results"
SRCDIR="$(pwd)"
@@ -89,7 +89,7 @@ single_task()
service postgresql stop &>/dev/null || die "can't stop postgresql"
tarball="$OUTPUTDIR/$task_name.tar.gz"
- tar -czf "$tarball" -C /var/lib/pgsql/ data
+ tar -czf "$tarball" -C /var/lib/pgsql/data data
info "result tarball $tarball"
rm -rf "$tmpdir"
diff --git a/postgresql-tests/gen-data/prep b/postgresql-tests/gen-data/prep
index b5b19b5..d83dc6b 100755
--- a/postgresql-tests/gen-data/prep
+++ b/postgresql-tests/gen-data/prep
@@ -1,5 +1,43 @@
#!/bin/bash
-yum install -y wget postgresql-server unzip
-echo "LANG=en_US.UTF-8" > /etc/locale.conf
-rm -rf /var/lib/pgsql/data
+. /etc/os-release 2>/dev/null
+
+: "${VERSION_ID=0}"
+
+pkgmanager=yum
+
+verbose() { echo "$0: $*" ; }
+die() { echo "$*" ; exit 1; }
+
+awk_cmd='
+ /^Environment=PGDATA=\/var\/lib\/pgsql\/data$/ {
+ sub("/data", "/data/data");
+ print;
+ t = 1;
+ next;
+ }
+ /^OOMScoreAdjust=-1000$/ {
+ next ;
+ }
+ { print; }
+ END {exit (!t)}
+'
+
+test x"${ID}" = xfedora && test "$VERSION_ID" -gt 21 && pkgmanager=dnf
+
+verbose "installing necessary packages ($pkgmanager)"
+$pkgmanager install -y wget postgresql-server unzip initscripts
+
+verbose "setting up proper datadir"
+service_file=/usr/lib/systemd/system/postgresql.service
+{
+ cp "$service_file" "$service_file~" && \
+ awk "$awk_cmd" < "$service_file~" > "$service_file"
+} || die "can't set datadir to /var/lib/pgsql/data/data"
+
+loc="LANG=en_US.UTF-8"
+verbose "setting locale to $loc"
+echo "$loc" > /etc/locale.conf
+
+verbose "removing datadir"
+rm -rf /var/lib/pgsql/data/data