6 Star 0 Fork 2

src-oepkgs/postgresql-12.14

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
postgresql-12.spec 60.29 KB
一键复制 编辑 原始数据 按行查看 历史
happem 提交于 2023-05-05 01:31 . init postgresql 12.14 source
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818
%undefine _package_note_file
# These are macros to be used with find_lang and other stuff
%global packageversion 120
%global pgpackageversion 12
%global pgmajorversion 12
%global prevmajorversion 11
%global sname postgresql
%global pgbaseinstdir /usr/pgsql-%{pgmajorversion}
%global beta 0
%{?beta:%global __os_install_post /usr/lib/rpm/brp-compress}
# Macros that define the configure parameters:
%{!?kerbdir:%global kerbdir "/usr"}
%{!?disablepgfts:%global disablepgfts 0}
%if 0%{?suse_version} >= 1315
%{!?enabletaptests:%global enabletaptests 0}
%else
%{!?enabletaptests:%global enabletaptests 1}
%endif
%{!?icu:%global icu 1}
%{!?kerberos:%global kerberos 1}
%{!?ldap:%global ldap 1}
%{!?nls:%global nls 1}
%{!?pam:%global pam 1}
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 || 0%{?suse_version} >= 1500 || 0%{?openEuler}
%{!?plpython2:%global plpython2 0}
%else
%{!?plpython2:%global plpython2 1}
%endif
%if 0%{?rhel} && 0%{?rhel} < 7
# RHEL 6 does not have Python 3
%{!?plpython3:%global plpython3 0}
%else
# All Fedora releases now use Python3
# Support Python3 on RHEL 7.7+ natively
# RHEL 8 uses Python3
%{!?plpython3:%global plpython3 1}
%endif
%if 0%{?suse_version}
%if 0%{?suse_version} <= 1315
# Disable PL/Python 3 on SLES 12
%{!?plpython3:%global plpython3 0}
%endif
%endif
# This is the list of contrib modules that will be compiled with PY3 as well:
%global python3_build_list hstore_plpython jsonb_plpython ltree_plpython
%{!?pltcl:%global pltcl 1}
%{!?plperl:%global plperl 1}
%{!?ssl:%global ssl 1}
%{!?test:%global test 1}
%{!?runselftest:%global runselftest 0}
%{!?uuid:%global uuid 1}
%{!?xml:%global xml 1}
%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?systemd_enabled:%global systemd_enabled 0}
%else
%{!?systemd_enabled:%global systemd_enabled 1}
%endif
%ifarch ppc64 ppc64le s390 s390x armv7hl
%{!?sdt:%global sdt 0}
%else
%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?sdt:%global sdt 0}
%else
%{!?sdt:%global sdt 1}
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?llvm:%global llvm 0}
%endif
%ifarch ppc64 ppc64le s390 s390x armv7hl aarch64
%if 0%{?rhel} && 0%{?rhel} == 7
%{!?llvm:%global llvm 0}
%else
%{!?llvm:%global llvm 1}
%endif
%else
%{!?llvm:%global llvm 1}
%endif
%if 0%{?rhel} && 0%{?rhel} <= 6
%{!?selinux:%global selinux 0}
%else
%{!?selinux:%global selinux 1}
%endif
%if 0%{?fedora} > 23
%global _hardened_build 1
%endif
Summary: PostgreSQL client programs and libraries
Name: %{sname}%{pgmajorversion}
Version: 12.14
Release: 1PGDG%{?dist}
License: PostgreSQL
Url: https://www.postgresql.org/
Source0: https://download.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
Source4: %{sname}-%{pgmajorversion}-Makefile.regress
Source5: %{sname}-%{pgmajorversion}-pg_config.h
%if %{systemd_enabled}
Source6: %{sname}-%{pgmajorversion}-README-systemd.rpm-dist
%else
Source6: %{sname}-%{pgmajorversion}-README-init.rpm-dist
%endif
Source7: %{sname}-%{pgmajorversion}-ecpg_config.h
Source9: %{sname}-%{pgmajorversion}-libs.conf
Source12: https://www.postgresql.org/files/documentation/pdf/%{pgpackageversion}/%{sname}-%{pgpackageversion}-A4.pdf
%if 0%{?suse_version}
Source14: %{sname}-%{pgmajorversion}.pam.suse
%else
Source14: %{sname}-%{pgmajorversion}.pam
%endif
Source16: %{sname}-%{pgmajorversion}-filter-requires-perl-Pg.sh
Source17: %{sname}-%{pgmajorversion}-setup
%if %{systemd_enabled}
Source10: %{sname}-%{pgmajorversion}-check-db-dir
Source18: %{sname}-%{pgmajorversion}.service
Source19: %{sname}-%{pgmajorversion}-tmpfiles.d
%else
Source3: %{sname}-%{pgmajorversion}.init
%endif
Patch1: %{sname}-%{pgmajorversion}-rpm-pgsql.patch
Patch3: %{sname}-%{pgmajorversion}-logging.patch
Patch5: %{sname}-%{pgmajorversion}-var-run-socket.patch
Patch6: %{sname}-%{pgmajorversion}-perl-rpath.patch
%if 0%{?rhel} && 0%{?rhel} == 6
# Revert aa2215d6b, as RHEL 6 uses Python 2.6. This patch is needed as of
# version 12.10:
Patch7: %{sname}-%{pgmajorversion}-rhel6-revert-aa2215d6b.patch
%endif
BuildRequires: perl glibc-devel bison flex >= 2.5.31 pgdg-srpm-macros
BuildRequires: gcc-c++
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: readline-devel zlib-devel >= 1.0.4
# This dependency is needed for Source 16:
%if 0%{?fedora} || 0%{?rhel} > 7 || 0%{?openEuler}
BuildRequires: perl-generators
%endif
Requires: /sbin/ldconfig
%if %icu
BuildRequires: libicu-devel
Requires: libicu
%endif
%if %llvm
%if 0%{?rhel} && 0%{?rhel} == 7
# Packages come from EPEL and SCL:
%ifarch aarch64
BuildRequires: llvm-toolset-7.0-llvm-devel >= 7.0.1 llvm-toolset-7.0-clang >= 7.0.1
%else
BuildRequires: llvm5.0-devel >= 5.0 llvm-toolset-7-clang >= 4.0.1
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} >= 8 || 0%{?openEuler}
# Packages come from Appstream:
BuildRequires: llvm-devel >= 8.0.1 clang-devel >= 8.0.1
%endif
%if 0%{?fedora}
BuildRequires: llvm-devel >= 5.0 clang-devel >= 5.0
%endif
%if 0%{?suse_version} >= 1315 && 0%{?suse_version} <= 1499
BuildRequires: llvm6-devel clang6-devel
%endif
%if 0%{?suse_version} >= 1500
BuildRequires: llvm13-devel clang13-devel
%endif
%endif
%if %kerberos
BuildRequires: krb5-devel
BuildRequires: e2fsprogs-devel
%endif
%if %ldap
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1315
BuildRequires: openldap2-devel
%endif
%else
BuildRequires: openldap-devel
%endif
%endif
%if %nls
BuildRequires: gettext >= 0.10.35
%endif
%if %pam
BuildRequires: pam-devel
%endif
%if %plperl
%if 0%{?rhel} && 0%{?rhel} >= 7
BuildRequires: perl-ExtUtils-Embed
%endif
%if 0%{?fedora} >= 22
BuildRequires: perl-ExtUtils-Embed
%endif
%endif
%if %plpython2
BuildRequires: python2-devel
%endif
%if %plpython3
BuildRequires: python3-devel
%endif
%if %pltcl
BuildRequires: tcl-devel
%endif
%if %sdt
BuildRequires: systemtap-sdt-devel
%endif
%if %selinux
# All supported distros have libselinux-devel package:
BuildRequires: libselinux-devel >= 2.0.93
# SLES: SLES 15 does not have selinux-policy package. Use
# it only on SLES 12:
%if 0%{?suse_version} >= 1315 && 0%{?suse_version} <= 1499
BuildRequires: selinux-policy >= 3.9.13
%endif
# RHEL/Fedora has selinux-policy:
%if 0%{?rhel} || 0%{?fedora}
BuildRequires: selinux-policy >= 3.9.13
%endif
%endif
%if %ssl
%if 0%{?suse_version} >= 1315 && 0%{?suse_version} <= 1499
BuildRequires: libopenssl-devel
%else
BuildRequires: openssl-devel
%endif
%endif
%if %uuid
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1315
BuildRequires: uuid-devel
%endif
%else
BuildRequires: libuuid-devel
%endif
%endif
%if %xml
BuildRequires: libxml2-devel libxslt-devel
%endif
%if %{systemd_enabled}
BuildRequires: systemd, systemd-devel
# We require this to be present for %%{_prefix}/lib/tmpfiles.d
Requires: systemd
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1315
Requires(post): systemd-sysvinit
%endif
%else
Requires(post): systemd-sysv
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%endif
%else
Requires(post): chkconfig
Requires(preun): chkconfig
# This is for /sbin/service
Requires(preun): initscripts
Requires(postun): initscripts
%endif
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires(post): %{_sbindir}/update-alternatives
Requires(postun): %{_sbindir}/update-alternatives
Provides: %{sname} >= %{version}-%{release}
%description
PostgreSQL is an advanced Object-Relational database management system (DBMS).
The base postgresql package contains the client programs that you'll need to
access a PostgreSQL DBMS server, as well as HTML documentation for the whole
system. These client programs can be located on the same machine as the
PostgreSQL server, or on a remote machine that accesses a PostgreSQL server
over a network connection. The PostgreSQL server can be found in the
postgresql%{pgmajorversion}-server sub-package.
If you want to manipulate a PostgreSQL database on a local or remote PostgreSQL
server, you need this package. You also need to install this package
if you're installing the postgresql%{pgmajorversion}-server package.
%package libs
Summary: The shared libraries required for any PostgreSQL clients
Provides: postgresql-libs = %{pgmajorversion} libpq5 >= 10.0
%if 0%{?rhel} && 0%{?rhel} <= 6
Requires: openssl
%else
%if 0%{?suse_version} >= 1315 && 0%{?suse_version} <= 1499
Requires: libopenssl1_0_0
%else
%if 0%{?suse_version} >= 1500
Requires: libopenssl1_1
%else
Requires: openssl-libs >= 1.0.2k
%endif
%endif
%endif
%description libs
The postgresql%{pgmajorversion}-libs package provides the essential shared libraries for any
PostgreSQL client program or interface. You will need to install this package
to use any other PostgreSQL package or any clients that need to connect to a
PostgreSQL server.
%package server
Summary: The programs needed to create and run a PostgreSQL server
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd
# for /sbin/ldconfig
Requires(post): glibc
Requires(postun): glibc
%if %{systemd_enabled}
# pre/post stuff needs systemd too
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1315
Requires(post): systemd
%endif
%else
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%endif
%else
Requires: /usr/sbin/useradd, /sbin/chkconfig
%endif
Provides: postgresql-server >= %{version}-%{release}
%description server
PostgreSQL is an advanced Object-Relational database management system (DBMS).
The postgresql%{pgmajorversion}-server package contains the programs needed to create
and run a PostgreSQL server, which will in turn allow you to create
and maintain PostgreSQL databases.
%package docs
Summary: Extra documentation for PostgreSQL
Provides: postgresql-docs >= %{version}-%{release}
%description docs
The postgresql%{pgmajorversion}-docs package includes the SGML source for the documentation
as well as the documentation in PDF format and some extra documentation.
Install this package if you want to help with the PostgreSQL documentation
project, or if you want to generate printed documentation. This package also
includes HTML version of the documentation.
%package contrib
Summary: Contributed source and binaries distributed with PostgreSQL
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-server%{?_isa} = %{version}-%{release}
Provides: postgresql-contrib >= %{version}-%{release}
%description contrib
The postgresql%{pgmajorversion}-contrib package contains various extension modules that are
included in the PostgreSQL distribution.
%package devel
Summary: PostgreSQL development header files and libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%if %llvm
%if 0%{?rhel} && 0%{?rhel} == 7
# Packages come from EPEL and SCL:
%ifarch aarch64
BuildRequires: llvm-toolset-7.0-llvm-devel >= 7.0.1 llvm-toolset-7.0-clang >= 7.0.1
%else
Requires: llvm5.0-devel >= 5.0 llvm-toolset-7-clang >= 4.0.1
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} >= 8 || 0%{?openEuler}
# Packages come from Appstream:
Requires: llvm-devel >= 8.0.1 clang-devel >= 8.0.1
%endif
%if 0%{?fedora}
Requires: llvm-devel >= 5.0 clang-devel >= 5.0
%endif
%if 0%{?suse_version} >= 1315 && 0%{?suse_version} <= 1499
Requires: llvm6-devel clang6-devel
%endif
%if 0%{?suse_version} >= 1500
Requires: llvm13-devel clang13-devel
%endif
%endif
%if %icu
Requires: libicu-devel
%endif
%if %enabletaptests
%if 0%{?suse_version} && 0%{?suse_version} >= 1315
Requires: perl-IPC-Run
BuildRequires: perl-IPC-Run
%endif
%if 0%{?rhel} || 0%{?openEuler}
Requires: perl-Test-Simple
BuildRequires: perl-Test-Simple perl-IPC-Run perl-Time-HiRes
%endif
%if 0%{?fedora}
Requires: perl-IPC-Run
BuildRequires: perl-Test-Simple perl-IPC-Run perl-Time-HiRes
%endif
%endif
Provides: postgresql-devel >= %{version}-%{release}
Obsoletes: libpq-devel <= 42.0
%description devel
The postgresql%{pgmajorversion}-devel package contains the header files and libraries
needed to compile C or C++ applications which will directly interact
with a PostgreSQL database management server. It also contains the ecpg
Embedded C Postgres preprocessor. You need to install this package if you want
to develop applications which will interact with a PostgreSQL server.
%if %llvm
%package llvmjit
Summary: Just-in-time compilation support for PostgreSQL
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%if 0%{?rhel} && 0%{?rhel} == 7
%ifarch aarch64
Requires: llvm-toolset-7.0-llvm >= 7.0.1
%else
Requires: llvm5.0 >= 5.0
%endif
%endif
%if 0%{?suse_version} == 1315
Requires: llvm
%endif
%if 0%{?suse_version} >= 1500
Requires: libLLVM13
%endif
%if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?openEuler}
Requires: llvm => 5.0
%endif
Provides: postgresql-llvmjit >= %{version}-%{release}
%description llvmjit
The postgresql%{pgmajorversion}-llvmjit package contains support for
just-in-time compiling parts of PostgreSQL queries. Using LLVM it
compiles e.g. expressions and tuple deforming into native code, with the
goal of accelerating analytics queries.
%endif
%if %plperl
%package plperl
Summary: The Perl procedural language for PostgreSQL
Requires: %{name}-server%{?_isa} = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%ifarch ppc ppc64
BuildRequires: perl-devel
%endif
Obsoletes: postgresql%{pgmajorversion}-pl <= %{version}-%{release}
Provides: postgresql-plperl >= %{version}-%{release}
%description plperl
The postgresql%{pgmajorversion}-plperl package contains the PL/Perl procedural language,
which is an extension to the PostgreSQL database server.
Install this if you want to write database functions in Perl.
%endif
%if %plpython2
%package plpython
Summary: The Python procedural language for PostgreSQL
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-server%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-pl <= %{version}-%{release}
Provides: postgresql-plpython >= %{version}-%{release}
Provides: %{name}-plpython2%{?_isa} = %{version}-%{release}
%if 0%{?rhel} && 0%{?rhel} <= 6
Requires: python-libs
%endif
%if 0%{?rhel} == 7 || 0%{?rhel} == 8
Requires: python2-libs
%endif
%if 0%{?fedora} && 0%{?fedora} <= 31
Requires: python2-libs
%endif
%if 0%{?fedora} >= 32
Requires: python27
%endif
%description plpython
The postgresql%{pgmajorversion}-plpython package contains the PL/Python procedural language,
which is an extension to the PostgreSQL database server.
Install this if you want to write database functions in Python.
%endif
%if %plpython3
%package plpython3
Summary: The Python3 procedural language for PostgreSQL
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-server%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-pl <= %{version}-%{release}
Provides: postgresql-plpython3 >= %{version}-%{release}
%if 0%{?suse_version} >= 1315
Requires: python3-base
%else
# We support Python3 natively on RHEL/CentOS 7 as of 7.7.
Requires: python3-libs
%endif
%description plpython3
The postgresql%{pgmajorversion}-plpython3 package contains the PL/Python3 procedural language,
which is an extension to the PostgreSQL database server.
Install this if you want to write database functions in Python 3.
%endif
%if %pltcl
%package pltcl
Summary: The Tcl procedural language for PostgreSQL
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-server%{?_isa} = %{version}-%{release}
Requires: tcl
Obsoletes: %{name}-pl <= %{version}-%{release}
Provides: postgresql-pltcl >= %{version}-%{release}
%description pltcl
PostgreSQL is an advanced Object-Relational database management
system. The %{name}-pltcl package contains the PL/Tcl language
for the backend.
%endif
%if %test
%package test
Summary: The test suite distributed with PostgreSQL
Requires: %{name}-server%{?_isa} = %{version}-%{release}
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
Provides: postgresql-test >= %{version}-%{release}
%description test
The postgresql%{pgmajorversion}-test package contains files needed for various tests for the
PostgreSQL database management system, including regression tests and
benchmarks.
%endif
%global __perl_requires %{SOURCE16}
%prep
%setup -q -n %{sname}-%{version}
%patch1 -p0
%patch3 -p0
%patch5 -p0
%patch6 -p0
%if 0%{?rhel} && 0%{?rhel} == 6
%patch7 -p0
%endif
%{__cp} -p %{SOURCE12} .
%build
# fail quickly and obviously if user tries to build as root
%if %runselftest
if [ x"`id -u`" = x0 ]; then
echo "postgresql's regression tests fail if run as root."
echo "If you really need to build the RPM as root, use"
echo "--define='runselftest 0' to skip the regression tests."
exit 1
fi
%endif
CFLAGS="${CFLAGS:-%optflags}"
# Strip out -ffast-math from CFLAGS....
CFLAGS=`echo $CFLAGS|xargs -n 1|grep -v ffast-math|xargs -n 100`
%if 0%{?rhel}
LDFLAGS="-Wl,--as-needed"; export LDFLAGS
%endif
export CFLAGS
%if %icu
# Export ICU flags on RHEL 6:
%if 0%{?rhel} && 0%{?rhel} <= 6
ICU_CFLAGS='-I%{_includedir}'; export ICU_CFLAGS
ICU_LIBS='-L%{_libdir} -licui18n -licuuc -licudata'; export ICU_LIBS
%endif
%endif
# NOTE: PL/Python 3
# plpython requires separate configure/build runs to build against python 2
# versus python 3. Our strategy is to do the python 3 run first, then make
# distclean and do it again for the "normal" build. Note that the installed
# Makefile.global will reflect the python 2 build, which seems appropriate
# since that's still considered the default plpython version.
%if %plpython3
export PYTHON=/usr/bin/python3
%if 0%{?rhel} && 0%{?rhel} == 7
%ifarch aarch64
export CLANG=/opt/rh/llvm-toolset-7.0/root/usr/bin/clang LLVM_CONFIG=/opt/rh/llvm-toolset-7.0/root/usr/bin/llvm-config
%else
export CLANG=/opt/rh/llvm-toolset-7/root/usr/bin/clang LLVM_CONFIG=%{_libdir}/llvm5.0/bin/llvm-config
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} == 8 || 0%{?openEuler}
export CLANG=%{_bindir}/clang LLVM_CONFIG=%{_bindir}/llvm-config-64
%endif
# These configure options must match main build
./configure --enable-rpath \
--prefix=%{pgbaseinstdir} \
--includedir=%{pgbaseinstdir}/include \
--mandir=%{pgbaseinstdir}/share/man \
--datadir=%{pgbaseinstdir}/share \
--libdir=%{pgbaseinstdir}/lib \
%if %beta
--enable-debug \
--enable-cassert \
%endif
%if %enabletaptests
--enable-tap-tests \
%endif
%if %icu
--with-icu \
%endif
%if %llvm
--with-llvm \
%endif
%if %plperl
--with-perl \
%endif
%if %plpython3
--with-python \
%endif
%if %pltcl
--with-tcl \
--with-tclconfig=%{_libdir} \
%endif
%if %ssl
--with-openssl \
%endif
%if %pam
--with-pam \
%endif
%if %kerberos
--with-gssapi \
--with-includes=%{kerbdir}/include \
--with-libraries=%{kerbdir}/%{_lib} \
%endif
%if %nls
--enable-nls \
%endif
%if %sdt
--enable-dtrace \
%endif
%if %disablepgfts
--disable-thread-safety \
%endif
%if %uuid
--with-uuid=e2fs \
%endif
%if %xml
--with-libxml \
--with-libxslt \
%endif
%if %ldap
--with-ldap \
%endif
%if %selinux
--with-selinux \
%endif
%if %{systemd_enabled}
--with-systemd \
%endif
--with-system-tzdata=%{_datadir}/zoneinfo \
--sysconfdir=/etc/sysconfig/pgsql \
--docdir=%{pgbaseinstdir}/doc \
--htmldir=%{pgbaseinstdir}/doc/html
# We need to build PL/Python 3 and a few extensions:
# Build PL/Python 3
cd src/backend
MAKELEVEL=0 %{__make} submake-generated-headers
cd ../..
cd src/pl/plpython
%{__make} all
cd ..
# save built form in a directory that "make distclean" won't touch
%{__cp} -a plpython plpython3
cd ../..
# Build some of the extensions with PY3 support
for p3bl in %{python3_build_list} ; do
p3blpy3dir="$p3bl"3
pushd contrib/$p3bl
MAKELEVEL=0 %{__make} %{?_smp_mflags} all
cd ..
# save built form in a directory that "make distclean" won't touch
%{__cp} -a $p3bl $p3blpy3dir
popd
done
# must also save this version of Makefile.global for later
# on platforms where Python 2 is still available:
%{__cp} src/Makefile.global src/Makefile.global.python3
%if %plpython2
# Clean up the tree.
%{__make} distclean
%endif
%endif
# NOTE: PL/Python3 (END)
# NOTE: PL/Python 2
%if %{?plpython2}
unset PYTHON
# Explicitly run Python2 here -- in future releases,
# Python3 will be the default.
export PYTHON=/usr/bin/python2
%if 0%{?rhel} && 0%{?rhel} == 7
%ifarch aarch64
export CLANG=/opt/rh/llvm-toolset-7.0/root/usr/bin/clang LLVM_CONFIG=/opt/rh/llvm-toolset-7.0/root/usr/bin/llvm-config
%else
export CLANG=/opt/rh/llvm-toolset-7/root/usr/bin/clang LLVM_CONFIG=%{_libdir}/llvm5.0/bin/llvm-config
%endif
%endif
%if 0%{?rhel} && 0%{?rhel} == 8
export CLANG=%{_bindir}/clang LLVM_CONFIG=%{_bindir}/llvm-config-64
%endif
# Normal (not python3) build begins here
./configure --enable-rpath \
--prefix=%{pgbaseinstdir} \
--includedir=%{pgbaseinstdir}/include \
--libdir=%{pgbaseinstdir}/lib \
--mandir=%{pgbaseinstdir}/share/man \
--datadir=%{pgbaseinstdir}/share \
%if %beta
--enable-debug \
--enable-cassert \
%endif
%if %enabletaptests
--enable-tap-tests \
%endif
%if %icu
--with-icu \
%endif
%if %llvm
--with-llvm \
%endif
%if %plperl
--with-perl \
%endif
%if %plpython2
--with-python \
%endif
%if %pltcl
--with-tcl \
--with-tclconfig=%{_libdir} \
%endif
%if %ssl
--with-openssl \
%endif
%if %pam
--with-pam \
%endif
%if %kerberos
--with-gssapi \
--with-includes=%{kerbdir}/include \
--with-libraries=%{kerbdir}/%{_lib} \
%endif
%if %nls
--enable-nls \
%endif
%if %sdt
--enable-dtrace \
%endif
%if %disablepgfts
--disable-thread-safety \
%endif
%if %uuid
--with-uuid=e2fs \
%endif
%if %xml
--with-libxml \
--with-libxslt \
%endif
%if %ldap
--with-ldap \
%endif
%if %selinux
--with-selinux \
%endif
%if %{systemd_enabled}
--with-systemd \
%endif
--with-system-tzdata=%{_datadir}/zoneinfo \
--sysconfdir=/etc/sysconfig/pgsql \
--docdir=%{pgbaseinstdir}/doc \
--htmldir=%{pgbaseinstdir}/doc/html
# We need to build PL/Python 2 and a few extensions:
# Build PL/Python 2
cd src/backend
MAKELEVEL=0 %{__make} submake-generated-headers
cd ../..
cd src/pl/plpython
%{__make} all
cd ..
# save built form in a directory that "make distclean" won't touch
%{__cp} -a plpython plpython2
cd ../..
# Build some of the extensions with PY2 support as well.
for p2bl in %{python3_build_list} ; do
p2blpy2dir="$p2bl"2
pushd contrib/$p2bl
MAKELEVEL=0 %{__make} %{?_smp_mflags} all
# save built form in a directory that "make distclean" won't touch
cd ..
%{__cp} -a $p2bl $p2blpy2dir
popd
done
%endif
# NOTE: PL/Python 2 (END)
MAKELEVEL=0 %{__make} %{?_smp_mflags} all
%{__make} %{?_smp_mflags} -C contrib all
%if %uuid
%{__make} %{?_smp_mflags} -C contrib/uuid-ossp all
%endif
# Have to hack makefile to put correct path into tutorial scripts
sed "s|C=\`pwd\`;|C=%{pgbaseinstdir}/lib/tutorial;|" < src/tutorial/Makefile > src/tutorial/GNUmakefile
%{__make} %{?_smp_mflags} -C src/tutorial NO_PGXS=1 all
%{__rm} -f src/tutorial/GNUmakefile
# run_testsuite WHERE
# -------------------
# Run 'make check' in WHERE path. When that command fails, return the logs
# given by PostgreSQL build system and set 'test_failure=1'.
run_testsuite()
{
%{__make} -C "$1" MAX_CONNECTIONS=5 check && return 0
test_failure=1
(
set +x
echo "=== trying to find all regression.diffs files in build directory ==="
find -name 'regression.diffs' | \
while read line; do
echo "=== make failure: $line ==="
cat "$line"
done
)
}
%if %runselftest
run_testsuite "src/test/regress"
%{__make} clean -C "src/test/regress"
run_testsuite "src/pl"
%if %plpython3
# must install Makefile.global that selects python3
%{__mv} src/Makefile.global src/Makefile.global.save
%{__cp} src/Makefile.global.python2 src/Makefile.global
touch -r src/Makefile.global.save src/Makefile.global
# because "make check" does "make install" on the whole tree,
# we must temporarily install plpython3 as src/pl/plpython,
# since that is the subdirectory src/pl/Makefile knows about
%{__mv} src/pl/plpython src/pl/plpython2
%{__mv} src/pl/plpython3 src/pl/plpython
run_testsuite "src/pl/plpython"
# and clean up our mess
%{__mv} src/pl/plpython src/pl/plpython3
%{__mv} src/pl/plpython2 src/pl/plpython
%{__mv} -f src/Makefile.global.save src/Makefile.global
%endif
run_testsuite "contrib"
%endif
%if %test
pushd src/test/regress
%{__make} all
popd
%endif
%install
%{__rm} -rf %{buildroot}
%{__make} DESTDIR=%{buildroot} install
%if %plpython3
%{__mv} src/Makefile.global src/Makefile.global.save
%{__cp} src/Makefile.global.python3 src/Makefile.global
touch -r src/Makefile.global.save src/Makefile.global
# Install PL/Python3
pushd src/pl/plpython3
%{__make} DESTDIR=%{buildroot} install
popd
for p3bl in %{python3_build_list} ; do
p3blpy3dir="$p3bl"3
# Install jsonb_plpython3
pushd contrib/$p3blpy3dir
%{__make} DESTDIR=%{buildroot} install
popd
done
%{__mv} -f src/Makefile.global.save src/Makefile.global
%endif
%{__mkdir} -p %{buildroot}%{pgbaseinstdir}/share/extensions/
%{__make} -C contrib DESTDIR=%{buildroot} install
%if %uuid
%{__make} -C contrib/uuid-ossp DESTDIR=%{buildroot} install
%endif
# multilib header hack; note pg_config.h is installed in two places!
# we only apply this to known Red Hat multilib arches, per bug #177564
case `uname -i` in
i386 | x86_64 | ppc | ppc64 | s390 | s390x)
%{__mv} %{buildroot}%{pgbaseinstdir}/include/pg_config.h %{buildroot}%{pgbaseinstdir}/include/pg_config_`uname -i`.h
%{__install} -m 644 %{SOURCE5} %{buildroot}%{pgbaseinstdir}/include/pg_config.h
%{__mv} %{buildroot}%{pgbaseinstdir}/include/server/pg_config.h %{buildroot}%{pgbaseinstdir}/include/server/pg_config_`uname -i`.h
%{__install} -m 644 %{SOURCE5} %{buildroot}%{pgbaseinstdir}/include/server/pg_config.h
%{__mv} %{buildroot}%{pgbaseinstdir}/include/ecpg_config.h %{buildroot}%{pgbaseinstdir}/include/ecpg_config_`uname -i`.h
%{__install} -m 644 %{SOURCE7} %{buildroot}%{pgbaseinstdir}/include/ecpg_config.h
;;
*)
;;
esac
# This is only for systemd supported distros:
%if %{systemd_enabled}
# prep the setup script, including insertion of some values it needs
sed -e 's|^PGVERSION=.*$|PGVERSION=%{pgmajorversion}|' \
-e 's|^PGENGINE=.*$|PGENGINE=%{pgbaseinstdir}/bin|' \
-e 's|^PREVMAJORVERSION=.*$|PREVMAJORVERSION=%{prevmajorversion}|' \
<%{SOURCE17} >postgresql-%{pgmajorversion}-setup
%{__install} -m 755 postgresql-%{pgmajorversion}-setup %{buildroot}%{pgbaseinstdir}/bin/postgresql-%{pgmajorversion}-setup
# Create a symlink of the setup script under $PATH
%{__mkdir} -p %{buildroot}%{_bindir}
%{__ln_s} ../../../../../../../../../../../../../../%{pgbaseinstdir}/bin/postgresql-%{pgmajorversion}-setup %{buildroot}%{_bindir}/
# prep the startup check script, including insertion of some values it needs
sed -e 's|^PGVERSION=.*$|PGVERSION=%{pgmajorversion}|' \
-e 's|^PREVMAJORVERSION=.*$|PREVMAJORVERSION=%{prevmajorversion}|' \
-e 's|^PGDOCDIR=.*$|PGDOCDIR=%{_pkgdocdir}|' \
<%{SOURCE10} >%{sname}-%{pgmajorversion}-check-db-dir
touch -r %{SOURCE10} %{sname}-%{pgmajorversion}-check-db-dir
%{__install} -m 755 %{sname}-%{pgmajorversion}-check-db-dir %{buildroot}%{pgbaseinstdir}/bin/%{sname}-%{pgmajorversion}-check-db-dir
%{__install} -d %{buildroot}%{_unitdir}
%{__install} -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/%{sname}-%{pgmajorversion}.service
%else
%{__install} -d %{buildroot}%{_initrddir}
sed 's/^PGVERSION=.*$/PGVERSION=%{version}/' <%{SOURCE3} > %{sname}.init
%{__install} -m 755 %{sname}.init %{buildroot}%{_initrddir}/%{sname}-%{pgmajorversion}
%endif
%if %pam
%{__install} -d %{buildroot}/etc/pam.d
%{__install} -m 644 %{SOURCE14} %{buildroot}/etc/pam.d/%{sname}
%endif
# Create the directory for sockets.
%{__install} -d -m 755 %{buildroot}/var/run/%{sname}
%if %{systemd_enabled}
# ... and make a tmpfiles script to recreate it at reboot.
%{__mkdir} -p %{buildroot}/%{_tmpfilesdir}
%{__install} -m 0644 %{SOURCE19} %{buildroot}/%{_tmpfilesdir}/%{sname}-%{pgmajorversion}.conf
%endif
# PGDATA needs removal of group and world permissions due to pg_pwd hole.
%{__install} -d -m 700 %{buildroot}/var/lib/pgsql/%{pgmajorversion}/data
# backups of data go here...
%{__install} -d -m 700 %{buildroot}/var/lib/pgsql/%{pgmajorversion}/backups
# Create the multiple postmaster startup directory
%{__install} -d -m 700 %{buildroot}/etc/sysconfig/pgsql/%{pgmajorversion}
# Install linker conf file under postgresql installation directory.
# We will install the latest version via alternatives.
%{__install} -d -m 755 %{buildroot}%{pgbaseinstdir}/share/
%{__install} -m 700 %{SOURCE9} %{buildroot}%{pgbaseinstdir}/share/
%if %test
# tests. There are many files included here that are unnecessary,
# but include them anyway for completeness. We replace the original
# Makefiles, however.
%{__mkdir} -p %{buildroot}%{pgbaseinstdir}/lib/test
%{__cp} -a src/test/regress %{buildroot}%{pgbaseinstdir}/lib/test
%{__install} -m 0755 contrib/spi/refint.so %{buildroot}%{pgbaseinstdir}/lib/test/regress
%{__install} -m 0755 contrib/spi/autoinc.so %{buildroot}%{pgbaseinstdir}/lib/test/regress
# pg_regress binary should be only in one subpackage,
# there will be a symlink from -test to -devel
%{__rm} -f %{buildroot}%{pgbaseinstdir}/lib/test/regress/pg_regress
%{__mkdir} -p %{buildroot}%{pgbaseinstdir}/lib/pgsql/test/regress/
%{__ln_s} -f ../../pgxs/src/test/regress/pg_regress %{buildroot}%{pgbaseinstdir}/lib/test/regress/pg_regress
pushd %{buildroot}%{pgbaseinstdir}/lib/test/regress
strip *.so
%{__rm} -f GNUmakefile Makefile *.o
chmod 0755 pg_regress regress.so
popd
%{__cp} %{SOURCE4} %{buildroot}%{pgbaseinstdir}/lib/test/regress/Makefile
chmod 0644 %{buildroot}%{pgbaseinstdir}/lib/test/regress/Makefile
%endif
%if ! %plpython2
# Quick hack for beta1
%{__rm} -f %{buildroot}/%{pgbaseinstdir}/share/extension/*plpython2u*
%{__rm} -f %{buildroot}/%{pgbaseinstdir}/share/extension/*plpythonu-*
%{__rm} -f %{buildroot}/%{pgbaseinstdir}/share/extension/*_plpythonu.control
%endif
# Fix some more documentation
# gzip doc/internals.ps
%{__cp} %{SOURCE6} README.rpm-dist
%{__mkdir} -p %{buildroot}%{pgbaseinstdir}/share/doc/html
%{__mv} doc/src/sgml/html doc
%{__mkdir} -p %{buildroot}%{pgbaseinstdir}/share/man/
%{__mv} doc/src/sgml/man1 doc/src/sgml/man3 doc/src/sgml/man7 %{buildroot}%{pgbaseinstdir}/share/man/
%{__rm} -rf %{buildroot}%{_docdir}/pgsql
# Quick hack for RHEL < 7 and not compiled with PL/Python3 support:
%if 0%{?rhel} < 7 && ! 0%{?plpython3}
%{__rm} -f %{buildroot}/%{pgbaseinstdir}/share/extension/hstore_plpython3u*
%{__rm} -f %{buildroot}/%{pgbaseinstdir}/share/extension/jsonb_plpython3u*
%{__rm} -f %{buildroot}/%{pgbaseinstdir}/share/extension/ltree_plpython3u*
%endif
# initialize file lists
%{__cp} /dev/null main.lst
%{__cp} /dev/null libs.lst
%{__cp} /dev/null server.lst
%{__cp} /dev/null devel.lst
%{__cp} /dev/null plperl.lst
%{__cp} /dev/null pltcl.lst
%{__cp} /dev/null plpython.lst
%{__cp} /dev/null pg_plpython3.lst
%{__cp} /dev/null pg_checksums.lst
%if %nls
%find_lang ecpg-%{pgmajorversion}
%find_lang ecpglib6-%{pgmajorversion}
%find_lang initdb-%{pgmajorversion}
%find_lang libpq5-%{pgmajorversion}
%find_lang pg_archivecleanup-%{pgmajorversion}
%find_lang pg_basebackup-%{pgmajorversion}
%find_lang pg_checksums-%{pgmajorversion}
%find_lang pg_config-%{pgmajorversion}
%find_lang pg_controldata-%{pgmajorversion}
%find_lang pg_ctl-%{pgmajorversion}
%find_lang pg_dump-%{pgmajorversion}
%find_lang pg_resetwal-%{pgmajorversion}
%find_lang pg_rewind-%{pgmajorversion}
%find_lang pg_test_fsync-%{pgmajorversion}
%find_lang pg_test_timing-%{pgmajorversion}
%find_lang pg_upgrade-%{pgmajorversion}
%find_lang pg_waldump-%{pgmajorversion}
%find_lang pgscripts-%{pgmajorversion}
%if %plperl
%find_lang plperl-%{pgmajorversion}
cat plperl-%{pgmajorversion}.lang > pg_plperl.lst
%endif
%find_lang plpgsql-%{pgmajorversion}
%if %plpython2
%find_lang plpython-%{pgmajorversion}
cat plpython-%{pgmajorversion}.lang > pg_plpython.lst
%endif
%if %plpython3
# plpython3 shares message files with plpython
%find_lang plpython-%{pgmajorversion}
cat plpython-%{pgmajorversion}.lang >> pg_plpython3.lst
%endif
%if %pltcl
%find_lang pltcl-%{pgmajorversion}
cat pltcl-%{pgmajorversion}.lang > pg_pltcl.lst
%endif
%find_lang postgres-%{pgmajorversion}
%find_lang psql-%{pgmajorversion}
cat libpq5-%{pgmajorversion}.lang > pg_libpq5.lst
cat pg_config-%{pgmajorversion}.lang ecpg-%{pgmajorversion}.lang ecpglib6-%{pgmajorversion}.lang > pg_devel.lst
cat initdb-%{pgmajorversion}.lang pg_ctl-%{pgmajorversion}.lang psql-%{pgmajorversion}.lang pg_dump-%{pgmajorversion}.lang pg_basebackup-%{pgmajorversion}.lang pg_rewind-%{pgmajorversion}.lang pg_upgrade-%{pgmajorversion}.lang pg_test_timing-%{pgmajorversion}.lang pg_test_fsync-%{pgmajorversion}.lang pg_archivecleanup-%{pgmajorversion}.lang pg_waldump-%{pgmajorversion}.lang pgscripts-%{pgmajorversion}.lang > pg_main.lst
cat postgres-%{pgmajorversion}.lang pg_resetwal-%{pgmajorversion}.lang pg_checksums-%{pgmajorversion}.lang pg_controldata-%{pgmajorversion}.lang plpgsql-%{pgmajorversion}.lang > pg_server.lst
%endif
%pre server
groupadd -g 26 -o -r postgres >/dev/null 2>&1 || :
useradd -M -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \
-c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :
%post server
/sbin/ldconfig
if [ $1 -eq 1 ] ; then
%if %{systemd_enabled}
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%if 0%{?suse_version}
%if 0%{?suse_version} >= 1315
%service_add_pre postgresql-%{pgpackageversion}.service
%endif
%else
%systemd_post %{sname}-%{pgpackageversion}.service
%endif
%else
chkconfig --add %{sname}-%{pgpackageversion}
%endif
fi
# postgres' .bash_profile.
# We now don't install .bash_profile as we used to in pre 9.0. Instead, use cat,
# so that package manager will be happy during upgrade to new major version.
echo "[ -f /etc/profile ] && source /etc/profile
PGDATA=/var/lib/pgsql/%{pgmajorversion}/data
export PGDATA
# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/pgsql/.pgsql_profile ] && source /var/lib/pgsql/.pgsql_profile" > /var/lib/pgsql/.bash_profile
chown postgres: /var/lib/pgsql/.bash_profile
chmod 700 /var/lib/pgsql/.bash_profile
%preun server
if [ $1 -eq 0 ] ; then
%if %{systemd_enabled}
# Package removal, not upgrade
/bin/systemctl --no-reload disable %{sname}-%{pgmajorversion}.service >/dev/null 2>&1 || :
/bin/systemctl stop %{sname}-%{pgmajorversion}.service >/dev/null 2>&1 || :
%else
/sbin/service %{sname}-%{pgmajorversion} condstop >/dev/null 2>&1
chkconfig --del %{sname}-%{pgmajorversion}
%endif
fi
%postun server
/sbin/ldconfig
%if %{systemd_enabled}
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%else
/sbin/service %{sname}-%{pgmajorversion} condrestart >/dev/null 2>&1
%endif
if [ $1 -ge 1 ] ; then
%if %{systemd_enabled}
# Package upgrade, not uninstall
/bin/systemctl try-restart %{sname}-%{pgmajorversion}.service >/dev/null 2>&1 || :
%else
/sbin/service %{sname}-%{pgmajorversion} condrestart >/dev/null 2>&1
%endif
fi
# Create alternatives entries for common binaries and man files
%post
%{_sbindir}/update-alternatives --install %{_bindir}/psql pgsql-psql %{pgbaseinstdir}/bin/psql %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/clusterdb pgsql-clusterdb %{pgbaseinstdir}/bin/clusterdb %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/createdb pgsql-createdb %{pgbaseinstdir}/bin/createdb %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/createuser pgsql-createuser %{pgbaseinstdir}/bin/createuser %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/dropdb pgsql-dropdb %{pgbaseinstdir}/bin/dropdb %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/dropuser pgsql-dropuser %{pgbaseinstdir}/bin/dropuser %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/pg_basebackup pgsql-pg_basebackup %{pgbaseinstdir}/bin/pg_basebackup %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/pg_dump pgsql-pg_dump %{pgbaseinstdir}/bin/pg_dump %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/pg_dumpall pgsql-pg_dumpall %{pgbaseinstdir}/bin/pg_dumpall %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/pg_restore pgsql-pg_restore %{pgbaseinstdir}/bin/pg_restore %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/reindexdb pgsql-reindexdb %{pgbaseinstdir}/bin/reindexdb %{packageversion}0
%{_sbindir}/update-alternatives --install %{_bindir}/vacuumdb pgsql-vacuumdb %{pgbaseinstdir}/bin/vacuumdb %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/clusterdb.1 pgsql-clusterdbman %{pgbaseinstdir}/share/man/man1/clusterdb.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/createdb.1 pgsql-createdbman %{pgbaseinstdir}/share/man/man1/createdb.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/createuser.1 pgsql-createuserman %{pgbaseinstdir}/share/man/man1/createuser.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/dropdb.1 pgsql-dropdbman %{pgbaseinstdir}/share/man/man1/dropdb.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/dropuser.1 pgsql-dropuserman %{pgbaseinstdir}/share/man/man1/dropuser.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/pg_basebackup.1 pgsql-pg_basebackupman %{pgbaseinstdir}/share/man/man1/pg_basebackup.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/pg_dump.1 pgsql-pg_dumpman %{pgbaseinstdir}/share/man/man1/pg_dump.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/pg_dumpall.1 pgsql-pg_dumpallman %{pgbaseinstdir}/share/man/man1/pg_dumpall.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/pg_restore.1 pgsql-pg_restoreman %{pgbaseinstdir}/share/man/man1/pg_restore.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/psql.1 pgsql-psqlman %{pgbaseinstdir}/share/man/man1/psql.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/reindexdb.1 pgsql-reindexdbman %{pgbaseinstdir}/share/man/man1/reindexdb.1 %{packageversion}0
%{_sbindir}/update-alternatives --install %{_mandir}/man1/vacuumdb.1 pgsql-vacuumdbman %{pgbaseinstdir}/share/man/man1/vacuumdb.1 %{packageversion}0
%post libs
%{_sbindir}/update-alternatives --install /etc/ld.so.conf.d/%{sname}-pgdg-libs.conf pgsql-ld-conf %{pgbaseinstdir}/share/%{sname}-%{pgmajorversion}-libs.conf %{packageversion}0
/sbin/ldconfig
# Drop alternatives entries for common binaries and man files
%postun
if [ "$1" -eq 0 ]
then
# Only remove these links if the package is completely removed from the system (vs.just being upgraded)
%{_sbindir}/update-alternatives --remove pgsql-psql %{pgbaseinstdir}/bin/psql
%{_sbindir}/update-alternatives --remove pgsql-clusterdb %{pgbaseinstdir}/bin/clusterdb
%{_sbindir}/update-alternatives --remove pgsql-clusterdbman %{pgbaseinstdir}/share/man/man1/clusterdb.1
%{_sbindir}/update-alternatives --remove pgsql-createdb %{pgbaseinstdir}/bin/createdb
%{_sbindir}/update-alternatives --remove pgsql-createdbman %{pgbaseinstdir}/share/man/man1/createdb.1
%{_sbindir}/update-alternatives --remove pgsql-createuser %{pgbaseinstdir}/bin/createuser
%{_sbindir}/update-alternatives --remove pgsql-createuserman %{pgbaseinstdir}/share/man/man1/createuser.1
%{_sbindir}/update-alternatives --remove pgsql-dropdb %{pgbaseinstdir}/bin/dropdb
%{_sbindir}/update-alternatives --remove pgsql-dropdbman %{pgbaseinstdir}/share/man/man1/dropdb.1
%{_sbindir}/update-alternatives --remove pgsql-dropuser %{pgbaseinstdir}/bin/dropuser
%{_sbindir}/update-alternatives --remove pgsql-dropuserman %{pgbaseinstdir}/share/man/man1/dropuser.1
%{_sbindir}/update-alternatives --remove pgsql-pg_basebackup %{pgbaseinstdir}/bin/pg_basebackup
%{_sbindir}/update-alternatives --remove pgsql-pg_dump %{pgbaseinstdir}/bin/pg_dump
%{_sbindir}/update-alternatives --remove pgsql-pg_dumpall %{pgbaseinstdir}/bin/pg_dumpall
%{_sbindir}/update-alternatives --remove pgsql-pg_dumpallman %{pgbaseinstdir}/share/man/man1/pg_dumpall.1
%{_sbindir}/update-alternatives --remove pgsql-pg_basebackupman %{pgbaseinstdir}/share/man/man1/pg_basebackup.1
%{_sbindir}/update-alternatives --remove pgsql-pg_dumpman %{pgbaseinstdir}/share/man/man1/pg_dump.1
%{_sbindir}/update-alternatives --remove pgsql-pg_restore %{pgbaseinstdir}/bin/pg_restore
%{_sbindir}/update-alternatives --remove pgsql-pg_restoreman %{pgbaseinstdir}/share/man/man1/pg_restore.1
%{_sbindir}/update-alternatives --remove pgsql-psqlman %{pgbaseinstdir}/share/man/man1/psql.1
%{_sbindir}/update-alternatives --remove pgsql-reindexdb %{pgbaseinstdir}/bin/reindexdb
%{_sbindir}/update-alternatives --remove pgsql-reindexdbman %{pgbaseinstdir}/share/man/man1/reindexdb.1
%{_sbindir}/update-alternatives --remove pgsql-vacuumdb %{pgbaseinstdir}/bin/vacuumdb
%{_sbindir}/update-alternatives --remove pgsql-vacuumdbman %{pgbaseinstdir}/share/man/man1/vacuumdb.1
fi
%postun libs
if [ "$1" -eq 0 ]
then
%{_sbindir}/update-alternatives --remove pgsql-ld-conf %{pgbaseinstdir}/share/%{sname}-%{pgmajorversion}-libs.conf
/sbin/ldconfig
fi
%clean
%{__rm} -rf %{buildroot}
# FILES section.
%files -f pg_main.lst
%defattr(-,root,root)
%if %llvm
# Install bitcode directory along with the main package,
# so that extensions can use this dir.
%dir %{pgbaseinstdir}/lib/bitcode
%endif
%doc doc/KNOWN_BUGS doc/MISSING_FEATURES
%doc COPYRIGHT
%doc README.rpm-dist
%{pgbaseinstdir}/bin/clusterdb
%{pgbaseinstdir}/bin/createdb
%{pgbaseinstdir}/bin/createuser
%{pgbaseinstdir}/bin/dropdb
%{pgbaseinstdir}/bin/dropuser
%{pgbaseinstdir}/bin/pgbench
%{pgbaseinstdir}/bin/pg_archivecleanup
%{pgbaseinstdir}/bin/pg_basebackup
%{pgbaseinstdir}/bin/pg_config
%{pgbaseinstdir}/bin/pg_dump
%{pgbaseinstdir}/bin/pg_dumpall
%{pgbaseinstdir}/bin/pg_isready
%{pgbaseinstdir}/bin/pg_restore
%{pgbaseinstdir}/bin/pg_rewind
%{pgbaseinstdir}/bin/pg_test_fsync
%{pgbaseinstdir}/bin/pg_test_timing
%{pgbaseinstdir}/bin/pg_receivewal
%{pgbaseinstdir}/bin/pg_upgrade
%{pgbaseinstdir}/bin/pg_waldump
%{pgbaseinstdir}/bin/psql
%{pgbaseinstdir}/bin/reindexdb
%{pgbaseinstdir}/bin/vacuumdb
%{pgbaseinstdir}/share/errcodes.txt
%{pgbaseinstdir}/share/man/man1/clusterdb.*
%{pgbaseinstdir}/share/man/man1/createdb.*
%{pgbaseinstdir}/share/man/man1/createuser.*
%{pgbaseinstdir}/share/man/man1/dropdb.*
%{pgbaseinstdir}/share/man/man1/dropuser.*
%{pgbaseinstdir}/share/man/man1/pgbench.1
%{pgbaseinstdir}/share/man/man1/pg_archivecleanup.1
%{pgbaseinstdir}/share/man/man1/pg_basebackup.*
%{pgbaseinstdir}/share/man/man1/pg_config.*
%{pgbaseinstdir}/share/man/man1/pg_dump.*
%{pgbaseinstdir}/share/man/man1/pg_dumpall.*
%{pgbaseinstdir}/share/man/man1/pg_isready.*
%{pgbaseinstdir}/share/man/man1/pg_receivewal.*
%{pgbaseinstdir}/share/man/man1/pg_restore.*
%{pgbaseinstdir}/share/man/man1/pg_rewind.1
%{pgbaseinstdir}/share/man/man1/pg_test_fsync.1
%{pgbaseinstdir}/share/man/man1/pg_test_timing.1
%{pgbaseinstdir}/share/man/man1/pg_upgrade.1
%{pgbaseinstdir}/share/man/man1/pg_waldump.1
%{pgbaseinstdir}/share/man/man1/psql.*
%{pgbaseinstdir}/share/man/man1/reindexdb.*
%{pgbaseinstdir}/share/man/man1/vacuumdb.*
%{pgbaseinstdir}/share/man/man3/*
%{pgbaseinstdir}/share/man/man7/*
%files docs
%defattr(-,root,root)
%doc doc/src/*
%doc *-A4.pdf
%doc src/tutorial
%doc doc/html
%files contrib
%defattr(-,root,root)
%doc %{pgbaseinstdir}/doc/extension/*.example
%{pgbaseinstdir}/lib/_int.so
%{pgbaseinstdir}/lib/adminpack.so
%{pgbaseinstdir}/lib/amcheck.so
%{pgbaseinstdir}/lib/auth_delay.so
%{pgbaseinstdir}/lib/autoinc.so
%{pgbaseinstdir}/lib/auto_explain.so
%{pgbaseinstdir}/lib/bloom.so
%{pgbaseinstdir}/lib/btree_gin.so
%{pgbaseinstdir}/lib/btree_gist.so
%{pgbaseinstdir}/lib/citext.so
%{pgbaseinstdir}/lib/cube.so
%{pgbaseinstdir}/lib/dblink.so
%{pgbaseinstdir}/lib/earthdistance.so
%{pgbaseinstdir}/lib/file_fdw.so*
%{pgbaseinstdir}/lib/fuzzystrmatch.so
%{pgbaseinstdir}/lib/insert_username.so
%{pgbaseinstdir}/lib/isn.so
%{pgbaseinstdir}/lib/hstore.so
%if %plperl
%{pgbaseinstdir}/lib/hstore_plperl.so
%{pgbaseinstdir}/lib/jsonb_plperl.so
%{pgbaseinstdir}/share/extension/jsonb_plperl*.sql
%{pgbaseinstdir}/share/extension/jsonb_plperl*.control
%endif
%{pgbaseinstdir}/lib/lo.so
%{pgbaseinstdir}/lib/ltree.so
%{pgbaseinstdir}/lib/moddatetime.so
%{pgbaseinstdir}/lib/pageinspect.so
%{pgbaseinstdir}/lib/passwordcheck.so
%{pgbaseinstdir}/lib/pgcrypto.so
%{pgbaseinstdir}/lib/pgrowlocks.so
%{pgbaseinstdir}/lib/pgstattuple.so
%{pgbaseinstdir}/lib/pg_buffercache.so
%{pgbaseinstdir}/lib/pg_freespacemap.so
%{pgbaseinstdir}/lib/pg_prewarm.so
%{pgbaseinstdir}/lib/pg_stat_statements.so
%{pgbaseinstdir}/lib/pg_trgm.so
%{pgbaseinstdir}/lib/pg_visibility.so
%{pgbaseinstdir}/lib/postgres_fdw.so
%{pgbaseinstdir}/lib/refint.so
%{pgbaseinstdir}/lib/seg.so
%if %ssl
%{pgbaseinstdir}/lib/sslinfo.so
%endif
%if %selinux
%{pgbaseinstdir}/lib/sepgsql.so
%{pgbaseinstdir}/share/contrib/sepgsql.sql
%endif
%{pgbaseinstdir}/lib/tablefunc.so
%{pgbaseinstdir}/lib/tcn.so
%{pgbaseinstdir}/lib/test_decoding.so
%{pgbaseinstdir}/lib/tsm_system_rows.so
%{pgbaseinstdir}/lib/tsm_system_time.so
%{pgbaseinstdir}/lib/unaccent.so
%if %xml
%{pgbaseinstdir}/lib/pgxml.so
%endif
%if %uuid
%{pgbaseinstdir}/lib/uuid-ossp.so
%endif
%{pgbaseinstdir}/share/extension/adminpack*
%{pgbaseinstdir}/share/extension/amcheck*
%{pgbaseinstdir}/share/extension/autoinc*
%{pgbaseinstdir}/share/extension/bloom*
%{pgbaseinstdir}/share/extension/btree_gin*
%{pgbaseinstdir}/share/extension/btree_gist*
%{pgbaseinstdir}/share/extension/citext*
%{pgbaseinstdir}/share/extension/cube*
%{pgbaseinstdir}/share/extension/dblink*
%{pgbaseinstdir}/share/extension/dict_int*
%{pgbaseinstdir}/share/extension/dict_xsyn*
%{pgbaseinstdir}/share/extension/earthdistance*
%{pgbaseinstdir}/share/extension/file_fdw*
%{pgbaseinstdir}/share/extension/fuzzystrmatch*
%{pgbaseinstdir}/share/extension/hstore.control
%{pgbaseinstdir}/share/extension/hstore--*.sql
%if %plperl
%{pgbaseinstdir}/share/extension/hstore_plperl*
%endif
%{pgbaseinstdir}/share/extension/insert_username*
%{pgbaseinstdir}/share/extension/intagg*
%{pgbaseinstdir}/share/extension/intarray*
%{pgbaseinstdir}/share/extension/isn*
%{pgbaseinstdir}/share/extension/lo*
%{pgbaseinstdir}/share/extension/ltree.control
%{pgbaseinstdir}/share/extension/ltree--*.sql
%{pgbaseinstdir}/share/extension/moddatetime*
%{pgbaseinstdir}/share/extension/pageinspect*
%{pgbaseinstdir}/share/extension/pg_buffercache*
%{pgbaseinstdir}/share/extension/pg_freespacemap*
%{pgbaseinstdir}/share/extension/pg_prewarm*
%{pgbaseinstdir}/share/extension/pg_stat_statements*
%{pgbaseinstdir}/share/extension/pg_trgm*
%{pgbaseinstdir}/share/extension/pg_visibility*
%{pgbaseinstdir}/share/extension/pgcrypto*
%{pgbaseinstdir}/share/extension/pgrowlocks*
%{pgbaseinstdir}/share/extension/pgstattuple*
%{pgbaseinstdir}/share/extension/postgres_fdw*
%{pgbaseinstdir}/share/extension/refint*
%{pgbaseinstdir}/share/extension/seg*
%if %ssl
%{pgbaseinstdir}/share/extension/sslinfo*
%endif
%{pgbaseinstdir}/share/extension/tablefunc*
%{pgbaseinstdir}/share/extension/tcn*
%{pgbaseinstdir}/share/extension/tsm_system_rows*
%{pgbaseinstdir}/share/extension/tsm_system_time*
%{pgbaseinstdir}/share/extension/unaccent*
%if %uuid
%{pgbaseinstdir}/share/extension/uuid-ossp*
%endif
%if %xml
%{pgbaseinstdir}/share/extension/xml2*
%endif
%{pgbaseinstdir}/bin/oid2name
%{pgbaseinstdir}/bin/vacuumlo
%{pgbaseinstdir}/bin/pg_recvlogical
%{pgbaseinstdir}/bin/pg_standby
%{pgbaseinstdir}/share/man/man1/oid2name.1
%{pgbaseinstdir}/share/man/man1/pg_recvlogical.1
%{pgbaseinstdir}/share/man/man1/pg_standby.1
%{pgbaseinstdir}/share/man/man1/vacuumlo.1
%files libs -f pg_libpq5.lst
%defattr(-,root,root)
%{pgbaseinstdir}/lib/libpq.so.*
%{pgbaseinstdir}/lib/libecpg.so*
%{pgbaseinstdir}/lib/libpgfeutils.a
%{pgbaseinstdir}/lib/libpgtypes.so.*
%{pgbaseinstdir}/lib/libecpg_compat.so.*
%{pgbaseinstdir}/lib/libpqwalreceiver.so
%config(noreplace) %attr (644,root,root) %{pgbaseinstdir}/share/%{sname}-%{pgmajorversion}-libs.conf
%files server -f pg_server.lst
%defattr(-,root,root)
%if %{systemd_enabled}
%{pgbaseinstdir}/bin/%{sname}-%{pgmajorversion}-setup
%{_bindir}/%{sname}-%{pgmajorversion}-setup
%{pgbaseinstdir}/bin/%{sname}-%{pgmajorversion}-check-db-dir
%{_tmpfilesdir}/%{sname}-%{pgmajorversion}.conf
%{_unitdir}/%{sname}-%{pgmajorversion}.service
%else
%config(noreplace) %{_initrddir}/%{sname}-%{pgmajorversion}
%endif
%if %pam
%config(noreplace) /etc/pam.d/%{sname}
%endif
%attr (755,root,root) %dir /etc/sysconfig/pgsql
%{pgbaseinstdir}/bin/initdb
%{pgbaseinstdir}/bin/pg_controldata
%{pgbaseinstdir}/bin/pg_ctl
%{pgbaseinstdir}/bin/pg_checksums
%{pgbaseinstdir}/bin/pg_resetwal
%{pgbaseinstdir}/bin/postgres
%{pgbaseinstdir}/bin/postmaster
%{pgbaseinstdir}/share/man/man1/initdb.*
%{pgbaseinstdir}/share/man/man1/pg_controldata.*
%{pgbaseinstdir}/share/man/man1/pg_ctl.*
%{pgbaseinstdir}/share/man/man1/pg_resetwal.*
%{pgbaseinstdir}/share/man/man1/pg_checksums.*
%{pgbaseinstdir}/share/man/man1/postgres.*
%{pgbaseinstdir}/share/man/man1/postmaster.*
%{pgbaseinstdir}/share/postgres.bki
%{pgbaseinstdir}/share/postgres.description
%{pgbaseinstdir}/share/postgres.shdescription
%{pgbaseinstdir}/share/system_views.sql
%{pgbaseinstdir}/share/*.sample
%{pgbaseinstdir}/share/timezonesets/*
%{pgbaseinstdir}/share/tsearch_data/*.affix
%{pgbaseinstdir}/share/tsearch_data/*.dict
%{pgbaseinstdir}/share/tsearch_data/*.ths
%{pgbaseinstdir}/share/tsearch_data/*.rules
%{pgbaseinstdir}/share/tsearch_data/*.stop
%{pgbaseinstdir}/share/tsearch_data/*.syn
%{pgbaseinstdir}/lib/dict_int.so
%{pgbaseinstdir}/lib/dict_snowball.so
%{pgbaseinstdir}/lib/dict_xsyn.so
%{pgbaseinstdir}/lib/euc2004_sjis2004.so
%{pgbaseinstdir}/lib/pgoutput.so
%{pgbaseinstdir}/lib/plpgsql.so
%dir %{pgbaseinstdir}/share/extension
%{pgbaseinstdir}/share/extension/plpgsql*
%dir %{pgbaseinstdir}/lib
%dir %{pgbaseinstdir}/share
%attr(700,postgres,postgres) %dir /var/lib/pgsql
%attr(700,postgres,postgres) %dir /var/lib/pgsql/%{pgmajorversion}
%attr(700,postgres,postgres) %dir /var/lib/pgsql/%{pgmajorversion}/data
%attr(700,postgres,postgres) %dir /var/lib/pgsql/%{pgmajorversion}/backups
%attr(755,postgres,postgres) %dir /var/run/%{sname}
%{pgbaseinstdir}/lib/*_and_*.so
%{pgbaseinstdir}/share/information_schema.sql
%{pgbaseinstdir}/share/snowball_create.sql
%{pgbaseinstdir}/share/sql_features.txt
%files devel -f pg_devel.lst
%defattr(-,root,root)
%{pgbaseinstdir}/include/*
%{pgbaseinstdir}/bin/ecpg
%{pgbaseinstdir}/lib/libpq.so
%{pgbaseinstdir}/lib/libecpg.so
%{pgbaseinstdir}/lib/libpq.a
%{pgbaseinstdir}/lib/libecpg.a
%{pgbaseinstdir}/lib/libecpg_compat.so
%{pgbaseinstdir}/lib/libecpg_compat.a
%{pgbaseinstdir}/lib/libpgcommon.a
%{pgbaseinstdir}/lib/libpgcommon_shlib.a
%{pgbaseinstdir}/lib/libpgport.a
%{pgbaseinstdir}/lib/libpgport_shlib.a
%{pgbaseinstdir}/lib/libpgtypes.so
%{pgbaseinstdir}/lib/libpgtypes.a
%{pgbaseinstdir}/lib/pgxs/*
%{pgbaseinstdir}/lib/pkgconfig/*
%{pgbaseinstdir}/share/man/man1/ecpg.*
%if %llvm
%files llvmjit
%defattr(-,root,root)
%{pgbaseinstdir}/lib/bitcode/*
%{pgbaseinstdir}/lib/llvmjit.so
%{pgbaseinstdir}/lib/llvmjit_types.bc
%endif
%if %plperl
%files plperl -f pg_plperl.lst
%defattr(-,root,root)
%{pgbaseinstdir}/lib/plperl.so
%{pgbaseinstdir}/share/extension/plperl*
%endif
%if %pltcl
%files pltcl -f pg_pltcl.lst
%defattr(-,root,root)
%{pgbaseinstdir}/lib/pltcl.so
%{pgbaseinstdir}/share/extension/pltcl*
%endif
%if %plpython2
%files plpython -f pg_plpython.lst
%defattr(-,root,root)
%{pgbaseinstdir}/lib/plpython2.so
%{pgbaseinstdir}/share/extension/plpython2u*
%{pgbaseinstdir}/share/extension/plpythonu*
%{pgbaseinstdir}/lib/hstore_plpython2.so
%{pgbaseinstdir}/lib/jsonb_plpython2.so
%{pgbaseinstdir}/lib/ltree_plpython2.so
%{pgbaseinstdir}/share/extension/*_plpythonu*
%{pgbaseinstdir}/share/extension/*_plpython2u*
%endif
%if %plpython3
%files plpython3 -f pg_plpython3.lst
%{pgbaseinstdir}/share/extension/plpython3*
%{pgbaseinstdir}/lib/plpython3.so
%{pgbaseinstdir}/lib/hstore_plpython3.so
%{pgbaseinstdir}/lib/jsonb_plpython3.so
%{pgbaseinstdir}/lib/ltree_plpython3.so
%{pgbaseinstdir}/share/extension/*_plpython3u*
%endif
%if %test
%files test
%defattr(-,postgres,postgres)
%attr(-,postgres,postgres) %{pgbaseinstdir}/lib/test/*
%attr(-,postgres,postgres) %dir %{pgbaseinstdir}/lib/test
%endif
%changelog
* Tue Feb 7 2023 Devrim Gündüz <devrim@gunduz.org> - 12.14-1PGDG
- Update to 12.14, per changes described at
https://www.postgresql.org/docs/release/12.14/
- Enable TAP tests on all RHEL versions, per report from Bill Smith.
Commit 4f08cb8d41b8 is now obsolete, it seems.
* Mon Jan 2 2023 Devrim Gündüz <devrim@gunduz.org> - 12.13-4PGDG
- Use network-online.target instead of network.target in unit file.
Per https://www.postgresql.org/message-id/e6d2c602-db46-0709-6519-ade189fa5203%40comcast.net
* Mon Dec 05 2022 Devrim Gündüz <devrim@gunduz.org> - 12.13-3PGDG
- Get rid of AT and switch to GCC on RHEL 7 - ppc64le
* Tue Nov 29 2022 Devrim Gündüz <devrim@gunduz.org> - 12.13-2PGDG
- Rebuild against new LLVM on RHEL 9 - aarch64
* Wed Nov 9 2022 Devrim Gündüz <devrim@gunduz.org> - 12.13-1PGDG
- Update to 12.13, per changes described at
https://www.postgresql.org/docs/release/12.13/
- Remove temp patch added in 12.12-3
* Wed Oct 19 2022 Devrim Gündüz <devrim@gunduz.org> - 12.12-3PGDG
- Add a temp patch to build against LLVM 15. Needed for Fedora 37.
* Fri Aug 12 2022 - John Harvey <john.harvey@crunchydata.com> 12.12-2PGDG
- Fix macro for consistency
- Add trailing slash for consistency with other PGs
* Tue Aug 9 2022 Devrim Gündüz <devrim@gunduz.org> - 12.12-1PGDG
- Update to 12.12, per changes described at
https://www.postgresql.org/docs/release/12.12/
- Require LLVM and clang 13 on SLES 15, as SP4 is out and SP2 is already EOLed.
- Fix long standing "absolute symlink" error while building the package
- Create a symlink of pg_regress instead of full copy to fix "duplicate
build-id" warning while building the package.
* Tue Jul 26 2022 Devrim Gündüz <devrim@gunduz.org> - 12.11-4PGDG
- Add gcc-c++ BR expliclity.
* Fri Jun 24 2022 Devrim Gündüz <devrim@gunduz.org> - 12.11-3PGDG
- Enable LLVM on ppc64le except on RHEL 7, per report from Chuan Hua Zhao
* Thu May 19 2022 Devrim Gündüz <devrim@gunduz.org> - 12.11-2PGDG
- Undefine _package_note_file macro. This is needed for Fedora 36+,
but does not hurt to use in all distros.
Per https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects
and help from Fedora developers on IRC.
* Wed May 11 2022 Devrim Gündüz <devrim@gunduz.org> - 12.11-1PGDG
- Update to 12.11, per changes described at
https://www.postgresql.org/docs/release/12.11/
* Tue May 10 2022 Devrim Gündüz <devrim@gunduz.org> - 12.10-3PGDG
- Rebuild on RHEL 8 against new LLVM and GCC.
* Fri Feb 18 2022 Devrim Gündüz <devrim@gunduz.org> - 12.10-2PGDG
- Rebuild on Fedora 34 because of LLVM and GCC updates.
* Tue Feb 8 2022 Devrim Gündüz <devrim@gunduz.org> - 12.10-1PGDG
- Update to 12.10, per changes described at
https://www.postgresql.org/docs/release/12.10/
- Add a patch to revert aa2215d6b on RHEL 6.
* Tue Feb 1 2022 Devrim Gündüz <devrim@gunduz.org> - 12.9-6PGDG
- Rebuild on Fedora 35 and RHEL 9 because of LLVM and GCC updates.
* Wed Jan 26 2022 John Harvey <john.harvey@crunchydata.com> - 12.9-5PGDG
- Fix PAM support on suse
* Thu Dec 23 2021 Devrim Gündüz <devrim@gunduz.org> - 12.9-4PGDG
- Require libLLVM11 on SLES 15, not llvm11 (compiler). Per report from
Tiago ANASTACIO: https://redmine.postgresql.org/issues/7007
* Tue Nov 30 2021 John Harvey <john.harvey@crunchydata.com> - 12.9-3PGDG
- Convert a few remaining pginstdir's to pgbaseinstdir's for consistency
* Thu Nov 25 2021 Devrim Gündüz <devrim@gunduz.org> - 12.9-2PGDG
- Rebuild against LLVM 12 on RHEL 8 / aarch64.
* Mon Nov 8 2021 Devrim Gündüz <devrim@gunduz.org> - 12.9-1PGDG
- Update to 12.9, per changes described at
https://www.postgresql.org/docs/release/12.9/
- Configure systemd to not sigkill the postmaster, per Justin Pryzby.
* Mon Nov 8 2021 John Harvey <john.harvey@crunchydata.com> - 12.8-4PGDG
- Ensure that /var/lib/pgsql is postgres-owned on SLES. This fixes
postgres startup on SLES when using the default logfile path.
* Mon Nov 1 2021 Devrim Gündüz <devrim@gunduz.org> - 12.8-3PGDG
- Fix PL/Python3 dependency on SLES 12 and 15.
* Tue Oct 19 2021 Devrim Gündüz <devrim@gunduz.org> - 12.8-2PGDG
- Fix Makefile.regress, so that regression tests can actually be run.
Per report from Tomoaki Sato.
* Wed Aug 11 2021 Devrim Gündüz <devrim@gunduz.org> - 12.8-1PGDG
- Update to 12.8, per changes described at
https://www.postgresql.org/docs/release/12.8/
* Tue Jul 13 2021 Devrim Gündüz <devrim@gunduz.org> - 12.7-3PGDG
- Rebuild against clang11 and llvm11 on SLES 15 SP3
* Tue May 18 2021 Devrim Gündüz <devrim@gunduz.org> - 12.7-2PGDG
- Rebuild against new CLANG and LLVM on RHEL 8.4
* Thu May 13 2021 Devrim Gündüz <devrim@gunduz.org> - 12.7-1PGDG
- Update to 12.7, per changes described at
https://www.postgresql.org/docs/release/12.7/
* Thu Feb 11 2021 Devrim Gündüz <devrim@gunduz.org> - 12.6-2PGDG
- A few fixes around llvm, sdt and selinux macros, so that they
work on RHEL 6 as well.
* Tue Feb 9 2021 Devrim Gündüz <devrim@gunduz.org> - 12.6-1PGDG
- Update to 12.6, per changes described at
https://www.postgresql.org/docs/release/12.6/
* Wed Jan 6 2021 Devrim Gündüz <devrim@gunduz.org> - 13.5-2PGDG
- Drop Advance Toolchain on RHEL 8 - ppc64le.
- Enable LLVM support on RHEL 8 - ppc64le
* Mon Nov 9 2020 Devrim Gündüz <devrim@gunduz.org> - 12.5-1PGDG
- Update to 12.5, per changes described at
https://www.postgresql.org/docs/release/12.5/
* Wed Nov 4 2020 Devrim Gündüz <devrim@gunduz.org> - 12.4-4PGDG
- Rebuild against new CLANG and LLVM on RHEL 8.3
* Wed Sep 23 2020 Devrim Gündüz <devrim@gunduz.org> - 12.4-3PGDG
- Add setup script under $PATH
* Tue Aug 25 2020 Devrim Gündüz <devrim@gunduz.org> - 12.4-2PGDG
- Use correct dependencies to enable LLVM build on RHEL 7 and aarch64
* Wed Aug 12 2020 Devrim Gündüz <devrim@gunduz.org> - 12.4-1PGDG
- Update to 12.4, per changes described at
https://www.postgresql.org/docs/release/12.4/
* Mon Jun 15 2020 Devrim Gündüz <devrim@gunduz.org> - 12.3-6PGDG
- Fix builds if plperl macro is disabled. Per report and patch from
Floris Van Nee.
* Sun Jun 14 2020 Devrim Gündüz <devrim@gunduz.org> - 12.3-5PGDG
- Oops, disable PY2 on Fedora 33.
- Fix LLVM dependency
* Thu Jun 11 2020 Devrim Gündüz <devrim@gunduz.org> - 12.3-4PGDG
- Obsolete libpq-devel that comes with the OS.
* Wed Jun 10 2020 Devrim Gündüz <devrim@gunduz.org> - 12.3-3PGDG
- Fix RHEL 6 builds, where PY3 is not available. Per report from
Aparna Patil.
* Fri May 29 2020 Devrim Gündüz <devrim@gunduz.org> - 12.3-2PGDG
- Fix spec file breakage when plpython2 macro is disabled.
Disable PL/Python2 builds on platforms that don't have PY2.
This is probably needed for at least Fedora 33, and also will be
useful for SLES 15 as well.
* Wed May 13 2020 Devrim Gündüz <devrim@gunduz.org> - 12.3-1PGDG
- Update to 12.3, per changes described at
https://www.postgresql.org/docs/release/12.3/
- Fix RHEL 8 builds: Paths changed in 8.2...
* Tue Apr 28 2020 2020 Devrim Gündüz <devrim@gunduz.org> - 12.2-3PGDG
- Fix F-32 PL/Python2 dependency. Fedora 32 is the last version which
supports PL/Python2 package.
* Mon Feb 17 2020 Devrim Gündüz <devrim@gunduz.org> - 12.2-2PGDG
- Re-add debuginfo package
* Tue Feb 11 2020 Devrim Gündüz <devrim@gunduz.org> - 12.2-1PGDG
- Update to 12.2, per changes described at
https://www.postgresql.org/docs/release/12.2/
* Tue Nov 19 2019 Devrim Gündüz <devrim@gunduz.org> - 12.1-2PGDG
- Re-enable llvmjit subpackage on SLES 12
- Fix PL/Python 3 packaging.
* Mon Nov 11 2019 Devrim Gündüz <devrim@gunduz.org> - 12.1-1PGDG
- Update to 12.1, per changes described at
https://www.postgresql.org/docs/release/12.1/
- Fix Python dependency issue in the main package, and move all
plpython* packages into their respective subpackages.
* Mon Oct 28 2019 Devrim Gündüz <devrim@gunduz.org> - 12.0-2PGDG
- Remove obsoleted tmpfiles_create macro. We don't need it anyway,
already manually install the file.
* Tue Oct 1 2019 Devrim Gündüz <devrim@gunduz.org> - 12.0-1
- Please welcome PostgreSQL 12.0!
* Fri Sep 27 2019 Devrim Gündüz <devrim@gunduz.org> - 12rc1_2
- Update to PostgreSQL 12 RC1
- Fix RHEL 6 init script for rc, per patch and report from Justin Pryzby.
- Fix RHEL 6 packaging. Per report from Justin Pryzby.
* Fri Sep 13 2019 Devrim Gündüz <devrim@gunduz.org> - 12beta4_1PGDG
- Update to PostgreSQL 12 Beta 4.
* Sun Sep 1 2019 Devrim Gündüz <devrim@gunduz.org> - 12beta3_2PGDG
- Initial attempt to support PL/Python3 on RHEL 7. Python2 is almost
EOL, so this is a sane move now.
Per https://redmine.postgresql.org/issues/2701
* Tue Aug 6 2019 Devrim Gündüz <devrim@gunduz.org> - 12beta3_1PGDG
- Update to 12beta3
* Wed Jun 19 2019 Devrim Gündüz <devrim@gunduz.org> - 12beta2_1PGDG
- Update to 12beta2
* Thu May 23 2019 Devrim Gündüz <devrim@gunduz.org> - 12beta1_1PGDG
- Update to 12beta1
- Re-arrange changelog (after removing daily build macro)
* Fri Feb 15 2019 Devrim Gündüz <devrim@gunduz.org> - 12.0-devel
- Disable jit on s390. Patch from Mark Wong.
- Initial attempt for RHEL 8 packaging updates.
- Rename plpython macro to plpython2, to stress that it is for Python 2.
- Initial cut for PostgreSQL 12
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-oepkgs/postgresql-12.14.git
git@gitee.com:src-oepkgs/postgresql-12.14.git
src-oepkgs
postgresql-12.14
postgresql-12.14
master

搜索帮助