This commit is contained in:
Yogesh Sharma 2025-03-17 09:41:36 -04:00
parent 202b89c381
commit 26cb8314f7
Signed by: yogesh.sharma
GPG key ID: 47778BF1D2A81254

64
pg-env
View file

@ -12,11 +12,13 @@
# #
create_pgenv() { create_pgenv() {
cat >../${2}/.pg-env <<EOF cat >../${2}/.pg-env <<EOF
export PGV=${1} export PGV=${1}
PG_DEV_NAME=${2} PG_DEV_NAME=${2}
export SKIP_MESON_BUILD=1 export SKIP_MESON_BUILD=1
EOF EOF
} }
commitfest() { commitfest() {
@ -198,7 +200,10 @@ distclean() {
make clean make clean
make distclean make distclean
if [ -z ${MESON_BUILD_PRESENT} ]; then if [ -z ${MESON_BUILD_PRESENT} ]; then
(cd build; ninja clean) (
cd build
ninja clean
)
fi fi
popd popd
} }
@ -206,9 +211,34 @@ distclean() {
compile() { compile() {
pushd ${PG_DEV_SRC} pushd ${PG_DEV_SRC}
if [ -z ${MESON_BUILD_PRESENT} ]; then if [ -z ${MESON_BUILD_PRESENT} ]; then
(time ./configure --prefix=${PG_DEV_INST} --enable-injection-points --enable-debug --with-pgport=${PGPORT} --with-systemd --with-lz4 --with-ssl=openssl --with-python --with-perl --enable-debug --enable-cassert --enable-tap-tests CFLAGS="-ggdb -O0 -g3 -ggdb3 -fno-omit-frame-pointer ${PG_ENV_CFLAGS}") |& tee /tmp/pg_compile.log (
time ./configure \
--prefix=${PG_DEV_INST} \
--enable-injection-points \
--enable-debug \
--with-pgport=${PGPORT} \
--with-systemd --with-lz4 \
--with-ssl=openssl \
--with-python --with-perl \
--enable-debug --enable-cassert \
--enable-tap-tests \
CFLAGS="-ggdb -O0 -g3 -ggdb3 -fno-omit-frame-pointer ${PG_ENV_CFLAGS}"
) |& tee /tmp/pg_compile.log
else else
(time meson setup build --prefix=${PG_DEV_INST} -Dpgport=${PGPORT} -Dlz4=enabled -Dssl=openssl -Dplpython=enabled -Dsystemd -Dplperl=enabled -Ddebug=true -Dcassert=true -Dtap_tests=enabled -Dc_args="-ggdb -O0 -g3 -ggdb3 -fno-omit-frame-pointer ${PG_ENV_CFLAGS}") |& tee /tmp/pg_compile.log (
time meson setup build \
--prefix=${PG_DEV_INST} \
-Dpgport=${PGPORT} \
-Dlz4=enabled \
-Dssl=openssl \
-Dplpython=enabled \
-Dsystemd \
-Dplperl=enabled \
-Ddebug=true \
-Dcassert=true \
-Dtap_tests=enabled \
-Dc_args="-ggdb -O0 -g3 -ggdb3 -fno-omit-frame-pointer ${PG_ENV_CFLAGS}" \
) |& tee /tmp/pg_compile.log
fi fi
if [ $? -gt 0 ]; then if [ $? -gt 0 ]; then
if [ -z ${MESON_BUILD_PRESENT} ]; then if [ -z ${MESON_BUILD_PRESENT} ]; then
@ -218,9 +248,14 @@ compile() {
fi fi
else else
if [ -z ${MESON_BUILD_PRESENT} ]; then if [ -z ${MESON_BUILD_PRESENT} ]; then
(time make install) |& tee -a /tmp/pg_compile.log (
time make install \
) |& tee -a /tmp/pg_compile.log
else else
(cd build; time ninja -v install) |& tee -a /tmp/pg_compile.log (
cd build
time ninja -v install
) |& tee -a /tmp/pg_compile.log
fi fi
if [ $? -gt 0 ]; then if [ $? -gt 0 ]; then
echo "make install failed" echo "make install failed"
@ -244,8 +279,7 @@ startdb(){
if [ -z "$1" ]; then if [ -z "$1" ]; then
[ -d "${PGDATA}" ] && pg_ctl start [ -d "${PGDATA}" ] && pg_ctl start
else else
for NodeN in $@ for NodeN in $@; do
do
echo "Starting pg_ctl start -D ${PGDATA}-${NodeN}" echo "Starting pg_ctl start -D ${PGDATA}-${NodeN}"
[ -d "${PGDATA}-${NodeN}" ] && pg_ctl start -D ${PGDATA}-${NodeN} [ -d "${PGDATA}-${NodeN}" ] && pg_ctl start -D ${PGDATA}-${NodeN}
done done
@ -255,8 +289,7 @@ stopdb(){
if [ -z "$1" ]; then if [ -z "$1" ]; then
[ -d "${PGDATA}" ] && pg_ctl stop [ -d "${PGDATA}" ] && pg_ctl stop
else else
for NodeN in $@ for NodeN in $@; do
do
[ -d "${PGDATA}-${NodeN}" ] && pg_ctl stop -D ${PGDATA}-${NodeN} [ -d "${PGDATA}-${NodeN}" ] && pg_ctl stop -D ${PGDATA}-${NodeN}
done done
fi fi
@ -273,8 +306,7 @@ cleandb(){
[ -n "$ZSH_VERSION" ] && setopt localoptions rmstarsilent [ -n "$ZSH_VERSION" ] && setopt localoptions rmstarsilent
rm -rf $PGDATA/* rm -rf $PGDATA/*
else else
for NodeN in $@ for NodeN in $@; do
do
[ -n "$ZSH_VERSION" ] && setopt localoptions rmstarsilent [ -n "$ZSH_VERSION" ] && setopt localoptions rmstarsilent
rm -rf ${PGDATA}-${NodeN}/* rm -rf ${PGDATA}-${NodeN}/*
done done
@ -284,8 +316,7 @@ cleandb(){
### TODO ### ### TODO ###
pexec() { pexec() {
args="" args=""
while [ $# -gt 0 ] while [ $# -gt 0 ]; do
do
case "$1" in case "$1" in
--PEXEC_CMD=* | PEXEC_CMD=*) --PEXEC_CMD=* | PEXEC_CMD=*)
PEXEC_CMD=${1#*=} PEXEC_CMD=${1#*=}
@ -301,8 +332,7 @@ pexec(){
echo psql -U ${USER} ${PEXEC_CMD} echo psql -U ${USER} ${PEXEC_CMD}
psql -U ${USER} ${PEXEC_CMD} psql -U ${USER} ${PEXEC_CMD}
else else
for NodeN in $@ for NodeN in $@; do
do
cmd="psql -U ${USER} -p ${NodeN}${PGPORT} ${PEXEC_CMD}" cmd="psql -U ${USER} -p ${NodeN}${PGPORT} ${PEXEC_CMD}"
echo $cmd echo $cmd
$cmd $cmd
@ -319,8 +349,7 @@ setupdb(){
echo "include = '$(pwd)/.pg${PGV}.conf'" >>${PGDATA}/postgresql.conf echo "include = '$(pwd)/.pg${PGV}.conf'" >>${PGDATA}/postgresql.conf
fi fi
else else
for NodeN in $@ for NodeN in $@; do
do
initdb --data-checksums --username=${USER} -D ${PGDATA}-${NodeN} initdb --data-checksums --username=${USER} -D ${PGDATA}-${NodeN}
echo "include = '${GIT_DIR}/pgconfigs/pg${PGV}-${NodeN}.conf'" >>${PGDATA}-${NodeN}/postgresql.conf echo "include = '${GIT_DIR}/pgconfigs/pg${PGV}-${NodeN}.conf'" >>${PGDATA}-${NodeN}/postgresql.conf
if [ -f "$(pwd)/.pg${PGV}-${NodeN}.conf" ]; then if [ -f "$(pwd)/.pg${PGV}-${NodeN}.conf" ]; then
@ -418,4 +447,3 @@ deactivate() {
echo "Already in pg-env VENV" echo "Already in pg-env VENV"
fi fi
fi fi