added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,42 @@
From 780fd27ea6f7f2c446c46a7a5e26d94106c67efd Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sun, 20 Nov 2016 15:04:52 +0000
Subject: [PATCH] Add support for RISC-V.
The architecture is sufficiently similar to aarch64 that simply
extending the existing aarch64 macro works.
---
src/include/storage/s_lock.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
index 4d3ffc7..22e27bf 100644
--- a/src/include/storage/s_lock.h
+++ b/src/include/storage/s_lock.h
@@ -317,11 +317,12 @@ tas(volatile slock_t *lock)
/*
* On ARM and ARM64, we use __sync_lock_test_and_set(int *, int) if available.
+ * On RISC-V, the same.
*
* We use the int-width variant of the builtin because it works on more chips
* than other widths.
*/
-#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64)
+#if defined(__arm__) || defined(__arm) || defined(__aarch64__) || defined(__aarch64) || defined(__riscv)
#ifdef HAVE_GCC__SYNC_INT32_TAS
#define HAS_TEST_AND_SET
@@ -355,8 +356,7 @@ spin_delay(void)
#endif /* __aarch64__ || __aarch64 */
#endif /* HAVE_GCC__SYNC_INT32_TAS */
-#endif /* __arm__ || __arm || __aarch64__ || __aarch64 */
-
+#endif /* __arm__ || __arm || __aarch64__ || __aarch64 || __riscv */
/* S/390 and S/390x Linux (32- and 64-bit zSeries) */
#if defined(__s390__) || defined(__s390x__)
--
2.34.1

View File

@@ -0,0 +1,41 @@
From bbba8a5261a99e79c9cd4693ef56021014a9856b Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Mon, 28 Dec 2020 16:38:21 +0800
Subject: [PATCH] Improve reproducibility,
Remove build patch from binaries which pg_config do
not record var-CC, var-CFLAGS, and configure
$ /usr/bin/pg_config --cc
not recorded
$ /usr/bin/pg_config --configure
not recorded
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
update patch for v13.1
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
src/common/Makefile | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/common/Makefile b/src/common/Makefile
index 880722f..7a9b9d4 100644
--- a/src/common/Makefile
+++ b/src/common/Makefile
@@ -31,9 +31,6 @@ include $(top_builddir)/src/Makefile.global
# don't include subdirectory-path-dependent -I and -L switches
STD_CPPFLAGS := $(filter-out -I$(top_srcdir)/src/include -I$(top_builddir)/src/include,$(CPPFLAGS))
STD_LDFLAGS := $(filter-out -L$(top_builddir)/src/common -L$(top_builddir)/src/port,$(LDFLAGS))
-override CPPFLAGS += -DVAL_CC="\"$(CC)\""
-override CPPFLAGS += -DVAL_CPPFLAGS="\"$(STD_CPPFLAGS)\""
-override CPPFLAGS += -DVAL_CFLAGS="\"$(CFLAGS)\""
override CPPFLAGS += -DVAL_CFLAGS_SL="\"$(CFLAGS_SL)\""
override CPPFLAGS += -DVAL_LDFLAGS="\"$(STD_LDFLAGS)\""
override CPPFLAGS += -DVAL_LDFLAGS_EX="\"$(LDFLAGS_EX)\""
--
2.34.1

View File

