diff options
author | Peter Ludikovsky <peter@ludikovsky.name> | 2016-09-08 17:13:07 +0200 |
---|---|---|
committer | Peter Ludikovsky <peter@ludikovsky.name> | 2016-09-08 17:13:07 +0200 |
commit | 445aee0ba17e7d9c803187f233428802d3721374 (patch) | |
tree | 84883669685feb614f8976d60865410e68a9b827 | |
parent | 64f7a9614568e3d42bcddc4f523dfc691f360ca8 (diff) |
* Corrects/improves SystemD Unit
* Disabling logging to /var/log
-rw-r--r-- | debian/changelog | 11 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 15 | ||||
-rw-r--r-- | debian/copyright | 28 | ||||
-rw-r--r-- | debian/junker.install | 1 | ||||
-rw-r--r-- | debian/junker@.service (renamed from junker@.service) | 6 | ||||
-rwxr-xr-x | debian/rules | 32 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rwxr-xr-x | junker.sh | 30 |
9 files changed, 98 insertions, 27 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..5b747f1 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,11 @@ +junker (0.0.1-2) jessie; urgency=low + + * Adaptions for systemd + + -- Peter Ludikovsky <peter@ludikovsky.name> Thu, 08 Sep 2016 14:44:17 +0000 + +junker (0.0.1-1) jessie; urgency=low + + * Initial release + + -- Peter Ludikovsky <peter@ludikovsky.name> Thu, 08 Sep 2016 13:32:17 +0000 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..593e7b5 --- /dev/null +++ b/debian/control @@ -0,0 +1,15 @@ +Source: junker +Section: mail +Priority: optional +Maintainer: Peter Ludikovsky <peter@ludikovsky.name> +Build-Depends: debhelper (>= 9), dh-systemd +Standards-Version: 3.9.6 +#Vcs-Git: git://anonscm.debian.org/collab-maint/junker.git +Vcs-Browser: https://ludikovsky.name/cgit/junker.git/ + +Package: junker +Architecture: all +Depends: ${misc:Depends}, spamassassin, inotify-utils, bash (>= 4.0) +Description: inotfy-based spam/ham learner + junker is a small, inotify-based, spam/ham learner, that will submit all + mails in a users Junk mdir to spamassassin via spamc. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..6948cff --- /dev/null +++ b/debian/copyright @@ -0,0 +1,28 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: junker +Source: https://ludikovsky.name/cgit/junker.git/ + +Files: * +Copyright: 2016 Peter Ludikovsky +License: GPL-3.0+ + +Files: debian/* +Copyright: 2016 Peter Ludikovsky <peter@ludikovsky.name> +License: GPL-3.0+ + +License: GPL-3.0+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/debian/junker.install b/debian/junker.install new file mode 100644 index 0000000..d51401e --- /dev/null +++ b/debian/junker.install @@ -0,0 +1 @@ +debian/junker@.service lib/systemd/system diff --git a/junker@.service b/debian/junker@.service index fe68add..f7f3eef 100644 --- a/junker@.service +++ b/debian/junker@.service @@ -1,11 +1,13 @@ [Unit] Description=inotfy-based spam/ham learner +Requires=spamassassin.service [Service] Type=simple -ExecStart=/usr/bin/junker.sh %i +ExecStart=/usr/bin/junker %i ExecReload=/bin/kill -HUP $MAINPID +User=%i +Group=nogroup [Install] WantedBy=multi-user.target -Requires=spamassassin.service diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..1395143 --- /dev/null +++ b/debian/rules @@ -0,0 +1,32 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +#DH_VERBOSE = 1 + +# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/* +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk + +# see FEATURE AREAS in dpkg-buildflags(1) +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# see ENVIRONMENT in dpkg-buildflags(1) +# package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + + +# main packaging script based on dh7 syntax +%: + dh $@ --with-systemd + +# debmake generated override targets +# This is example for Cmake (See http://bugs.debian.org/641051 ) +#override_dh_auto_configure: +# dh_auto_configure -- \ +# -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH) + + + + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) @@ -8,7 +8,6 @@ BASE="${HOME}"/Maildir INOTIFY='/usr/bin/inotifywait' INOTIFY_EVENTS='moved_to,moved_from' INOTIFY_OPTIONS='--monitor --recursive --event'" ${INOTIFY_EVENTS}" -LOG=/var/log/junker/${USER}.log SPAMC='/usr/bin/spamc' JUNK="${BASE}/Junk" @@ -22,22 +21,12 @@ then . "${HOME}/.junkerrc" fi -function OpenLog { - exec 3>>"${LOG}" - exec 1>&3 - exec 2>&3 - Log "Log opened" -} -function CloseLog { - Log "Log closed" - exec 3>&- -} function Log { echo -e "$( date +'%Y%m%d %H:%M:%S' )\t$@" } function Cleanup { - CloseLog + Log "Exiting" exit 0 } @@ -61,21 +50,11 @@ function Learn { exec 9<&- } -function Reload { - CloseLog - OpenLog -} - if [ ! -d "${BASE}" ] then echo "Error: Mail directory not found at ${BASE}, exiting" >&2 exit 1 fi -if [ ! -d "$( dirname ${LOG} )" ] -then - echo "Error: Log directory not found at ${LOG}, exiting" >&2 - exit 1 -fi if [ ! -x ${INOTIFY} ] then echo "Error: inotifywait not found, check path" >&2 @@ -87,14 +66,15 @@ then exit 1 fi checkfile=$( mktemp ) -${SPAMC} --learntype forget <$checkfile +echo ${RANDOM} >${checkfile} +${SPAMC} --learntype forget <${checkfile} >/dev/null 2>&1 if [ $? -eq 74 ] then echo "Error: spamd doesn't allow connections, needs --allow-tell" >&2 + rm -f ${checkfile} exit 1 fi - -OpenLog +rm -f ${checkfile} trap "Cleanup" EXIT SIGINT SIGTERM trap "Reload" SIGHUP |