diff options
-rw-r--r-- | development/splint/README | 18 | ||||
-rw-r--r-- | development/splint/doinst.sh | 7 | ||||
-rw-r--r-- | development/splint/slack-desc | 11 | ||||
-rw-r--r-- | development/splint/splint.SlackBuild | 74 | ||||
-rw-r--r-- | development/splint/splint.info | 8 |
5 files changed, 118 insertions, 0 deletions
diff --git a/development/splint/README b/development/splint/README new file mode 100644 index 0000000000..ff6b7c4a30 --- /dev/null +++ b/development/splint/README @@ -0,0 +1,18 @@ +splint is a tool for statically checking C programs for security vulnerabilities +and programming mistakes. Splint does many of the traditional lint checks +including unused declarations, type inconsistencies, use before definition, +unreachable code, ignored return values, execution paths with no return, +likely infinite loops, and fall through cases. + +More powerful checks are made possible by additional information given +in source code annotations. Annotations are stylized comments that +document assumptions about functions, variables, parameters and types. +In addition to the checks specifically enabled by annotations, many +of the traditional lint checks are improved by exploiting this additional +information. + +As more effort is put into annotating programs, better checking results. +Splint is designed to be flexible and allow programmers to select +appropriate points on the effort-benefit curve for particular projects. +As different checks are turned on and more information is given in code +annotations the number of bugs that can be detected increases dramatically. diff --git a/development/splint/doinst.sh b/development/splint/doinst.sh new file mode 100644 index 0000000000..15d8003421 --- /dev/null +++ b/development/splint/doinst.sh @@ -0,0 +1,7 @@ +# If we do not have a lint already: +if ! command -v lint 1> /dev/null 2> /dev/null ; then + # Make this the default + ( cd /usr/bin ; ln -sf splint lint ) + ( cd /usr/man/man1 ; ln -sf splint.1.gz lint.1.gz ) +fi + diff --git a/development/splint/slack-desc b/development/splint/slack-desc new file mode 100644 index 0000000000..bb409aa212 --- /dev/null +++ b/development/splint/slack-desc @@ -0,0 +1,11 @@ +splint: Splint (Secure Programming Lint) +splint: +splint: Splint is a tool for statically checking C programs for security +splint: vulnerabilities and coding mistakes. With minimal effort, Splint +splint: can be used as a better lint. If additional effort is invested +splint: adding annotations to programs, Splint can perform stronger checking +splint: than can be done by any standard lint. +splint: +splint: Splint is developed and maintained by the Secure Programming Group +splint: at the University of Virginia Department of Computer Science. David +splint: Evans is the project leader and the primary developer of Splint. diff --git a/development/splint/splint.SlackBuild b/development/splint/splint.SlackBuild new file mode 100644 index 0000000000..09490ffa01 --- /dev/null +++ b/development/splint/splint.SlackBuild @@ -0,0 +1,74 @@ +#!/bin/sh + +# Slackware build script for splint +# Written by Menno E. Duursma <druiloor@zonnet.nl> +# Modified by the SlackBuilds.org project + +PRGNAM=splint +VERSION=3.1.1 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +CWD=`pwd` +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xzvf $CWD/$PRGNAM-$VERSION.src.tgz || exit 1 +cd $PRGNAM-$VERSION || exit 1 +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + || exit 1 + +make || exit 1 +make install DESTDIR=$PKG || exit 1 + +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +if [ -d $PKG/usr/man ]; then +( cd $PKG/usr/man + find . -type f -exec gzip -9 {} \; + for i in `find . -type l` ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done +) +fi + +if [ -d $PKG/usr/info ]; then + gzip -9 $PKG/usr/info/*.info + rm -f $PKG/usr/info/dir +fi + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp README $PKG/usr/doc/$PRGNAM-$VERSION +cd doc +cp manual.pdf $PKG/usr/doc/$PRGNAM-$VERSION +cd html +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/html +cp *.htm *.html $PKG/usr/doc/$PRGNAM-$VERSION/html +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/development/splint/splint.info b/development/splint/splint.info new file mode 100644 index 0000000000..b3a48f8961 --- /dev/null +++ b/development/splint/splint.info @@ -0,0 +1,8 @@ +PRGNAM="splint" +VERSION="3.1.1" +HOMEPAGE="http://www.splint.org/" +DOWNLOAD="http://www.splint.org/downloads/splint-3.1.1.src.tgz" +MD5SUM="91635d98644312302f6f16abe73c2474" +MAINTAINER="Menno E. Duursma" +EMAIL="druiloor@zonnet.nl" +APPROVED="elohim" |