From d97ba38eb457cf166360adc334ffcac416fafabf Mon Sep 17 00:00:00 2001 From: daniel Date: Tue, 16 Dec 2025 22:58:23 +0000 Subject: [PATCH] import py-pgsanity; ok tb@ --- databases/py-pgsanity/Makefile | 21 +++++++++++++++++++++ databases/py-pgsanity/distinfo | 2 ++ databases/py-pgsanity/pkg/DESCR | 12 ++++++++++++ databases/py-pgsanity/pkg/PLIST | 23 +++++++++++++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 databases/py-pgsanity/Makefile create mode 100644 databases/py-pgsanity/distinfo create mode 100644 databases/py-pgsanity/pkg/DESCR create mode 100644 databases/py-pgsanity/pkg/PLIST diff --git a/databases/py-pgsanity/Makefile b/databases/py-pgsanity/Makefile new file mode 100644 index 00000000000..9d3210dfd3d --- /dev/null +++ b/databases/py-pgsanity/Makefile @@ -0,0 +1,21 @@ +COMMENT= PostgreSQL SQL syntax checker + +MODPY_DISTV = 0.2.9 +DISTNAME = pgsanity-${MODPY_DISTV} +PKGNAME = py-${DISTNAME} + +CATEGORIES = databases + +MAINTAINER = Daniel Dickman + +# MIT +PERMIT_PACKAGE = Yes + +MODULES = lang/python + +MODPY_PI = Yes +MODPY_PYBUILD = setuptools + +RUN_DEPENDS = databases/postgresql + +.include diff --git a/databases/py-pgsanity/distinfo b/databases/py-pgsanity/distinfo new file mode 100644 index 00000000000..71fe372ebfb --- /dev/null +++ b/databases/py-pgsanity/distinfo @@ -0,0 +1,2 @@ +SHA256 (pgsanity-0.2.9.tar.gz) = 3gu9b+T5i/UTnLX0ZurC4quvWnsFC55IZ7h782CHMXM= +SIZE (pgsanity-0.2.9.tar.gz) = 7472 diff --git a/databases/py-pgsanity/pkg/DESCR b/databases/py-pgsanity/pkg/DESCR new file mode 100644 index 00000000000..2f1aa054ec5 --- /dev/null +++ b/databases/py-pgsanity/pkg/DESCR @@ -0,0 +1,12 @@ +PgSanity checks the syntax of Postgresql SQL files. + +It does this by leveraging the ecpg command which is traditionally +used for preparing C files with embedded sql for compilation. +However, as part of that preparation, ecpg checks the embedded SQL +statements for syntax errors using the exact same parser that is +in PostgreSQL. + +So the approach that PgSanity takes is to take a file that has a +list of bare SQL in it, make that file look like a C file with +embedded SQL, run it through ecpg and let ecpg report on the syntax +errors of the SQL. diff --git a/databases/py-pgsanity/pkg/PLIST b/databases/py-pgsanity/pkg/PLIST new file mode 100644 index 00000000000..6690994ec00 --- /dev/null +++ b/databases/py-pgsanity/pkg/PLIST @@ -0,0 +1,23 @@ +bin/pgsanity +lib/python${MODPY_VERSION}/site-packages/pgsanity/ +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/ +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/METADATA +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/RECORD +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/WHEEL +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/entry_points.txt +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/licenses/ +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/licenses/LICENSE +lib/python${MODPY_VERSION}/site-packages/pgsanity-${MODPY_DISTV}.dist-info/top_level.txt +lib/python${MODPY_VERSION}/site-packages/pgsanity/__init__.py +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}/ +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}ecpg.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}ecpg.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}pgsanity.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}pgsanity.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}sqlprep.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} +lib/python${MODPY_VERSION}/site-packages/pgsanity/${MODPY_PYCACHE}sqlprep.${MODPY_PYC_MAGIC_TAG}pyc +lib/python${MODPY_VERSION}/site-packages/pgsanity/ecpg.py +lib/python${MODPY_VERSION}/site-packages/pgsanity/pgsanity.py +lib/python${MODPY_VERSION}/site-packages/pgsanity/sqlprep.py