diff options
-rw-r--r-- | development/pychecker/README | 25 | ||||
-rw-r--r-- | development/pychecker/pychecker.SlackBuild | 65 | ||||
-rw-r--r-- | development/pychecker/pychecker.info | 10 | ||||
-rw-r--r-- | development/pychecker/slack-desc | 19 |
4 files changed, 119 insertions, 0 deletions
diff --git a/development/pychecker/README b/development/pychecker/README new file mode 100644 index 000000000000..ad5bab77ab97 --- /dev/null +++ b/development/pychecker/README @@ -0,0 +1,25 @@ +PyChecker is a tool for finding bugs in python source code. It finds problems +that are typically caught by a compiler for less dynamic languages, like C and +C++. It is similar to lint. Because of the dynamic nature of python, some +warnings may be incorrect; however, spurious warnings should be fairly +infrequent. + +PyChecker works in a combination of ways. First, it imports each module. If +there is an import error, the module cannot be processed. The import provides +some basic information about the module. The code for each function, class, +and method is checked for possible problems. + +Types of problems that can be found include: +* No global found (e.g., using a module without importing it) +* Passing the wrong number of parameters to functions/methods/constructors +* Passing the wrong number of parameters to builtin functions & methods +* Using format strings that don't match arguments +* Using class methods and attributes that don't exist +* Changing signature when overriding a method +* Redefining a function/class/method in the same scope +* Using a variable before setting it +* self is not the first parameter defined for a method +* Unused globals and locals (module or variable) +* Unused function/method arguments (can ignore self) +* No doc strings in modules, classes, functions, and methods + diff --git a/development/pychecker/pychecker.SlackBuild b/development/pychecker/pychecker.SlackBuild new file mode 100644 index 000000000000..72e1c23adad6 --- /dev/null +++ b/development/pychecker/pychecker.SlackBuild @@ -0,0 +1,65 @@ +#!/bin/sh + +# Slackware build script for pychecker + +# Copyright 2010 LukenShiro <lukenshiro@ngi.it> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=pychecker +VERSION=${VERSION:-0.8.18} +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +DOCFILES="ChangeLog COPYRIGHT MAINTAINERS NEWS README VERSION CHANGELOG \ +KNOWN_BUGS pycheckrc TODO" + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +# setup.py modifications to avoid docfiles' installation in pythondir +sed -i "s|'data_files'|#'data_files'|g" setup.py + +python setup.py build +python setup.py install --prefix=/usr/ --root=$PKG + +# Copy documentation files +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCFILES $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/development/pychecker/pychecker.info b/development/pychecker/pychecker.info new file mode 100644 index 000000000000..317d83fec20a --- /dev/null +++ b/development/pychecker/pychecker.info @@ -0,0 +1,10 @@ +PRGNAM="pychecker" +VERSION="0.8.18" +HOMEPAGE="http://pychecker.sourceforge.net" +DOWNLOAD="http://downloads.sourceforge.net/project/pychecker/pychecker/0.8.18/pychecker-0.8.18.tar.gz" +MD5SUM="ef156a631df46de150a364912f2e36c8" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="LukenShiro" +EMAIL="lukenshiro@ngi.it" +APPROVED="dsomero" diff --git a/development/pychecker/slack-desc b/development/pychecker/slack-desc new file mode 100644 index 000000000000..2fcc6f173a06 --- /dev/null +++ b/development/pychecker/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler--------------------------------------------------------| +pychecker: pychecker (Python source code checking tool) +pychecker: +pychecker: PyChecker is a static analysis tool for finding bugs in Python source +pychecker: code. It finds problems that are typically caught by a compiler for +pychecker: less dynamic languages, like C and C++. It is similar to lint. +pychecker: +pychecker: +pychecker: +pychecker: +pychecker: Homepage: http://pychecker.sourceforge.net +pychecker: |