summaryrefslogtreecommitdiff
path: root/python-pgsanity.spec
blob: a9da6dcaeb62bf7f2ef89b20069b30825cd47c7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
%global _empty_manifest_terminate_build 0
Name:		python-pgsanity
Version:	0.2.9
Release:	1
Summary:	Check syntax of sql for PostgreSQL
License:	MIT
URL:		http://github.com/markdrago/pgsanity
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/45/70/d9ce2d8a93a7b755b09871125768c3237f99147472ec6f3ca3237cd22a4d/pgsanity-0.2.9.tar.gz
BuildArch:	noarch


%description

**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.


%package -n python3-pgsanity
Summary:	Check syntax of sql for PostgreSQL
Provides:	python-pgsanity
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-pgsanity

**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.


%package help
Summary:	Development documents and examples for pgsanity
Provides:	python3-pgsanity-doc
%description help

**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.


%prep
%autosetup -n pgsanity-0.2.9

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-pgsanity -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.9-1
- Package Spec generated