Accepting request 545165 from server:database:postgresql

OBS-URL: https://build.opensuse.org/request/show/545165
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/postgresql?expand=0&rev=50
This commit is contained in:
Dominique Leuenberger 2017-11-26 09:33:18 +00:00 committed by Git OBS Bridge
commit fa29e408aa
9 changed files with 644 additions and 17 deletions

4
postgresql-firewall Normal file
View File

@ -0,0 +1,4 @@
## Name: PostgreSQL Server
## Description: Opens TCP port 5432 to allow remote connections to the PostgreSQL server.
TCP="5432"

198
postgresql-init Normal file
View File

@ -0,0 +1,198 @@
#!/bin/sh
# Copyright (c) 1995-2004 SUSE Linux AG, Nuernberg, Germany.
# All rights reserved.
#
# System startup script for PostgreSQL
#
# LSB compatible service control script; see http://www.linuxbase.org/spec/
#
### BEGIN INIT INFO
# Provides: postgresql
# Required-Start: $network $remote_fs
# Required-Stop: $network $remote_fs
# Default-Start: 3 5
# Default-Stop:
# Description: Start the PostgreSQL master daemon
### END INIT INFO
# Source SuSE config
PG_SYSCONFIG=/etc/sysconfig/postgresql
test -f $PG_SYSCONFIG && . $PG_SYSCONFIG
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_failed set local and overall rc status to failed
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
. /etc/rc.status
eval DATADIR=${POSTGRES_DATADIR:-~postgres/data}
OPTIONS=${POSTGRES_OPTIONS}
PIDFILE=$DATADIR/postmaster.pid
# The echo return value for success (defined in /etc/rc.config).
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signalling is not supported) are
# considered a success.
#
if test -r $DATADIR/PG_VERSION ; then
DATA_VERSION=$(cat $DATADIR/PG_VERSION)
POSTGRES=/usr/lib/postgresql${DATA_VERSION/./}/bin/postgres
fi
if test -x /usr/bin/postgres; then
ACTIVE=$(readlink -q -f /usr/bin/postgres)
test -z "$POSTGRES" && POSTGRES="$ACTIVE"
fi
if test -z "$POSTGRESQL_QUIET"; then
export POSTGRESQL_QUIET=1
if test -n "$DATA_VERSION"; then
if test -z "$ACTIVE" -o "$ACTIVE" != "$POSTGRES"; then
echo " Your database files were created by PostgreSQL version $DATA_VERSION."
if test -x "$POSTGRES"; then
echo " Using the executables in $(dirname $POSTGRES)."
else
echo " Could not find executables for this version."
echo " Please install the PostgreSQL server package for version $DATA_VERSION."
fi
fi
elif test -z "$ACTIVE"; then
echo " Cannot find an active PostgreSQL server binary. Please install one of the PostgreSQL"
echo " server packages or activate an already installed version using update-alternatives."
fi
fi
if test ! -x "$POSTGRES"; then
test "$1" = "stop" && exit 0 || exit 5
fi
BINDIR=$(dirname $POSTGRES)
VERSION=$($POSTGRES --version|awk '{print $NF}')
LOGFILE=$DATADIR/postmaster.log
pg_ctl () {
CMD="$BINDIR/pg_ctl ${POSTGRES_TIMEOUT:+-t $POSTGRES_TIMEOUT} $@"
su - postgres -c "$CMD"
}
case "$1" in
start)
if [ ! -f $DATADIR/PG_VERSION ]; then
echo -n "Initializing PostgreSQL $VERSION at location ${DATADIR}"
LANG_SYSCONFIG=/etc/sysconfig/language
test -f "$LANG_SYSCONFIG" && . $LANG_SYSCONFIG
LANG=${POSTGRES_LANG:-$RC_LANG}
INITDB=/usr/bin/initdb
V=$(printf "%02d%02d" $(echo $VERSION|awk -F. '{print $1, $2}'))
AUTH="ident"; test $V -lt 0804 && AUTH="ident sameuser"
su - postgres -c \
"$INITDB --locale=$LANG --auth=\"$AUTH\" $DATADIR &> initlog" ||
rc_failed
rc_status -v
rc_status || {
echo "You can find a log of the initialisation in ~postgres/initlog ."
rc_exit
}
fi
echo -n "Starting PostgreSQL $VERSION "
if pg_ctl status -s -D $DATADIR >/dev/null
then
rc_failed 0
else
set -o pipefail
pg_ctl start -s -w -D $DATADIR -l $LOGFILE -o "\"$OPTIONS\""
fi
rc_status -v
;;
stop)
echo -n "Shutting down PostgreSQL $VERSION "
if pg_ctl status -s -D $DATADIR >/dev/null
then
pg_ctl stop -s -D $DATADIR -m fast &> /dev/null
else
rc_failed 0
fi
rc_status -v
;;
try-restart|condrestart)
## Do a restart only if the service was active before.
## Note: try-restart is now part of LSB (as of 1.9).
## RH has a similar command named condrestart.
if test "$1" = "condrestart"; then
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
fi
$0 status
if test $? = 0; then
$0 restart
else
rc_reset # Not running is not a failure.
fi
# Remember status and be quiet
rc_status
;;
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
$0 start
rc_status
;;
force-reload | reload)
echo -n "Reloading configuration for PostgreSQL $VERSION "
pg_ctl reload -s -D $DATADIR
rc_status -v
;;
status)
echo -n "Checking for PostgreSQL $VERSION: "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
# Status has a slightly different for the status command:
# 0 - service running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running
# NOTE: checkproc returns LSB compliant status values.
if ! pg_ctl status -s -D $DATADIR >/dev/null
then
if test -f $DATADIR/postmaster.pid; then
rc_failed 1
else
rc_failed 3
fi
fi
rc_status -v
;;
probe)
rc_failed 3
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
exit 1
;;
esac
# Inform the caller not only verbosely and set an exit status.
rc_exit

