postgresql-devel-docs
postgresql-devel
scanned 2026-09-17 00:27:14.276658
The source is a PostgreSQL development snapshot from the official project's own domain (ftp.postgresql.org), which is a legitimate and expected source for this package; building from official project infrastructure, even with a SKIP'd checksum, is low risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a PostgreSQL development snapshot from the official project's own domain (ftp.postgresql.org), which is a legitimate and expected source for this package; building from official project infrastructure, even with a SKIP'd checksum, is low risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:51
source=(https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2
PKGBUILD
1 offending line(s) highlighted# Maintainer: Marc Rechté <marc4@rechte.fr>
# To bypass check: run makepkg with --nocheck option
# For make options, see https://www.postgresql.org/docs/current/install-procedure.html
# To refresh with a new build, delete previously downloaded postgresql-snapshot.tar.bz2
pkgbase=postgresql-devel
pkgver=20devel
pkgname=("${pkgbase}-libs" "${pkgbase}-docs" "${pkgbase}")
pkgrel=1
pkgdesc='Sophisticated object-relational DBMS'
url='https://www.postgresql.org/'
arch=('x86_64' 'aarch64')
# provides=("postgresql")
license=('custom:PostgreSQL')
depends=(
bash
glibc
icu libicui18n.so libicuuc.so
krb5 libgssapi_krb5.so
libgcc libgcc_s.so
libldap
libstdc++ libstdc++.so
liburing liburing.so
libxml2 libxml2.so
libxslt
llvm-libs
lz4 liblz4.so
numactl libnuma.so
openssl libcrypto.so libssl.so
pam libpam.so
systemd-libs libsystemd.so
util-linux-libs
zlib libz.so
zstd libzstd.so
)
makedepends=(
clang
curl
docbook-xml
docbook-xsl
llvm
perl
perl-ipc-run
python
readline
systemd
tcl
util-linux
)
source=(https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2
postgresql-run-socket.patch
postgresql-perl-rpath.patch
postgresql.service
postgresql-check-db-dir
postgresql.sysusers
postgresql.tmpfiles
pgenv.sh)
sha256sums=('SKIP'
'02ffb53b0a5049233f665c873b96264db77daab30e5a2194d038202d815a8e6a'
'f579fe03f93418855f597e8f437fda7e3520e08296709c6c8d7102ab90f8451f'
'cfb3bee0f7fc98c8c81aa3a73398bc0446822af86479b5a8ee0c67faae46ec1c'
'122f8cec676d9594634a156ddd693597d3ddcd4421a90b223b97ab49d788c7f3'
'7fa8f0ef3f9d40abd4749cc327c2f52478cb6dfb6e2405bd0279c95e9ff99f12'
'3e13800ae807ee3c40b7e947770c58d5bf04d6427afd2bb8d2e7ecf839802b07'
'804e76418eb16edd2a3ac458d01d94a4a496e529064eeb115c28c6532ff8e5a5')
prepare() {
cd postgresql-${pkgver}
patch -p1 < ../postgresql-run-socket.patch
patch -p1 < ../postgresql-perl-rpath.patch
}
build() {
cd postgresql-${pkgver}
local options=(
--prefix=/opt/${pkgbase}
--sysconfdir=/etc
--with-gssapi
--with-libxml
--with-openssl
--with-perl
--with-python
--with-tcl
--with-pam
--with-readline
--with-system-tzdata=/usr/share/zoneinfo
--with-uuid=e2fs
--with-icu
--with-systemd
--with-ldap
--with-llvm
--with-libxslt
--with-lz4
--with-zstd
--with-libcurl
--with-libnuma
--with-liburing
--enable-nls
--enable-thread-safety
--disable-rpath
)
# Fix static libs (will not link if not set)
CFLAGS+=" -ffat-lto-objects"
# Add RUNPATH to locate libraries
#LDFLAGS+=",-rpath,/opt/${pkgbase}/lib"
LDFLAGS="-Wl,-rpath,/opt/${pkgbase}/lib"
# build
# see bug 17943, which requires llvm15/clang15 instead of current version 16: https://www.postgresql.org/message-id/17943-56bb8c6bd4409b9f%40postgresql.org
# LLVM_CONFIG=llvm-config-15 CLANG=/usr/lib/llvm15/bin/clang \
./configure "${options[@]}"
make world
}
_postgres_check() {
LANG=C make "${1}" || (find . -name regression.diffs | \
while read -r line; do
echo "make ${1} failure: ${line}"
cat "${line}"
done; exit 1)
}
check() {
cd postgresql-${pkgver}
_postgres_check check
_postgres_check check-world
}
package_postgresql-devel-libs() {
pkgdesc="Libraries for use with PostgreSQL"
depends=('krb5' 'openssl>=1.0.0' 'readline>=6.0' 'zlib' 'libldap')
provides=("${pkgbase}-client" 'libpq.so' 'libecpg.so' 'libecpg_compat.so' 'libpgtypes.so')
conflicts=("${pkgbase}-client")
pushd postgresql-${pkgver}
# install license
install -Dm 644 COPYRIGHT -t "${pkgdir}/opt/${pkgbase}/share/licenses/${pkgname}"
# install libs and non-server binaries
for dir in src/interfaces src/bin/pg_config src/bin/pg_dump src/bin/psql src/bin/scripts; do
make -C ${dir} DESTDIR="${pkgdir}" install
done
for util in pg_config pg_dump pg_dumpall pg_restore psql \
clusterdb createdb createuser dropdb dropuser pg_isready reindexdb vacuumdb; do
install -Dm 644 doc/src/sgml/man1/${util}.1 "${pkgdir}"/opt/${pkgbase}/share/man/man1/${util}.1
done
cd src/include
install -d "${pkgdir}"/opt/${pkgbase}/include/{libpq,postgresql/internal/libpq}
# these headers are needed by the public headers of the interfaces
install -m 644 pg_config.h "${pkgdir}/opt/${pkgbase}/include"
install -m 644 pg_config_os.h "${pkgdir}/opt/${pkgbase}/include"
#install -m 644 pg_config_ext.h "${pkgdir}/opt/${pkgbase}/include"
install -m 644 postgres_ext.h "${pkgdir}/opt/${pkgbase}/include"
install -m 644 libpq/libpq-fs.h "${pkgdir}/opt/${pkgbase}/include/libpq"
install -m 644 pg_config_manual.h "${pkgdir}/opt/${pkgbase}/include"
# these he aders are needed by the not-so-public headers of the interfaces
install -m 644 c.h "${pkgdir}/opt/${pkgbase}/include/postgresql/internal"
install -m 644 port.h "${pkgdir}/opt/${pkgbase}/include/postgresql/internal"
install -m 644 postgres_fe.h "${pkgdir}/opt/${pkgbase}/include/postgresql/internal"
install -m 644 libpq/pqcomm.h "${pkgdir}/opt/${pkgbase}/include/postgresql/internal/libpq"
# this utility is to be sourced in order to find proper libs and bins
popd
sed -e "s/\$pkgver/$pkgver/" -e "s/\$pkgbase/$pkgbase/" ../pgenv.sh >pgenv.sh.tmp
install -m 755 pgenv.sh.tmp "${pkgdir}/opt/${pkgbase}/bin/pgenv.sh"
}
package_postgresql-devel-docs() {
pkgdesc="HTML documentation for PostgreSQL"
options=('docs')
cd postgresql-${pkgver}
install -Dm 644 COPYRIGHT -t "${pkgdir}/opt/${pkgbase}/share/licenses/${pkgname}"
make -C doc/src/sgml DESTDIR="${pkgdir}" install-html
chown -R root:root "${pkgdir}/opt/${pkgbase}/share/doc/html"
# clean up
rmdir "${pkgdir}"/opt/${pkgbase}/share/man/man{1,3,7}
rmdir "${pkgdir}"/opt/${pkgbase}/share/man
}
package_postgresql-devel() {
pkgdesc='Sophisticated object-relational DBMS'
# backup=('etc/pam.d/postgresql' 'etc/logrotate.d/postgresql')
depends=("${pkgbase}-libs>=${pkgver}" 'krb5' 'libxml2' 'readline>=6.0'
'openssl>=1.0.0' 'pam' 'icu' 'systemd-libs' 'libldap' 'llvm-libs' 'libxslt'
'libxslt' 'lz4' 'zstd')
optdepends=('python: for PL/Python 3 support'
'perl: for PL/Perl support'
'tcl: for PL/Tcl support')
options=('staticlibs')
install=postgresql.install
pushd postgresql-${pkgver}
# install
make DESTDIR="${pkgdir}" install
make -C contrib DESTDIR="${pkgdir}" install
make -C doc/src/sgml DESTDIR="${pkgdir}" install-man
# we don't want these, they are in the -libs package
for dir in src/interfaces src/bin/pg_config src/bin/pg_dump src/bin/psql src/bin/scripts; do
make -C ${dir} DESTDIR="${pkgdir}" uninstall
done
for util in pg_config pg_dump pg_dumpall pg_restore psql \
clusterdb createdb createuser dropdb dropuser pg_isready reindexdb vacuumdb; do
rm "${pkgdir}"/opt/${pkgbase}/share/man/man1/${util}.1
done
install -Dm 644 COPYRIGHT -t "${pkgdir}/opt/${pkgbase}/share/licenses/${pkgname}"
popd
install -Dm 755 postgresql-check-db-dir -t "${pkgdir}/opt/${pkgbase}/bin"
#install -Dm 644 postgresql.pam "${pkgdir}/etc/pam.d/${pkgname}"
sed -e "s/\$pkgver/$pkgver/" -e "s/\$pkgbase/$pkgbase/" postgresql.service >postgresql.service.tmp
install -Dm 644 postgresql.service.tmp "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
install -Dm 644 postgresql.sysusers "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
sed -e "s/\$pkgver/$pkgver/" postgresql.tmpfiles >postgresql.tmpfiles.tmp
install -Dm 644 postgresql.tmpfiles.tmp "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
# clean up unneeded installed items
rm -rf "${pkgdir}/opt/${pkgbase}/include/internal"
rm -rf "${pkgdir}/opt/${pkgbase}/include/libpq"
find "${pkgdir}//opt/${pkgbase}/include" -maxdepth 1 -type f -execdir rm {} +
rmdir "${pkgdir}/opt/${pkgbase}/share/doc/html"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |