diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-07-24 08:01:31 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-07-24 08:01:31 +0000 |
commit | b70981b68efcce5256eb11c6cd26ae123b10b6ea (patch) | |
tree | a38be6efae5e2ba15c2e839504632f9b7bfd5f91 /main/gross | |
parent | 2b4df81538b8398442d5296650905c70341dd8d3 (diff) | |
download | aports-b70981b68efcce5256eb11c6cd26ae123b10b6ea.tar.bz2 aports-b70981b68efcce5256eb11c6cd26ae123b10b6ea.tar.xz |
moved extra/* to main/
and fixed misc build issues
Diffstat (limited to 'main/gross')
-rw-r--r-- | main/gross/APKBUILD | 57 | ||||
-rw-r--r-- | main/gross/gross-1.0.1-configure.ac.patch | 20 | ||||
-rw-r--r-- | main/gross/gross-1.0.1-default-conf.patch | 17 | ||||
-rw-r--r-- | main/gross/gross-1.0.1-user.patch | 72 | ||||
-rw-r--r-- | main/gross/gross.post-install | 2 | ||||
-rw-r--r-- | main/gross/gross.post-upgrade | 16 | ||||
-rw-r--r-- | main/gross/gross.pre-install | 3 | ||||
-rw-r--r-- | main/gross/gross.pre-upgrade | 12 | ||||
-rw-r--r-- | main/gross/grossd.confd | 6 | ||||
-rw-r--r-- | main/gross/grossd.initd | 35 |
10 files changed, 240 insertions, 0 deletions
diff --git a/main/gross/APKBUILD b/main/gross/APKBUILD new file mode 100644 index 000000000..2dac13a66 --- /dev/null +++ b/main/gross/APKBUILD @@ -0,0 +1,57 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=gross +pkgver=1.0.1 +pkgrel=2 +pkgdesc="Greylisting of suspicious sources" +url="http://code.google.com/p/gross/" +license="BSD" +depends= +makedepends="c-ares-dev autoconf automake libtool sed" +install="$pkgname.pre-install $pkgname.post-install $pkgname.pre-upgrade + $pkgname.post-upgrade" +subpackages="$pkgname-doc $pkgname-dev" +source="http://gross.googlecode.com/files/$pkgname-$pkgver.tar.gz + grossd.initd + grossd.confd + gross-1.0.1-configure.ac.patch + gross-1.0.1-default-conf.patch + gross-1.0.1-user.patch + $install" + +build() { + cd "$srcdir/$pkgname-$pkgver" + + for _i in ../*.patch; do + msg "Applying $_i..." + patch -p1 < $_i || return 1 + done + msg "Running autotools..." + aclocal --force && autoconf && automake --add-missing \ + && libtoolize --force --copy || return 1 + + export lt_SED='/bin/sed' + export lt_cv_path_SED='/bin/sed' + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info + + make -j1 || return 1 + make -j1 DESTDIR="$pkgdir" install + + install -dD "$pkgdir"/var/run/gross + install -m755 -D "$srcdir"/grossd.initd "$pkgdir"/etc/init.d/grossd + install -m644 -D "$srcdir"/grossd.confd "$pkgdir"/etc/conf.d/grossd +} + +md5sums="f8f81b36850dcda30cb81799b9cee3b6 gross-1.0.1.tar.gz +b0d8635b64c4a90d72c49e868f4c4c32 grossd.initd +5ca1c6e51c3243236e6564480b20279b grossd.confd +bb75b119ac96b8f99831ce6df810003f gross-1.0.1-configure.ac.patch +7c504b653c71dcf7b192bc487b3516fd gross-1.0.1-default-conf.patch +16e184d59d520db565388f010cc75e83 gross-1.0.1-user.patch +8f6e45b98888dbb9971f7681bf431f6f gross.pre-install +4b55d1c5534167946cc11376d1b05c34 gross.post-install +87e7d76dace9cedf61efc04cdb6a905c gross.pre-upgrade +46df3a643ba26f3eb2d6a09f616e421d gross.post-upgrade" diff --git a/main/gross/gross-1.0.1-configure.ac.patch b/main/gross/gross-1.0.1-configure.ac.patch new file mode 100644 index 000000000..80f9ea776 --- /dev/null +++ b/main/gross/gross-1.0.1-configure.ac.patch @@ -0,0 +1,20 @@ +--- a/configure.ac.orig 2008-05-29 16:18:56 +0000 ++++ b/configure.ac 2008-05-30 09:10:48 +0000 +@@ -52,7 +52,7 @@ + then + AC_DEFINE([USE_SEM_OPEN], [], [Use sem_open() instead of sem_init()]) + else +- AC_SEARCH_LIBS(sem_init, [rt], , ++ AC_SEARCH_LIBS(sem_init, [rt pthread], , + AC_MSG_ERROR([Can't compile without semaphores.]) + ) + fi +@@ -101,7 +101,7 @@ + AC_MSG_CHECKING([whether to disable dnsbl checking]) + AC_ARG_ENABLE(dnsbl, + AC_HELP_STRING([--disable-dnsbl], [Disable dnsbl checking]), +- [AC_MSG_RESULT([yes]) ; dnsbl="no"], ++ [AC_MSG_RESULT([yes]) ; dnsbl="$enableval"], + [AC_MSG_RESULT([no]) ; dnsbl="yes"] + ) + diff --git a/main/gross/gross-1.0.1-default-conf.patch b/main/gross/gross-1.0.1-default-conf.patch new file mode 100644 index 000000000..39cd90709 --- /dev/null +++ b/main/gross/gross-1.0.1-default-conf.patch @@ -0,0 +1,17 @@ +diff -ru gross-1.0.1.orig/doc/examples/grossd.conf gross-1.0.1/doc/examples/grossd.conf +--- gross-1.0.1.orig/doc/examples/grossd.conf 2008-06-03 09:27:37 +0000 ++++ gross-1.0.1/doc/examples/grossd.conf 2008-06-03 09:31:33 +0000 +@@ -71,11 +71,13 @@ + # 'statefile' is the full path of the file that the server will use to + # store the state information. + # statefile = /var/db/grossd.state ++statefile = /var/db/gross/state + + # 'pidfile' is the full path of the file grossd writes its pid into. + # You can set parameter 'check', if you want to keep grossd + # from starting if pidfile already exists. + # pidfile = /var/run/grossd.pid;check ++pidfile = /var/run/gross/grossd.pid + + # 'log_method' is used to list all the possible logging facilities. + # currently only syslog is implemented diff --git a/main/gross/gross-1.0.1-user.patch b/main/gross/gross-1.0.1-user.patch new file mode 100644 index 000000000..a20279f00 --- /dev/null +++ b/main/gross/gross-1.0.1-user.patch @@ -0,0 +1,72 @@ +Index: src/gross.c +=================================================================== +--- a/src/gross.c (revision 491) ++++ b/src/gross.c (working copy) +@@ -553,7 +553,7 @@ + void + usage(void) + { +- printf("Usage: grossd [-CDdhnPprV] [-f configfile]\n"); ++ printf("Usage: grossd [-CDdhnPpruV] [-f configfile]\n"); + printf(" -C create statefile and exit\n"); + printf(" -D Enable debug logging (insane verbosity with -DD)\n"); + printf(" -d Run grossd as a foreground process\n"); +@@ -563,6 +563,7 @@ + printf(" -p file write the process id in a pidfile\n"); + printf(" -P file same as -p, but pid file must not exist\n"); + printf(" -r disable replication\n"); ++ printf(" -u user run gross as user\n"); + printf(" -V version information\n"); + exit(EXIT_USAGE); + } +@@ -612,6 +613,7 @@ + pool_limits_t limits; + sigset_t mask, oldmask; + struct passwd *pwd; ++ char *user = "nobody"; + + #ifdef DNSBL + dns_check_info_t *dns_check_info; +@@ -623,7 +625,7 @@ + daemon_shutdown(EXIT_FATAL, "Couldn't initialize context"); + + /* command line arguments */ +- while ((c = getopt(argc, argv, ":drf:VCDnp:P:")) != -1) { ++ while ((c = getopt(argc, argv, ":drf:VCDnp:P:u:")) != -1) { + switch (c) { + case 'd': + ctx->config.flags |= FLG_NODAEMON; +@@ -663,6 +665,9 @@ + ctx->config.flags |= FLG_CHECK_PIDFILE; + ctx->config.flags |= FLG_CREATE_PIDFILE; + break; ++ case 'u': ++ user = optarg; ++ break; + case 'h': + usage(); + break; +@@ -675,16 +680,16 @@ + + /* grossd doesn't need to be running as root */ + if (geteuid() == 0) { +- logstr(GLOG_DEBUG, "Running as root: setuid() to 'nobody'"); +- pwd = getpwnam("nobody"); ++ logstr(GLOG_DEBUG, "Running as root: setuid() to '%s'", user); ++ pwd = getpwnam(user); + if (NULL == pwd) +- daemon_shutdown(EXIT_FATAL, "Running as root: can't find user 'nobody'"); ++ daemon_shutdown(EXIT_FATAL, "Running as root: can't find user '%s'", user); + if (setgid(pwd->pw_gid) != 0) +- daemon_shutdown(EXIT_FATAL, "Running as root: can't setgid(%d) to 'nobody': %s", +- pwd->pw_gid, strerror(errno)); ++ daemon_shutdown(EXIT_FATAL, "Running as root: can't setgid(%d) to '%s': %s", ++ pwd->pw_gid, user, strerror(errno)); + if (setuid(pwd->pw_uid) != 0) +- daemon_shutdown(EXIT_FATAL, "Running as root: can't setuid(%d) to 'nobody': %s", +- pwd->pw_uid, strerror(errno)); ++ daemon_shutdown(EXIT_FATAL, "Running as root: can't setuid(%d) to '%s': %s", ++ pwd->pw_uid, user, strerror(errno)); + } + + config = default_config(); diff --git a/main/gross/gross.post-install b/main/gross/gross.post-install new file mode 100644 index 000000000..df06670a4 --- /dev/null +++ b/main/gross/gross.post-install @@ -0,0 +1,2 @@ +#!/bin/sh +chown -R gross:gross /var/run/gross diff --git a/main/gross/gross.post-upgrade b/main/gross/gross.post-upgrade new file mode 100644 index 000000000..1e52785e1 --- /dev/null +++ b/main/gross/gross.post-upgrade @@ -0,0 +1,16 @@ +#!/bin/sh + +moved= +for i in /etc/runlevels/*/gross; do + if [ -L $i ]; then + mv ${i} ${i}d + moved=1 + fi +done + +if [ -n "$moved" ]; then + echo " *" + echo " * NOTICE: /etc/init.d/gross is renamed to /etc/init.d/grossd" + echo " *" +fi + diff --git a/main/gross/gross.pre-install b/main/gross/gross.pre-install new file mode 100644 index 000000000..c3844d7a5 --- /dev/null +++ b/main/gross/gross.pre-install @@ -0,0 +1,3 @@ +#!/bin/sh +adduser -H -s /bin/false -D gross 2>/dev/null +exit 0 diff --git a/main/gross/gross.pre-upgrade b/main/gross/gross.pre-upgrade new file mode 100644 index 000000000..90361bcc6 --- /dev/null +++ b/main/gross/gross.pre-upgrade @@ -0,0 +1,12 @@ +#!/bin/sh + +old=/etc/conf.d/gross +new=/etc/conf.d/grossd + +if [ -f "$old" ] && [ ! -f "$new" ]; then + mv "$old" "$new" + echo " *" + echo " * NOTICE: $old was renamed to $new" + echo " *" +fi + diff --git a/main/gross/grossd.confd b/main/gross/grossd.confd new file mode 100644 index 000000000..646e12f9d --- /dev/null +++ b/main/gross/grossd.confd @@ -0,0 +1,6 @@ +# +# Specify daemon $OPTS here. +# + +OPTS="" + diff --git a/main/gross/grossd.initd b/main/gross/grossd.initd new file mode 100644 index 000000000..3d1c43d70 --- /dev/null +++ b/main/gross/grossd.initd @@ -0,0 +1,35 @@ +#!/sbin/runscript + +NAME="grossd" +DAEMON="/usr/sbin/$NAME" +DAEMON_USER="gross" +DAEMON_GROUP="gross" + +depend() { + need net +} + +check_config() { + if [ ! -f /var/db/gross/state ] ; then + einfo "Generating Gross database..." + install -dD -o${DAEMON_USER} -g${DAEMON_GROUP} /var/db/gross + ${DAEMON} -Cu ${DAEMON_USER} > /dev/null + fi +} + +start() { + check_config || return 1 + ebegin "Starting ${NAME}" + start-stop-daemon --start --quiet \ + --exec ${DAEMON} -- \ + -p /var/run/gross/grossd.pid \ + -u ${DAEMON_USER} ${OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${NAME}" + start-stop-daemon --stop --pidfile /var/run/gross/grossd.pid + eend $? +} + |