]> git.pld-linux.org Git - packages/rpm-build-macros.git/blobdiff - rpm.macros
- add %py_lint macro
[packages/rpm-build-macros.git] / rpm.macros
index 551bcf787c1a7b1da5ded07b8ce017a88844566f..65d9c348c3298c869bc60a357ed6ca52592097ac 100644 (file)
@@ -694,39 +694,39 @@ fi \
 %xorg_xserver_xinput_abi       %{expand:%%global xorg_xserver_xinput_abi %(awk '/#define ABI_XINPUT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' /usr/include/xorg/xf86Module.h 2> /dev/null || echo ERROR)}%xorg_xserver_xinput_abi
 
 %requires_xorg_xserver_extension \
-       %{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_ge extension xorg_xserver_extension_abi} \
-       %{__xorg_abi_requires_lt extension xorg_xserver_extension_abi} \
+%{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_ge extension xorg_xserver_extension_abi} \
+%{__xorg_abi_requires_lt extension xorg_xserver_extension_abi} \
 %{nil}
 
 %requires_xorg_xserver_xinput \
-       %{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_ge xinput xorg_xserver_xinput_abi} \
-       %{__xorg_abi_requires_lt xinput xorg_xserver_xinput_abi} \
+%{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_ge xinput xorg_xserver_xinput_abi} \
+%{__xorg_abi_requires_lt xinput xorg_xserver_xinput_abi} \
 %{nil}
 
 %requires_xorg_xserver_font \
-       %{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_ge font xorg_xserver_font_abi} \
-       %{__xorg_abi_requires_lt font xorg_xserver_font_abi} \
+%{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_ge font xorg_xserver_font_abi} \
+%{__xorg_abi_requires_lt font xorg_xserver_font_abi} \
 %{nil}
 
 %requires_xorg_xserver_videodrv \
-       %{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
-       %{__xorg_abi_requires_ge videodrv xorg_xserver_videodrv_abi} \
-       %{__xorg_abi_requires_lt videodrv xorg_xserver_videodrv_abi} \
+%{__xorg_abi_requires_ge ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_lt ansic xorg_xserver_ansic_abi} \
+%{__xorg_abi_requires_ge videodrv xorg_xserver_videodrv_abi} \
+%{__xorg_abi_requires_lt videodrv xorg_xserver_videodrv_abi} \
 %{nil}
 
 # Python specific macro definitions.
 # python main version
-%py_ver                        %{expand:%%global py_ver %(%{__python} -c "import sys; print sys.version[:3]" || echo ERROR)}%py_ver
+%py_ver                        %{expand:%%global py_ver %(%{__python} -c "import sys; print sys.version[:3]" 2>/dev/null || echo ERROR)}%py_ver
 
 # directories
-%py_prefix             %{expand:%%global py_prefix %(%{__python} -c "import sys; print sys.prefix" || echo ERROR)}%py_prefix
+%py_prefix             %{expand:%%global py_prefix %(%{__python} -c "import sys; print sys.prefix" 2>/dev/null || echo ERROR)}%py_prefix
 %py_libdir             %{py_prefix}/%{_lib}/python%{py_ver}
 %py_scriptdir  %{py_prefix}/share/python%{py_ver}
 %py_incdir             /usr/include/python%{py_ver}
@@ -1515,4 +1515,42 @@ io.open("/etc/shells", "w"):write(s)\
 %{-p:end} \
 %{nil}
 
+# Check syntax for Python files
+#
+# Author: Elan Ruusamäe <glen@pld-linux.org>
+# Author: Arkadiusz Miśkiewicz <arekm@pld-linux.org>
+#
+# Usage:
+#   %py_lint src
+#
+# Requirements:
+# BuildRequires:       python
+# BuildRequires:       rpmbuild(macros) >= 1.469
+
+%py_lint() \
+__py_lint() { \
+find "$@" -type f -name '*.py' | python -c ' \
+import sys \
+import compiler \
+\
+err = 0\
+for f in sys.stdin: \
+       fd = open(f.strip()) \
+       c = fd.read() \
+       fd.close() \
+       try: \
+               compiler.parse(c) \
+       except SyntaxError, e: \
+               print "py_lint: %s: %s" % (f.strip(), e) \
+               err = err + 1\
+\
+if err: \
+       print >> sys.stderr, "\\npy_lint: ERROR: Syntax errors in %d files.\\n" % err \
+       sys.exit(1) \
+else: \
+       print >> sys.stderr,  "py_lint: Found no syntax errors." \
+' \
+}; __py_lint %* \
+%{nil}
+
 # vim:ts=4 sw=4 noet syn=spec
This page took 0.083267 seconds and 4 git commands to generate.