diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2015-10-20 16:07:58 +0200 |
---|---|---|
committer | Pavel Raiskup <praiskup@redhat.com> | 2015-10-20 16:07:58 +0200 |
commit | 8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43 (patch) | |
tree | 06237db1760318716da306bb6bd63ab83a2f08a7 | |
parent | c1587ed4343201b1850f54f9fa869cd37d1c7583 (diff) | |
download | postgresql-setup-tests-8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43.tar.gz postgresql-setup-tests-8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43.tar.xz postgresql-setup-tests-8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43.zip |
generate-data: fixes needed for docker
Because we usually mount /var/lib/pgsql/data into container,
scripts would fail on 'rm -rf /var/lib/pgsql/data'.
* generate (GEN_DATA): Use $PGHOME/data/data.
(single_task): Generate tarball from proper datadir.
* prep: Use 'dnf' when necessary. Use /var/lib/pgsql/data/data
directory.
-rwxr-xr-x | postgresql-tests/gen-data/generate | 4 | ||||
-rwxr-xr-x | postgresql-tests/gen-data/prep | 44 |
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 |