Package init
This commit is contained in:
parent
802fa26990
commit
078780f058
36
README.en.md
36
README.en.md
@ -1,36 +0,0 @@
|
||||
# libpq
|
||||
|
||||
#### Description
|
||||
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
|
||||
|
||||
#### Software Architecture
|
||||
Software architecture description
|
||||
|
||||
#### Installation
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Instructions
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Contribution
|
||||
|
||||
1. Fork the repository
|
||||
2. Create Feat_xxx branch
|
||||
3. Commit your code
|
||||
4. Create Pull Request
|
||||
|
||||
|
||||
#### Gitee Feature
|
||||
|
||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
39
README.md
39
README.md
@ -1,39 +0,0 @@
|
||||
# libpq
|
||||
|
||||
#### 介绍
|
||||
{**以下是码云平台说明,您可以替换此简介**
|
||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
|
||||
|
||||
#### 安装教程
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 使用说明
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本仓库
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
|
||||
|
||||
#### 码云特技
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
72
libpq-10.3-rpm-pgsql.patch
Normal file
72
libpq-10.3-rpm-pgsql.patch
Normal file
@ -0,0 +1,72 @@
|
||||
For the RPMs, we want the custom installation directories to end in
|
||||
/pgsql not /postgresql. This is historical but not worth changing.
|
||||
|
||||
Notice that this patch also makes the appending of /pgsql unconditional.
|
||||
This is to avoid unexpected behavior if the RPM is built in a working
|
||||
directory whose path happens to include "postgres" or "pgsql" already.
|
||||
However, datadir and sysconfdir are already set up in the specfile's
|
||||
configure call, so we do not have to append anything to them.
|
||||
|
||||
|
||||
diff -Naur postgresql-9.0.1.orig/src/Makefile.global.in postgresql-9.0.1/src/Makefile.global.in
|
||||
--- postgresql-9.0.1.orig/src/Makefile.global.in 2010-10-01 10:25:44.000000000 -0400
|
||||
+++ postgresql-9.0.1/src/Makefile.global.in 2010-10-11 11:52:05.224975308 -0400
|
||||
@@ -55,8 +55,7 @@
|
||||
# Installation directories
|
||||
#
|
||||
# These are set by the equivalent --xxxdir configure options. We
|
||||
-# append "postgresql" to some of them, if the string does not already
|
||||
-# contain "pgsql" or "postgres", in order to avoid directory clutter.
|
||||
+# append "pgsql" to some of them, in order to avoid directory clutter.
|
||||
#
|
||||
# In a PGXS build, we cannot use the values inserted into Makefile.global
|
||||
# by configure, since the installation tree may have been relocated.
|
||||
@@ -74,45 +73,23 @@
|
||||
bindir := @bindir@
|
||||
|
||||
datadir := @datadir@
|
||||
-ifeq "$(findstring pgsql, $(datadir))" ""
|
||||
-ifeq "$(findstring postgres, $(datadir))" ""
|
||||
-override datadir := $(datadir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
|
||||
sysconfdir := @sysconfdir@
|
||||
-ifeq "$(findstring pgsql, $(sysconfdir))" ""
|
||||
-ifeq "$(findstring postgres, $(sysconfdir))" ""
|
||||
-override sysconfdir := $(sysconfdir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
|
||||
libdir := @libdir@
|
||||
|
||||
pkglibdir = $(libdir)
|
||||
-ifeq "$(findstring pgsql, $(pkglibdir))" ""
|
||||
-ifeq "$(findstring postgres, $(pkglibdir))" ""
|
||||
-override pkglibdir := $(pkglibdir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
+override pkglibdir := $(pkglibdir)/pgsql
|
||||
|
||||
includedir := @includedir@
|
||||
|
||||
pkgincludedir = $(includedir)
|
||||
-ifeq "$(findstring pgsql, $(pkgincludedir))" ""
|
||||
-ifeq "$(findstring postgres, $(pkgincludedir))" ""
|
||||
-override pkgincludedir := $(pkgincludedir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
+override pkgincludedir := $(pkgincludedir)/pgsql
|
||||
|
||||
mandir := @mandir@
|
||||
|
||||
docdir := @docdir@
|
||||
-ifeq "$(findstring pgsql, $(docdir))" ""
|
||||
-ifeq "$(findstring postgres, $(docdir))" ""
|
||||
-override docdir := $(docdir)/postgresql
|
||||
-endif
|
||||
-endif
|
||||
+override docdir := $(docdir)/pgsql
|
||||
|
||||
htmldir := @htmldir@
|
||||
|
||||
53
libpq-10.3-var-run-socket.patch
Normal file
53
libpq-10.3-var-run-socket.patch
Normal file
@ -0,0 +1,53 @@
|
||||
Change the built-in default socket directory to be /var/run/postgresql.
|
||||
For backwards compatibility with (probably non-libpq-based) clients that
|
||||
might still expect to find the socket in /tmp, also create a socket in
|
||||
/tmp. This is to resolve communication problems with clients operating
|
||||
under systemd's PrivateTmp environment, which won't be using the same
|
||||
global /tmp directory as the server; see bug #825448.
|
||||
|
||||
Note that we apply the socket directory change at the level of the
|
||||
hard-wired defaults in the C code, not by just twiddling the setting in
|
||||
postgresql.conf.sample; this is so that the change will take effect on
|
||||
server package update, without requiring any existing postgresql.conf
|
||||
to be updated. (Of course, a user who dislikes this behavior can still
|
||||
override it via postgresql.conf.)
|
||||
|
||||
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
|
||||
index 9481f2d..75532c7 100644
|
||||
--- a/src/backend/utils/misc/guc.c
|
||||
+++ b/src/backend/utils/misc/guc.c
|
||||
@@ -3196,7 +3196,7 @@ static struct config_string ConfigureNamesString[] =
|
||||
},
|
||||
&Unix_socket_directories,
|
||||
#ifdef HAVE_UNIX_SOCKETS
|
||||
- DEFAULT_PGSOCKET_DIR,
|
||||
+ DEFAULT_PGSOCKET_DIR ", /tmp",
|
||||
#else
|
||||
"",
|
||||
#endif
|
||||
diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c
|
||||
index feeff9e..3e3d784 100644
|
||||
--- a/src/bin/initdb/initdb.c
|
||||
+++ b/src/bin/initdb/initdb.c
|
||||
@@ -1234,7 +1234,7 @@ setup_config(void)
|
||||
|
||||
#ifdef HAVE_UNIX_SOCKETS
|
||||
snprintf(repltok, sizeof(repltok), "#unix_socket_directories = '%s'",
|
||||
- DEFAULT_PGSOCKET_DIR);
|
||||
+ DEFAULT_PGSOCKET_DIR ", /tmp");
|
||||
#else
|
||||
snprintf(repltok, sizeof(repltok), "#unix_socket_directories = ''");
|
||||
#endif
|
||||
diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h
|
||||
index e278fa0..9ee15d4 100644
|
||||
--- a/src/include/pg_config_manual.h
|
||||
+++ b/src/include/pg_config_manual.h
|
||||
@@ -169,7 +169,7 @@
|
||||
* here's where to twiddle it. You can also override this at runtime
|
||||
* with the postmaster's -k switch.
|
||||
*/
|
||||
-#define DEFAULT_PGSOCKET_DIR "/tmp"
|
||||
+#define DEFAULT_PGSOCKET_DIR "/var/run/postgresql"
|
||||
|
||||
/*
|
||||
* This is the default event source for Windows event log.
|
||||
89
libpq-10.4-symbol-versioning.patch
Normal file
89
libpq-10.4-symbol-versioning.patch
Normal file
@ -0,0 +1,89 @@
|
||||
The libpq package is supposed to be used for all the PostgreSQL modules
|
||||
available in RHEL 8, and ABI versioning will guarantee us that modular RPMs will
|
||||
depend on appropriate libpq ABI version (picked at build-time).
|
||||
|
||||
diff --git a/config/Makefile b/config/Makefile
|
||||
index 67e7998f55..86612a42c3 100644
|
||||
--- a/config/Makefile
|
||||
+++ b/config/Makefile
|
||||
@@ -8,6 +8,7 @@ include $(top_builddir)/src/Makefile.global
|
||||
install: all installdirs
|
||||
$(INSTALL_SCRIPT) $(srcdir)/install-sh '$(DESTDIR)$(pgxsdir)/config/install-sh'
|
||||
$(INSTALL_SCRIPT) $(srcdir)/missing '$(DESTDIR)$(pgxsdir)/config/missing'
|
||||
+ $(INSTALL_SCRIPT) $(srcdir)/build-exports-gnu-ld '$(DESTDIR)$(pgxsdir)/config/build-exports-gnu-ld'
|
||||
|
||||
installdirs:
|
||||
$(MKDIR_P) '$(DESTDIR)$(pgxsdir)/config'
|
||||
diff --git a/config/build-exports-gnu-ld b/config/build-exports-gnu-ld
|
||||
new file mode 100755
|
||||
index 0000000000..bdcfb40d48
|
||||
--- /dev/null
|
||||
+++ b/config/build-exports-gnu-ld
|
||||
@@ -0,0 +1,41 @@
|
||||
+#! /bin/sh
|
||||
+
|
||||
+# by default use PG_ prefix
|
||||
+: "${SYMBOL_VERSION_PREFIX=PG_}"
|
||||
+
|
||||
+# we started symbol versioning since v10
|
||||
+: "${SYMBOL_VERSION_START=9.6}"
|
||||
+
|
||||
+version=$SYMBOL_VERSION_START
|
||||
+version_prev=
|
||||
+first=:
|
||||
+
|
||||
+open_block ()
|
||||
+{
|
||||
+ $first || echo
|
||||
+ first=false
|
||||
+ echo "${SYMBOL_VERSION_PREFIX}$version {"
|
||||
+ echo "global:"
|
||||
+}
|
||||
+
|
||||
+close_block ()
|
||||
+{
|
||||
+ echo "}${version_prev:+ $SYMBOL_VERSION_PREFIX$version_prev};"
|
||||
+ version_prev=$version
|
||||
+ version=$1
|
||||
+}
|
||||
+
|
||||
+open_block
|
||||
+while read -r symbol _ new_version
|
||||
+do
|
||||
+ case $symbol in '#'*) continue ;; esac
|
||||
+ if test -n "$new_version" && test "$new_version" != "$version"; then
|
||||
+ close_block "$new_version"
|
||||
+ open_block
|
||||
+ fi
|
||||
+ echo " $symbol;"
|
||||
+done
|
||||
+
|
||||
+echo "local:"
|
||||
+echo " *;"
|
||||
+close_block
|
||||
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
|
||||
index 95b82a6dea..a7065d02a4 100644
|
||||
--- a/src/Makefile.shlib
|
||||
+++ b/src/Makefile.shlib
|
||||
@@ -221,7 +221,7 @@ ifeq ($(PORTNAME), linux)
|
||||
ifdef soname
|
||||
LINK.shared += -Wl,-soname,$(soname)
|
||||
endif
|
||||
- BUILD.exports = ( echo '{ global:'; $(AWK) '/^[^\#]/ {printf "%s;\n",$$1}' $<; echo ' local: *; };' ) >$@
|
||||
+ BUILD.exports = $(SHELL) $(top_srcdir)/config/build-exports-gnu-ld < $< > $@
|
||||
exports_file = $(SHLIB_EXPORTS:%.txt=%.list)
|
||||
ifneq (,$(exports_file))
|
||||
LINK.shared += -Wl,--version-script=$(exports_file)
|
||||
diff --git a/src/interfaces/libpq/exports.txt b/src/interfaces/libpq/exports.txt
|
||||
index d6a38d0df8..29bebeac7e 100644
|
||||
--- a/src/interfaces/libpq/exports.txt
|
||||
+++ b/src/interfaces/libpq/exports.txt
|
||||
@@ -171,4 +171,4 @@ PQsslAttributeNames 168
|
||||
PQsslAttribute 169
|
||||
PQsetErrorContextVisibility 170
|
||||
PQresultVerboseErrorMessage 171
|
||||
-PQencryptPasswordConn 172
|
||||
+PQencryptPasswordConn 172 10
|
||||
--
|
||||
2.17.0
|
||||
|
||||
74
libpq.spec
Normal file
74
libpq.spec
Normal file
@ -0,0 +1,74 @@
|
||||
Name: libpq
|
||||
Version: 11.2
|
||||
Release: 3
|
||||
Summary: A share library of PostgreSQL
|
||||
License: PostgreSQL
|
||||
Url: http://www.postgresql.org/
|
||||
Source0: https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.bz2
|
||||
Patch0001: libpq-10.3-rpm-pgsql.patch
|
||||
Patch0002: libpq-10.3-var-run-socket.patch
|
||||
Patch0003: libpq-10.4-symbol-versioning.patch
|
||||
BuildRequires: gcc glibc-devel bison flex gawk zlib-devel openssl-devel
|
||||
BuildRequires: krb5-devel openldap-devel gettext multilib-rpm-config
|
||||
Obsoletes: postgresql-libs < 11
|
||||
Provides: postgresql-libs = 11.2-3
|
||||
%description
|
||||
PostgreSQL is a powerful, open source object-relational database system
|
||||
that uses and extends the SQL language combined with many features that
|
||||
safely store and scale the most complicated data workloads. This package
|
||||
provides the essential shared library for any PostgreSQL client program
|
||||
or interface.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for building PostgreSQL client tools
|
||||
Requires: libpq%{?_isa} = 11.2-3
|
||||
Provides: postgresql-devel = 11.2-3
|
||||
Obsoletes: postgresql-devel < 11
|
||||
%description devel
|
||||
The development package of libpq
|
||||
%prep
|
||||
%autosetup -n postgresql-11.2 -p1
|
||||
|
||||
%build
|
||||
export SYMBOL_VERSION_PREFIX=RHPG_
|
||||
%configure --disable-rpath --with-ldap --with-openssl --with-gssapi \
|
||||
--enable-nls --without-readline --datadir=%_datadir/pgsql
|
||||
%global build_subdirs \\\
|
||||
src/interfaces/libpq \\\
|
||||
src/bin/pg_config \\\
|
||||
src/include
|
||||
for subdir in %build_subdirs; do
|
||||
%make_build -C "$subdir"
|
||||
done
|
||||
|
||||
%install
|
||||
for subdir in %build_subdirs; do
|
||||
%make_install -C "$subdir"
|
||||
done
|
||||
find $RPM_BUILD_ROOT -name '*.a' -delete
|
||||
rm -r $RPM_BUILD_ROOT%_includedir/pgsql/server
|
||||
%multilib_fix_c_header --file "%_includedir/pg_config.h"
|
||||
%multilib_fix_c_header --file "%_includedir/pg_config_ext.h"
|
||||
|
||||
cp /dev/null libpq.lst
|
||||
%find_lang libpq5-11
|
||||
cat libpq5-11.lang >>libpq.lst
|
||||
cp /dev/null libpq-devel.lst
|
||||
%find_lang pg_config-11
|
||||
cat pg_config-11.lang >>libpq-devel.lst
|
||||
|
||||
%files -f libpq.lst
|
||||
%license COPYRIGHT
|
||||
%_libdir/libpq.so.5*
|
||||
%dir %_datadir/pgsql
|
||||
%doc %_datadir/pgsql/pg_service.conf.sample
|
||||
|
||||
%files devel -f libpq-devel.lst
|
||||
%_bindir/pg_config
|
||||
%_includedir/*
|
||||
%_libdir/libpq.so
|
||||
%_libdir/pkgconfig/libpq.pc
|
||||
|
||||
%changelog
|
||||
* Tue Nov 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 11.2-3
|
||||
- Package init
|
||||
BIN
postgresql-11.2.tar.bz2
Normal file
BIN
postgresql-11.2.tar.bz2
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user