aboutsummaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rwxr-xr-xsystem/amavisd-new/amavisd-new.SlackBuild149
-rw-r--r--system/anacron/anacron-2.3.diff12
-rw-r--r--system/anacron/anacron.SlackBuild128
3 files changed, 289 insertions, 0 deletions
diff --git a/system/amavisd-new/amavisd-new.SlackBuild b/system/amavisd-new/amavisd-new.SlackBuild
new file mode 100755
index 00000000..95c78341
--- /dev/null
+++ b/system/amavisd-new/amavisd-new.SlackBuild
@@ -0,0 +1,149 @@
+#!/bin/bash
+#
+# slackbuild script for amavisd-new
+# by rhatto at riseup.net
+#
+
+cat << EOCAT
+You'll need the following perl modules to run amavisd-new:
+
+ cpan2tgz --no-recursive Compress::Zlib IO::Zlib Archive::Tar Archive::Zip Compress::Zlib \\
+ IO::Stringy Mail::Field Mail::Header Mail::Internet MIME::Body \\
+ Convert::TNEF Convert::UUlib MIME::Base64 MIME::Parser \\
+ Net::Server Net::SMTP Digest::MD5 Time::HiRes Unix::Syslog BerkeleyDB
+
+Optional:
+
+ cpan2tgz --no-recursive Digest::SHA1 HTML::Tagset HTML::Parser \\
+ Mail::SpamAssassin DBD::mSQL Convert::ASN1 \\
+ Net::LDAP Authen::SASL Mail::ClamAV SAVI
+
+EOCAT
+
+if [ "$INTERACT" != "no" ]; then
+ echo "Hit ENTER do continue, Crtl-C to abort"
+ read crap
+else
+ echo sleeping 3 seconds...
+ sleep 3
+fi
+
+CWD="`pwd`"
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# default settings
+PACKAGE="amavisd-new"
+ARCH="noarch"
+VERSION=${VERSION:=2.4.1}
+BUILD=${BUILD:=1rha}
+TMP=${TMP:=/tmp}
+SRC_DIR=${SRC:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ LIBDIR=/usr/lib64
+else
+ LIBDIR=/usr/lib
+fi
+
+RTOOL="wget"
+PACKAGE_EXT="gz"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+URL="http://www.ijs.si/software/amavisd/$SRC"
+
+if [ "$PACKAGE_EXT" == "bz2" ]; then
+ tarflag="j"
+else
+ tarflag="z"
+fi
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC"
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+rm -rf package-$PACKAGE
+mkdir package-$PACKAGE
+cd package-$PACKAGE
+
+tar xvf$tarflag $SRC_DIR/$SRC
+cd $PACKAGE-$VERSION
+
+CWD="`pwd`"
+
+mkdir -p $TMP/package-$PACKAGE/$PACKAGE
+cd $TMP/package-$PACKAGE/$PACKAGE
+
+mkdir -p etc/rc.d
+mkdir -p var/amavis/{tmp,var,db}
+mkdir -p usr/{sbin,doc,share/$PACKAGE-$VERSION}
+mkdir var/virusmails
+
+cp $CWD/*patch usr/share/$PACKAGE-$VERSION/
+
+cp $CWD/amavisd usr/sbin/
+cp $CWD/amavisd-{nanny,agent,release} usr/sbin/
+
+cp $CWD/amavisd.conf etc/amavisd.conf.new
+cp $CWD/amavisd_init.sh etc/rc.d/rc.amavisd.new
+
+chmod 755 etc/rc.d/rc.amavisd.new
+chmod 755 usr/sbin/amavisd*
+
+mkdir install
+cat << EOF > install/slack-desc
+# 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-----------------------------------------------------|
+amavisd-new: amavisd-new (an interface between MTAs and content checkers)
+amavisd-new:
+amavisd-new: amavisd-new is a high-performance interface between mailer (MTA) and
+amavisd-new: content checkers: virus scanners, and/or SpamAssassin. It is written
+amavisd-new: in Perl for maintainability, without paying a significant price for
+amavisd-new: speed. It talks to MTA via (E)SMTP or LMTP, or by using helper
+amavisd-new: programs. Best with Postfix, fine with dual-sendmail setup and Exim
+amavisd-new: v4, works with sendmail/milter, or with any MTA as a SMTP relay.
+amavisd-new: For Courier and qmail MTA integration there is a patch in the
+amavisd-new: distributed package.
+amavisd-new:
+EOF
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+for file in AAAREADME.first INSTALL LDAP.schema LICENSE MANIFEST README_FILES RELEASE_NOTES TODO; do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+# install script
+echo '( chroot . /sbin/ldconfig )' > /install/doinst.sh
+echo '( if ! grep -qe "^amavis:" etc/group; then echo creating group amavis... ; chroot . /usr/sbin/groupadd amavis; fi )' >> install/doinst.sh
+echo '( if ! grep -qe "^amavis:" etc/passwd; then echo creating user amavis... ; chroot . /usr/sbin/useradd amavis -g amavis; fi )' >> install/doinst.sh
+echo '( echo setting permissions on /var/amavis to amavis.amavis... )' >> install/doinst.sh
+echo '( chroot . /usr/bin/chown -R amavis.amavis /var/amavis )' >> install/doinst.sh
+echo '( chroot . /usr/bin/chmod -R 750 /var/amavis )' >> install/doinst.sh
+echo '( if [ ! -f "etc/amavisd.conf" ]; then mv etc/amavisd.conf.new etc/amavisd.conf; fi )' >> install/doinst.sh
+echo '( if [ ! -f "etc/rc.d/rc.amavisd" ]; then mv etc/rc.d/rc.amavisd.new etc/rc.d/rc.amavisd; fi )' >> install/doinst.sh
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+
diff --git a/system/anacron/anacron-2.3.diff b/system/anacron/anacron-2.3.diff
new file mode 100644
index 00000000..983bc24b
--- /dev/null
+++ b/system/anacron/anacron-2.3.diff
@@ -0,0 +1,12 @@
+diff -Naur anacron-2.3.orig/gregor.c anacron-2.3/gregor.c
+--- anacron-2.3.orig/gregor.c 2000-06-22 19:50:40.000000000 -0300
++++ anacron-2.3/gregor.c 2006-10-19 16:18:29.000000000 -0200
+@@ -65,7 +65,7 @@
+ {
+ int dn;
+ int i;
+- const int isleap; /* save three calls to leap() */
++ int isleap; /* save three calls to leap() */
+
+ /* Some validity checks */
+
diff --git a/system/anacron/anacron.SlackBuild b/system/anacron/anacron.SlackBuild
new file mode 100644
index 00000000..ce90c9df
--- /dev/null
+++ b/system/anacron/anacron.SlackBuild
@@ -0,0 +1,128 @@
+#!/bin/bash
+#
+# slackbuild script for anacron
+# by rhatto at riseup.net
+#
+
+if [ -s "slack-required" ]; then
+ echo Recomended and required packages for building anacron are:
+ cat slack-required | sed -e 's/^/\t/'
+ if [ "$INTERACT" != "no" ]; then
+ echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
+ read crap
+# else
+# echo Sleeping 3 seconds...
+# sleep 3
+ fi
+fi
+
+CWD="`pwd`"
+
+if [ -f ~/.slackbuildrc ]; then
+ source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+ source /etc/slackbuildrc
+fi
+
+# default settings
+PACKAGE="anacron"
+ARCH=${ARCH:=i486}
+VERSION=${VERSION:=2.3}
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC:=$CWD}
+TMP=${TMP:=/tmp}
+REPOS=${REPOS:=$TMP}
+
+if [ "$ARCH" == "x86_64" ]; then
+ export LDFLAGS="-L/lib64 -L/usr/lib64"
+ LIBDIR=/usr/lib64
+else
+ LIBDIR=/usr/lib
+fi
+
+# ------- error codes for createpkg --------------
+ERROR_WGET=31; ERROR_MAKE=32; ERROR_INSTALL=33
+ERROR_MD5=34; ERROR_CONF=35; ERROR_HELP=36
+ERROR_TAR=37; ERROR_MKPKG=38; ERROR_GPG=39
+ERROR_PATCH=40
+
+RTOOL="wget"
+PACKAGE_EXT="gz"
+SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+URL="http://easynews.dl.sourceforge.net/sourceforge/anacron/$SRC"
+
+SRC_DIR="$SRC_DIR/$PACKAGE"
+mkdir -p $SRC_DIR
+
+if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+ wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+TMP="$TMP/$PACKAGE"
+rm -rf $TMP
+mkdir -p $TMP
+cd $TMP
+
+tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+cd $PACKAGE-$VERSION
+
+if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
+ patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+fi
+
+make || exit $ERROR_MAKE
+
+CWD="`pwd`"
+
+mkdir $TMP/package-$PACKAGE
+cd $TMP/package-$PACKAGE
+
+mkdir -p usr/sbin var/spool/anacron usr/man/man5 usr/man/man8
+cp $CWD/anacron usr/sbin
+cp $CWD/anacrontab.5 usr/man/man5
+cp $CWD/anacron.8 usr/man/man8
+
+gzip usr/man/man5/anacrontab.5
+gzip usr/man/man8/anacron.8
+
+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
+
+mkdir install
+cat << EOF > install/slack-desc
+# 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-----------------------------------------------------|
+anacron: anacron (periodic command scheduler)
+anacron:
+anacron: Anacron is a periodic command scheduler. It executes commands at
+anacron: intervals specified in days. Unlike cron, it does not assume that the
+anacron: system is running continuously. It can therefore be used to control
+anacron: the execution of daily, weekly, and monthly jobs (or anything with
+anacron: a period of n days), on systems that don't run 24 hours a day. When
+anacron: installed and configured properly, Anacron will make sure that the
+anacron: commands are run at the specified intervals as closely as
+anacron: machine-uptime permits.
+anacron:
+EOF
+
+# docs
+mkdir -p usr/doc/$PACKAGE-$VERSION
+
+DOCS="COPYING ChangeLog README TODO"
+
+for file in $DOCS; do
+ cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+done
+
+makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+
+if [ "$CLEANUP" == "yes" ]; then
+ rm -rf $TMP
+fi
+