@@ -0,0 +1,119 @@
From b92eebe8b0760fee7bd55c6c22318620c2c07579 Mon Sep 17 00:00:00 2001
From: Mingli Yu <mingli.yu@windriver.com>
Date: Mon, 1 Aug 2022 15:44:38 +0800
Subject: [PATCH] config_info.c: not expose build info
Don't collect the build information to fix the buildpaths issue.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
---
configure.ac | 2 +-
src/common/config_info.c | 68 ----------------------------------------
2 files changed, 1 insertion(+), 69 deletions(-)
diff --git a/configure.ac b/configure.ac
index 0eb595b..508487b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ AC_COPYRIGHT([Copyright (c) 1996-2021, PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)
AC_PREFIX_DEFAULT(/usr/local/pgsql)
-AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["$ac_configure_args"], [Saved arguments from configure])
+AC_DEFINE_UNQUOTED(CONFIGURE_ARGS, ["ac_configure_args"], [Saved arguments from configure])
[PG_MAJORVERSION=`expr "$PACKAGE_VERSION" : '\([0-9][0-9]*\)'`]
[PG_MINORVERSION=`expr "$PACKAGE_VERSION" : '.*\.\([0-9][0-9]*\)'`]
diff --git a/src/common/config_info.c b/src/common/config_info.c
index e72e729..b482c20 100644
--- a/src/common/config_info.c
+++ b/src/common/config_info.c
@@ -38,7 +38,7 @@
int i = 0;
/* Adjust this to match the number of items filled below */
- *configdata_len = 23;
+ *configdata_len = 14;
configdata = (ConfigData *) palloc(*configdata_len * sizeof(ConfigData));
configdata[i].name = pstrdup("BINDIR");
@@ -123,74 +123,6 @@
configdata[i].setting = pstrdup(path);
i++;
- configdata[i].name = pstrdup("CONFIGURE");
- configdata[i].setting = pstrdup(CONFIGURE_ARGS);
- i++;
-
- configdata[i].name = pstrdup("CC");
-#ifdef VAL_CC
- configdata[i].setting = pstrdup(VAL_CC);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
- configdata[i].name = pstrdup("CPPFLAGS");
-#ifdef VAL_CPPFLAGS
- configdata[i].setting = pstrdup(VAL_CPPFLAGS);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
- configdata[i].name = pstrdup("CFLAGS");
-#ifdef VAL_CFLAGS
- configdata[i].setting = pstrdup(VAL_CFLAGS);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
- configdata[i].name = pstrdup("CFLAGS_SL");
-#ifdef VAL_CFLAGS_SL
- configdata[i].setting = pstrdup(VAL_CFLAGS_SL);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
- configdata[i].name = pstrdup("LDFLAGS");
-#ifdef VAL_LDFLAGS
- configdata[i].setting = pstrdup(VAL_LDFLAGS);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
- configdata[i].name = pstrdup("LDFLAGS_EX");
-#ifdef VAL_LDFLAGS_EX
- configdata[i].setting = pstrdup(VAL_LDFLAGS_EX);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
- configdata[i].name = pstrdup("LDFLAGS_SL");
-#ifdef VAL_LDFLAGS_SL
- configdata[i].setting = pstrdup(VAL_LDFLAGS_SL);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
- configdata[i].name = pstrdup("LIBS");
-#ifdef VAL_LIBS
- configdata[i].setting = pstrdup(VAL_LIBS);
-#else
- configdata[i].setting = pstrdup(_("not recorded"));
-#endif
- i++;
-
configdata[i].name = pstrdup("VERSION");
configdata[i].setting = pstrdup("PostgreSQL " PG_VERSION);
i++;
--
2.25.1

View File

@@ -0,0 +1,30 @@
From 5f9dedc91a0a9710033fa155ea759f765ce5b58b Mon Sep 17 00:00:00 2001
From: Yi Fan Yu <yifan.yu@windriver.com>
Date: Fri, 5 Feb 2021 17:15:42 -0500
Subject: [PATCH] configure.ac: bypass autoconf 2.69 version check
for upgrade to autoconf 2.71
Upstream-Status: Inappropriate [disable feature]
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
---
configure.ac | 4 ----
1 file changed, 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 998ff31..912e490 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
AC_INIT([PostgreSQL], [15.3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/])
-m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required.
-Untested combinations of 'autoconf' and PostgreSQL versions are not
-recommended. You can remove the check from 'configure.ac' but it is then
-your responsibility whether the result works or not.])])
AC_COPYRIGHT([Copyright (c) 1996-2022, PostgreSQL Global Development Group])
AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
AC_CONFIG_AUX_DIR(config)

View File

@@ -0,0 +1,42 @@
From 9f81377dddfe32d950844d7053020a36b40fce08 Mon Sep 17 00:00:00 2001
From: Manoj Saun <manojsingh.saun@windriver.com>
Date: Wed, 22 Mar 2023 08:07:26 +0000
Subject: [PATCH] postgresql: fix ptest failure of sysviews
The patch "0001-config_info.c-not-expose-build-info.patch" hides the debug info
in pg_config table which reduces the count of rows from pg_config and leads to
sysviews test failure.
To fix it we need to reduce the count of parameters in sysviews test.
Also we need to reduce the row count in expected result of sysview test
to make the test output shown as pass.
Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Manoj Saun <manojsingh.saun@windriver.com>
---
src/test/regress/expected/sysviews.out | 2 +-
src/test/regress/sql/sysviews.sql | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
--- a/src/test/regress/expected/sysviews.out
+++ b/src/test/regress/expected/sysviews.out
@@ -29,7 +29,7 @@ select name, ident, parent, level, total
(1 row)
-- At introduction, pg_config had 23 entries; it may grow
-select count(*) > 20 as ok from pg_config;
+select count(*) > 13 as ok from pg_config;
ok
----
t
--- a/src/test/regress/sql/sysviews.sql
+++ b/src/test/regress/sql/sysviews.sql
@@ -18,7 +18,7 @@ select name, ident, parent, level, total
from pg_backend_memory_contexts where level = 0;
-- At introduction, pg_config had 23 entries; it may grow
-select count(*) > 20 as ok from pg_config;
+select count(*) > 13 as ok from pg_config;
-- We expect no cursors in this test; see also portals.sql
select count(*) = 0 as ok from pg_cursors;