View File

@ -0,0 +1,36 @@
#!/bin/bash
shopt -s nullglob
if test "$#" -ne 1; then
echo "usage: $0 pgversion" 1>&2
exit 1
fi
PRIO=$1
case "$PRIO" in
postgresql*)
PRIO="${PRIO##postgresql}"
;;
esac
PGBASEDIR=/usr/lib/postgresql$PRIO
if [ $PRIO -lt 80 ] ; then
PRIO="${PRIO}0"
fi
PGBINDIR=$PGBASEDIR/bin
for FILE in $PGBINDIR/*; do
NAME=$(basename $FILE)
DIR=/usr/bin
SLAVES="$SLAVES --slave $DIR/$NAME $NAME $FILE"
done
if test -n "$SLAVES"; then
update-alternatives --quiet --install \
/usr/lib/postgresql postgresql $PGBASEDIR $PRIO \
$SLAVES
else
update-alternatives --remove postgresql $PGBASEDIR
fi

72
postgresql-script Normal file
View File

@ -0,0 +1,72 @@
#!/bin/sh
PG_SYSCONFIG=/etc/sysconfig/postgresql
test -f $PG_SYSCONFIG && . $PG_SYSCONFIG
eval DATADIR=${POSTGRES_DATADIR:-~postgres/data}
OPTIONS=${POSTGRES_OPTIONS}
PIDFILE=$DATADIR/postmaster.pid
#
if test -r $DATADIR/PG_VERSION ; then
DATA_VERSION=$(cat $DATADIR/PG_VERSION)
POSTGRES=/usr/lib/postgresql${DATA_VERSION/./}/bin/postgres
fi
if test -x /usr/bin/postgres; then
ACTIVE=$(readlink -q -f /usr/bin/postgres)
test -z "$POSTGRES" && POSTGRES="$ACTIVE"
fi
if test -n "$DATA_VERSION"; then
if test -z "$ACTIVE" -o "$ACTIVE" != "$POSTGRES"; then
echo " Your database files were created by PostgreSQL version $DATA_VERSION."
if test -x "$POSTGRES"; then
echo " Using the executables in $(dirname $POSTGRES)."
else
echo " Could not find executables for this version."
echo " Please install the PostgreSQL server package for version $DATA_VERSION."
fi
fi
elif test -z "$ACTIVE"; then
echo " Cannot find an active PostgreSQL server binary. Please install one of the PostgreSQL"
echo " server packages or activate an already installed version using update-alternatives."
fi
if test ! -x "$POSTGRES"; then
exit 1
fi
BINDIR=$(dirname $POSTGRES)
VERSION=$($POSTGRES --version|awk '{print $NF}')
pg_ctl () {
$BINDIR/pg_ctl -s -D $DATADIR ${POSTGRES_TIMEOUT:+-t $POSTGRES_TIMEOUT} "$@"
}
cd ~
case "$1" in
start)
if [ ! -f $DATADIR/PG_VERSION ]; then
LANG_SYSCONFIG=/etc/sysconfig/language
test -f "$LANG_SYSCONFIG" && . $LANG_SYSCONFIG
LANG=${POSTGRES_LANG:-$RC_LANG}
V=$(printf "%02d%02d" $(echo $VERSION|awk -F. '{print $1, $2}'))
install -d -m 700 ${DATADIR} &&
echo "Initializing PostgreSQL $VERSION at location ${DATADIR}"
/usr/bin/initdb --locale=$LANG --auth=ident $DATADIR &> initlog || {
echo "Initialisation failed. See $PWD/initlog ."
exit 1
}
fi
pg_ctl start -w ${OPTIONS:+-o "$OPTIONS"}
;;
stop)
pg_ctl stop -m fast
;;
reload)
pg_ctl reload
;;
*)
echo "Usage: $0 {start|stop|reload}"
exit 1
;;
esac

51
postgresql-sysconfig Normal file
View File

@ -0,0 +1,51 @@
## Path: Applications/PostgreSQL
## Description: The PostgreSQL Database System
## Type: string()
## Default: "~postgres/data"
## ServiceRestart: postgresql
#
# In which directory should the PostgreSQL database reside?
#
POSTGRES_DATADIR="~postgres/data"
## Path: Applications/PostgreSQL
## Description: The PostgreSQL Database System
## Type: string()
## Default: ""
## ServiceRestart: postgresql
#
# The options that are given to the PostgreSQL master daemon on startup.
# See the manual pages for postmaster and postgres for valid options.
#
# Don't put "-D datadir" here since it is set by the startup script
# based on the variable POSTGRES_DATADIR above.
#
POSTGRES_OPTIONS=""
## Path: Applications/PostgreSQL
## Description: The PostgreSQL Database System
## Type: string()
## Default: "600"
## ServiceRestart: postgresql
#
# This value controls how many seconds the pg_ctl helper program waits
# for the startup or shutdown of the PostgreSQL server to complete.
#
POSTGRES_TIMEOUT="600"
## Path: Applications/PostgreSQL
## Description: The PostgreSQL Database System
## Type: string()
## Default: "C"
## ServiceRestart: ""
#
# Specifies the locale under which the PostgreSQL database location
# should be initialized and run. If needed, it has to be changed
# before PostgreSQL is started for the first time. To change the
# locale of an existsing PostgreSQL database location, it must be
# dumped, removed and initialized from scratch using the new locale.
#
# If unset or empty $RC_LANG from /etc/sysconfig/language is used.
#
POSTGRES_LANG=""

2
postgresql-tmpfiles.conf Normal file
View File

@ -0,0 +1,2 @@
# For the PostgreSQL server's unix domain socket
d /var/run/postgresql 1777 root root -

View File

@ -1,7 +1,74 @@
-------------------------------------------------------------------
Fri Nov 24 11:24:09 UTC 2017 - mrueckert@suse.de
- instead of hardcoding version 10, just check if the prio is
smaller than 80.
-------------------------------------------------------------------
Thu Nov 23 17:05:21 UTC 2017 - mrueckert@suse.de
- simplify the postgresql-install-alternatives to only require the
pg version and go from there.
supported calls of the script are:
/usr/share/postgresql/install-alternatives postgresqlXY
/usr/share/postgresql/install-alternatives XY
where XY can currently be: 92 93 94 95 96 10
-------------------------------------------------------------------
Wed Nov 22 13:03:42 UTC 2017 - max@suse.com
- CVE-2017-14798, bsc#1062722: Fix LPE via postgres init script.
This only affected SysV-init based systems (i.e. SLE11).
-------------------------------------------------------------------
Tue Nov 14 08:52:46 UTC 2017 - max@suse.com
- postgresql-test was missing a %files section.
-------------------------------------------------------------------
Fri Nov 3 12:55:14 UTC 2017 - max@suse.com
- Move the start/stop script to /usr/share/postgresql
- Add a script for handling update-alternatives as subpackages
get installed/uninstalled, so that the implementation packages
don't have to repeat the logic (postgresql-install-alternatives).
- Add the postgresql-test subpackage.
- Fix some dependencies.
- Save the enabled and running state when upgrading from the
obsolete postgresql-init package.
-------------------------------------------------------------------
Fri Oct 6 14:33:54 UTC 2017 - mrueckert@suse.de
- properly guard the systemd macro in %pre server so it wont be
used on sle11
- add Requires(pre) so we have groupadd/useradd available
-------------------------------------------------------------------
Thu Sep 21 07:59:26 UTC 2017 - max@suse.com
- Refine the dependencies between the "dummy" packages and the
actual implementation of PostgreSQL. The dummy packages now
require an arbitrary implementation and recommend the default
version.
- Move the contents of postgresql-init to the server package.
-------------------------------------------------------------------
Thu Aug 3 23:06:39 UTC 2017 - mrueckert@suse.de
- bump to 10
-------------------------------------------------------------------
Wed Jun 28 09:35:46 UTC 2017 - max@suse.com
- Bump version and defaultpackage to 9.6 in SLE12 (bsc#1046324).
-------------------------------------------------------------------
Sun Oct 30 06:17:24 UTC 2016 - 13ilya@gmail.com
- Bump version and defaultpackage to 9.6.
- Bump version and defaultpackage to 9.6 in Factory.
-------------------------------------------------------------------
Mon Sep 28 15:04:31 UTC 2015 - max@suse.com
@ -9,10 +76,15 @@ Mon Sep 28 15:04:31 UTC 2015 - max@suse.com
- Move ~postgres/.bash_profile to postgresql-server to avoid a
file conflict between the versioned server packages.
-------------------------------------------------------------------
Mon Aug 17 00:25:13 CEST 2015 - ro@suse.de
- Bump version and defaultpackage to 9.4. in SLE (bnc#941886)
-------------------------------------------------------------------
Wed Feb 18 15:28:45 UTC 2015 - max@suse.com
- Bump version and defaultpackage to 9.4.
- Bump version and defaultpackage to 9.4 in Factory.
-------------------------------------------------------------------
Tue Sep 17 11:44:19 UTC 2013 - max@suse.com

19
postgresql.service Normal file
View File

@ -0,0 +1,19 @@
[Unit]
Description=PostgreSQL database server
After=syslog.target
After=network.target
[Service]
Type=forking
User=postgres
EnvironmentFile=-/etc/sysconfig/postgresql
ExecStart=/usr/share/postgresql/postgresql-script start
ExecStop=/usr/share/postgresql/postgresql-script stop
ExecReload=/usr/share/postgresql/postgresql-script reload
# The server might be slow to stop, and that's fine. Don't kill it
SendSIGKILL=no
[Install]
WantedBy=multi-user.target

View File

@ -15,20 +15,42 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define defaultpackage postgresql96
%define defaultpackage postgresql10
%if 0%{?suse_version} >= 1300
%bcond_without systemd
%else
%bcond_with systemd
%endif
Name: postgresql
Summary: Basic Clients and Utilities for PostgreSQL
License: PostgreSQL
Group: Productivity/Databases/Tools
Version: 9.6
Version: 10
Release: 0
Url: https://www.postgresql.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: %defaultpackage
Provides: postgresql-noarch = %version-%release
Requires: postgresql-implementation
Recommends: %defaultpackage
BuildArch: noarch
Source0: postgresql-bashprofile
Source0: postgresql-init
Source1: postgresql-sysconfig
Source2: postgresql-firewall
Source3: postgresql-tmpfiles.conf
Source4: postgresql.service
Source5: postgresql-bashprofile
Source6: postgresql-script
Source7: postgresql-install-alternatives
%if 0%{?suse_version} > 1100
%define fwdir /etc/sysconfig/SuSEfirewall2.d/services
%define fwname postgresql
%else
%define fwdir /etc/sysconfig/scripts
%define fwname SuSEfirewall2-postgresql
%endif
%description
PostgreSQL is an advanced object-relational database management system
@ -45,7 +67,24 @@ package.
%package server
Summary: The Programs Needed to Create and Run a PostgreSQL Server
Group: Productivity/Databases/Servers
Requires: %defaultpackage-server
Provides: postgresql-server-noarch = %version-%release
Requires: postgresql-server-implementation
Requires: postgresql = %version-%release
Recommends: %defaultpackage-server
%if 0%{?suse_version} >= 1315
Requires(pre): shadow
%else
Requires(pre): pwdutils
%endif
Provides: postgresql-init = %version.0-%release
Obsoletes: postgresql-init < %version.0-%release
%if %{with systemd}
BuildRequires: pkgconfig(systemd)
%{?systemd_requires}
%else
Requires(postun): %insserv_prereq
%endif
%description server
PostgreSQL is an advanced object-relational database management system
@ -57,10 +96,24 @@ This package includes the programs needed to create and run a
PostgreSQL server, which will in turn allow you to create and maintain
PostgreSQL databases.
%package test
Summary: The test suite for PostgreSQL
Group: Productivity/Databases/Servers
Provides: postgresql-test-noarch = %version-%release
Requires: postgresql-test-implementation
Recommends: %defaultpackage-implementation
%description test
This package contains the sources and pre-built binaries of various
tests for the PostgreSQL database management system, including
regression tests and benchmarks.
%package docs
Summary: HTML Documentation for PostgreSQL
Group: Productivity/Databases/Tools
Requires: %defaultpackage-docs
Provides: postgresql-docs-noarch = %version-%release
Requires: postgresql-docs-implementation
Recommends: %defaultpackage-docs
%description docs
PostgreSQL is an advanced object-relational database management system
@ -76,7 +129,9 @@ postgresql package.
%package contrib
Summary: Contributed Extensions and Additions to PostgreSQL
Group: Productivity/Databases/Tools
Requires: %defaultpackage-contrib
Provides: postgresql-contrib-noarch = %version-%release
Requires: postgresql-contrib-implementation
Recommends: %defaultpackage-contrib
%description contrib
PostgreSQL is an advanced object-relational database management system
@ -93,8 +148,10 @@ Documentation for the modules contained in this package can be found in
%package devel
Summary: PostgreSQL development header files and libraries
Group: Productivity/Databases/Tools
Requires: %defaultpackage-devel
Group: Development/Libraries/C and C++
Provides: postgresql-devel-noarch = %version-%release
Requires: postgresql-devel-implementation
Recommends: %defaultpackage-devel
%description devel
PostgreSQL is an advanced object-relational database management system
@ -111,7 +168,9 @@ which will interact with a PostgreSQL server.
%package plperl
Summary: The PL/Tcl, PL/Perl, and PL/Python procedural languages for PostgreSQL
Group: Productivity/Databases/Servers
Requires: %defaultpackage-plperl
Provides: postgresql-plperl-noarch = %version-%release
Requires: postgresql-plperl-implementation
Recommends: %defaultpackage-plperl
%description plperl
PostgreSQL is an advanced object-relational database management system
@ -126,7 +185,9 @@ functions, and triggers.
%package plpython
Summary: The PL/Python Procedural Languages for PostgreSQL
Group: Productivity/Databases/Servers
Requires: %defaultpackage-plpython
Provides: postgresql-plpython-noarch = %version-%release
Requires: postgresql-plpython-implementation
Recommends: %defaultpackage-plpython
%description plpython
PostgreSQL is an advanced object-relational database management system
@ -141,7 +202,9 @@ functions, and triggers.
%package pltcl
Summary: PL/Tcl Procedural Language for PostgreSQL
Group: Productivity/Databases/Tools
Requires: %defaultpackage-pltcl
Provides: postgresql-pltcl-noarch = %version-%release
Requires: postgresql-pltcl-implementation
Recommends: %defaultpackage-pltcl
%description pltcl
PostgreSQL is an advanced object-relational database management system
@ -153,17 +216,109 @@ This package contains the PL/Tcl procedural language for PostgreSQL.
With thie module one can use Tcl to write stored procedures, functions,
and triggers.
%prep
%build
echo "This is a dummy package to provide a dependency on the default PostgreSQL version." > README
%install
mkdir -p %buildroot/var/lib/pgsql/
sed 's,@LIBDIR@,%_libdir,g' %{SOURCE0} > \
%buildroot/var/lib/pgsql/.bash_profile
install -m640 %{SOURCE5} %buildroot/var/lib/pgsql/.bash_profile
install -m755 -d %buildroot/var/adm/fillup-templates
install -m644 %{S:1} %buildroot/var/adm/fillup-templates/sysconfig.postgresql
install -m755 -d %buildroot%fwdir
install -m644 %{S:2} %buildroot%fwdir/%fwname
install -m755 -d %buildroot/usr/sbin
install -m755 -d %buildroot/usr/share/postgresql
install -m755 %{S:7} %buildroot/usr/share/postgresql/install-alternatives
%if %{with systemd}
install -m755 -d %buildroot/%_tmpfilesdir
install -m644 %{S:3} %buildroot%_tmpfilesdir/postgresql.conf
install -m755 %{S:6} %buildroot/usr/share/postgresql
install -m755 -d %buildroot%_unitdir
install -m444 %{S:4} %buildroot%_unitdir
ln -sf service %buildroot/usr/sbin/rcpostgresql
%else
install -m755 -d %buildroot/etc/init.d
install -m755 %{S:0} %buildroot/etc/init.d/postgresql
ln -sf /etc/init.d/postgresql %buildroot/usr/sbin/rcpostgresql
%endif
%define eflag /run/postgresql-was-enabled
%define aflag /run/postgresql-was-running
%pre server
getent group postgres > /dev/null ||
groupadd -g 26 -o -r postgres
getent passwd postgres > /dev/null ||
useradd -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \
-c "PostgreSQL Server" -u 26 postgres
%if %{with systemd}
%service_add_pre postgresql.service
# Save the "enabled" and "active" state across the transition of
# ownership of postgresql.service from postgresql-init to
# postgresql-server.
if [ "$FIRST_ARG" -ge 1 ]; then \
if [ x$(systemctl is-enabled postgresql.service 2>/dev/null ||:) = "xenabled" ]; then
touch %eflag
fi
systemctl is-active postgresql.service &>/dev/null && touch %aflag ||:
fi
%endif
%post server
%fillup_only -n postgresql
%if %{with systemd}
%tmpfiles_create %_tmpfilesdir/postgresql.conf
%service_add_post postgresql.service
%endif
%preun server
%if %{with systemd}
# Cannot use systemd macros here, because they're doing too much
/usr/bin/systemctl --no-reload disable postgresql.service || :
%else
%stop_on_removal postgresql
%endif
%postun server
%if %{with systemd}
# Cannot use systemd macros here, because they're doing too much
rm -f "/var/lib/systemd/migrated/postgresql"
/usr/bin/systemctl daemon-reload || :
%else
%insserv_cleanup
%endif
%if %{with systemd}
%posttrans server
# Save the "enabled" and "active" state across the transition of
# ownership of postgresql.service from postgresql-init to
# postgresql-server.
if test -f %eflag; then
rm -f %eflag
systemctl enable postgresql.service
fi
if test -f %aflag; then
rm -f %aflag
systemctl start postgresql.service
fi
%endif
%files
%defattr(-,root,root,-)
%doc README
%dir /usr/share/postgresql
/usr/share/postgresql/install-alternatives
%files server
%defattr(-,root,root,-)
@ -171,6 +326,24 @@ sed 's,@LIBDIR@,%_libdir,g' %{SOURCE0} > \
%attr(750,postgres,postgres) %dir /var/lib/pgsql
%attr(640,postgres,postgres) %config(noreplace) /var/lib/pgsql/.bash_profile
%if 0%{?suse_version} > 1110
%dir %fwdir
%endif
%config %fwdir/%fwname
/var/adm/fillup-templates/sysconfig.postgresql
/usr/sbin/rcpostgresql
%if %{with systemd}
%_tmpfilesdir/postgresql.conf
%_unitdir/
/usr/share/postgresql/postgresql-script
%else
%config /etc/init.d/postgresql
%endif
%files test
%defattr(-,root,root,-)
%doc README
%files docs
%defattr(-,root,root,-)
%doc README
@ -195,4 +368,4 @@ sed 's,@LIBDIR@,%_libdir,g' %{SOURCE0} > \
%defattr(-,root,root,-)
%doc README
%changelog
%changelog