View File

@@ -0,0 +1,37 @@
From 56b830edecff1cac5f8a8a956e7a7eeef2aa7c17 Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Tue, 27 Nov 2018 13:25:15 +0800
Subject: [PATCH] not check libperl under cross compiling
Upstream-Status: Inappropriate [configuration]
libperl ldflags returned by PGAC_CHECK_PERL_EMBED_LDFLAGS are native,
can not be used to check target library.
postpresql has the dependency on perl, so not need to check libperl
again, like in postgresql-9.2.4
Signed-off-by: Roy Li <rongqing.li@windriver.com>
update patch to version 11.1
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index fba79ee..7170f26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2261,7 +2261,7 @@ Use --without-tcl to disable building PL/Tcl.])
fi
# check for <perl.h>
-if test "$with_perl" = yes; then
+if test "$with_perl" = yes && test "$cross_compiling" = no; then
ac_save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$CPPFLAGS $perl_includespec"
AC_CHECK_HEADER(perl.h, [], [AC_MSG_ERROR([header file <perl.h> is required for Perl])],
--
2.34.1

View File

@@ -0,0 +1,4 @@
[ -f /etc/profile ] && source /etc/profile
PGDATA=/var/lib/postgresql/data
export PGDATA

View File

@@ -0,0 +1,73 @@
#!/bin/sh
#
# postgresql-setup Initialization operation for PostgreSQL
# For SELinux we need to use 'runuser' not 'su'
if [ -x /sbin/runuser ]
then
SU=runuser
else
SU=su
fi
PGENGINE=/usr/bin
PGDATA=/var/lib/postgresql/data
PGLOG=/var/lib/postgresql/pgstartup.log
script_result=0
initdb(){
if [ -f "$PGDATA/PG_VERSION" ]
then
echo -n "Data directory is not empty!"
echo -n " [FAILED] "
echo
script_result=1
else
echo -n "Initializing database: "
if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]
then
mkdir -p "$PGDATA" || exit 1
chown postgres:postgres "$PGDATA"
chmod go-rwx "$PGDATA"
fi
# Clean up SELinux tagging for PGDATA
[ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
# Make sure the startup-time log file is OK, too
if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
then
touch "$PGLOG" || exit 1
chown postgres:postgres "$PGLOG"
chmod go-rwx "$PGLOG"
[ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
fi
# Initialize the database
$SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
# Create directory for postmaster log
mkdir "$PGDATA/pg_log"
chown postgres:postgres "$PGDATA/pg_log"
chmod go-rwx "$PGDATA/pg_log"
if [ -f "$PGDATA/PG_VERSION" ]
then
echo -n " [ OK ] "
else
echo -n " [FAILED] "
script_result=1
fi
echo
fi
}
case "$1" in
initdb)
initdb
;;
*)
echo "Usage: $0 initdb"
exit 2
esac
exit $script_result

View File

@@ -0,0 +1,193 @@
#!/bin/sh
#
# postgresql This is the init script for starting up the PostgreSQL
# server.
#
# chkconfig: - 64 36
# description: PostgreSQL database server.
# processname: postmaster
# pidfile: /var/run/postmaster.PORT.pid
# This script is slightly unusual in that the name of the daemon (postmaster)
# is not the same as the name of the subsystem (postgresql)
# PGVERSION is the full package version, e.g., 8.4.0
# Note: the specfile inserts the correct value during package build
PGVERSION=9.2.4
# PGMAJORVERSION is major version, e.g., 10 (this should match PG_VERSION)
PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\).*$/\1/'`
# Source function library.
. /etc/init.d/functions
# Find the name of the script
NAME=`basename $0`
if [ ${NAME:0:1} = "S" -o ${NAME:0:1} = "K" ]
then
NAME=${NAME:3}
fi
# For SELinux we need to use 'runuser' not 'su'
if [ -x /sbin/runuser ]
then
SU=runuser
else
SU=su
fi
# Set defaults for configuration variables
PGENGINE=/usr/bin
PGPORT=5432
PGDATA=/var/lib/postgresql/data
PGLOG=/var/lib/postgresql/pgstartup.log
# Value to set as postmaster process's oom_adj
PG_OOM_ADJ=-17
# Override defaults from /etc/sysconfig/postgresql if file is present
[ -f /etc/default/postgresql/${NAME} ] && . /etc/default/postgresql/${NAME}
export PGDATA
export PGPORT
lockfile="/var/lock/subsys/${NAME}"
pidfile="/var/run/postmaster.${PGPORT}.pid"
script_result=0
start(){
[ -x "$PGENGINE/postmaster" ] || exit 5
PSQL_START=$"Starting ${NAME} service: "
# Make sure startup-time log file is valid
if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
then
touch "$PGLOG" || exit 4
chown postgres:postgres "$PGLOG"
chmod go-rwx "$PGLOG"
[ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
fi
# Check for the PGDATA structure
if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ]
then
# Check version of existing PGDATA
if [ x`cat "$PGDATA/PG_VERSION"` != x"$PGMAJORVERSION" ]
then
SYSDOCDIR="(Your System's documentation directory)"
if [ -d "/usr/doc/postgresql-$PGVERSION" ]
then
SYSDOCDIR=/usr/doc
fi
if [ -d "/usr/share/doc/postgresql-$PGVERSION" ]
then
SYSDOCDIR=/usr/share/doc
fi
if [ -d "/usr/doc/packages/postgresql-$PGVERSION" ]
then
SYSDOCDIR=/usr/doc/packages
fi
if [ -d "/usr/share/doc/packages/postgresql-$PGVERSION" ]
then
SYSDOCDIR=/usr/share/doc/packages
fi
echo
echo $"An old version of the database format was found."
echo $"You need to upgrade the data format before using PostgreSQL."
echo $"See $SYSDOCDIR/postgresql-$PGVERSION/README.rpm-dist for more information."
exit 1
fi
else
# No existing PGDATA! Warn the user to initdb it.
echo
echo "$PGDATA is missing. Use \"postgresql-setup initdb\" to initialize the cluster first."
echo -n " [FAILED] "
echo
exit 1
fi
echo -n "$PSQL_START"
test x"$PG_OOM_ADJ" != x && echo "$PG_OOM_ADJ" > /proc/self/oom_score_adj
$SU -l postgres -c "$PGENGINE/postmaster -p '$PGPORT' -D '$PGDATA' ${PGOPTS} &" >> "$PGLOG" 2>&1 < /dev/null
sleep 2
pid=`head -n 1 "$PGDATA/postmaster.pid" 2>/dev/null`
if [ "x$pid" != x ]
then
echo -n " [ OK ]"
touch "$lockfile"
echo $pid > "$pidfile"
echo
else
echo -n " [FAILED]"
echo
script_result=1
fi
}
stop(){
echo -n $"Stopping ${NAME} service: "
if [ -e "$lockfile" ]
then
$SU -l postgres -c "$PGENGINE/pg_ctl stop -D '$PGDATA' -s -m fast" > /dev/null 2>&1 < /dev/null
ret=$?
if [ $ret -eq 0 ]
then
echo -n " [ OK ] "
rm -f "$pidfile"
rm -f "$lockfile"
else
echo -n " [FAILED] "
script_result=1
fi
else
# not running; per LSB standards this is "ok"
echo -n " [ OK ] "
fi
echo
}
restart(){
stop
start
}
condrestart(){
[ -e "$lockfile" ] && restart || :
}
reload(){
$SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status postmaster
script_result=$?
;;
restart)
restart
;;
condrestart|try-restart)
condrestart
;;
reload)
reload
;;
force-reload)
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac
exit $script_result

View File

@@ -0,0 +1,4 @@
#%PAM-1.0
auth include common-auth
account include common-account
password include common-password

View File

@@ -0,0 +1,27 @@
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
# Port number for server to listen on
Environment=PGPORT=5432
# Location of database directory
Environment=PGDATA=/var/lib/postgresql/data
# Disable OOM kill on the postmaster
OOMScoreAdjust=-17
ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
[Install]
WantedBy=multi-user.target