Skip to content

Commit

Permalink
net-p2p/autoscan: Add new port
Browse files Browse the repository at this point in the history
Autoscan replaces the default Plex and Emby behaviour for picking up
file changes on the file system.

Autoscan integrates with Sonarr, Radarr, Lidarr and Google Drive to
fetch changes in near real-time without relying on the file system.

PR:		258873
  • Loading branch information
mvanbaak authored and Yasuhiro Kimura committed Nov 5, 2021
1 parent 999db79 commit 3c0f0ac
Show file tree
Hide file tree
Showing 7 changed files with 107 additions and 2 deletions.
2 changes: 1 addition & 1 deletion GIDs
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ jackett:*:354:
nzbhydra2:*:355:
lidarr:*:356:
bazarr:*:357:
# free: 358
autoscan:*:358:
# free: 359
v2ray:*:360:
httptunnel:*:361:
Expand Down
2 changes: 1 addition & 1 deletion UIDs
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ jackett:*:354:354::0:0:Jackett Torznab Proxy Daemon:/nonexistent:/usr/sbin/nolog
nzbhydra2:*:355:355::0:0:NZBHydra 2 Daemon:/nonexistent:/usr/sbin/nologin
lidarr:*:356:356::0:0:Lidarr Daemon:/nonexistent:/usr/sbin/nologin
bazarr:*:357:357::0:0:Bazarr Daemon:/nonexistent:/usr/sbin/nologin
# free: 358
autoscan:*:358:358::0:0:Autoscan Daemon:/nonexistent:/usr/sbin/nologin
# free: 359
v2ray:*:360:360::0:0:V2Ray Daemon:/nonexistent:/usr/sbin/nologin
httptunnel:*:361:361::0:0:httptunnel Daemon:/nonexistent:/usr/sbin/nologin
Expand Down
1 change: 1 addition & 0 deletions net-p2p/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

SUBDIR += amule
SUBDIR += amule-devel
SUBDIR += autoscan
SUBDIR += awgg
SUBDIR += bazarr
SUBDIR += bazarr-devel
Expand Down
36 changes: 36 additions & 0 deletions net-p2p/autoscan/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
PORTNAME= autoscan
DISTVERSIONPREFIX= v
DISTVERSION= 1.2.0
CATEGORIES= net-p2p linux
MASTER_SITES= https://github.com/Cloudbox/autoscan/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
DISTNAME= ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION}_linux_amd64
EXTRACT_SUFX=
EXTRACT_ONLY=

MAINTAINER= [email protected]
COMMENT= Scan Plex library on webhook triggers

LICENSE= MIT

ONLY_FOR_ARCHS= amd64

USES= linux
USE_RC_SUBR= autoscan

CONFLICTS_INSTALL= autoconf-wrapper

NO_BUILD= yes
SUB_LIST= GROUPS=${GROUPS} \
USERS=${USERS}

NO_WRKSUBDIR= yes

USERS= autoscan
GROUPS= autoscan

PLIST_FILES= bin/autoscan

do-install:
${INSTALL_PROGRAM} ${DISTDIR}/${DISTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}

.include <bsd.port.mk>
3 changes: 3 additions & 0 deletions net-p2p/autoscan/distinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
TIMESTAMP = 1633181844
SHA256 (autoscan_v1.2.0_linux_amd64) = 3ae59ec61298159e50882ebb8efe159ff8c4da55aa7325afc3f3f603c498e4a3
SIZE (autoscan_v1.2.0_linux_amd64) = 11227136
60 changes: 60 additions & 0 deletions net-p2p/autoscan/files/autoscan.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
#!/bin/sh
#
# Author: Michiel van Baak <[email protected]>
#
# PROVIDE: autoscan
# REQUIRE: LOGIN
# KEYWORD: shutdown

# Add the following lines to /etc/rc.conf to enable autoscan:
# autoscan_enable: Set to NO by default. Set it to YES to enable it.
# autoscan_user: The user account autoscan daemon runs as what
# you want it to be. Default: autoscan
# autoscan_group: The user group autoscan daemon runs as what
# you want it to be. Default: autoscan
# autoscan_config: Configuration file for autoscan.
# Default: /usr/local/etc/autoscan.yml
# autoscan_datadir: Directory where autoscan user data lives.
# Default: /var/db/autoscan
# autoscan_log: File to write logrecords to
# Default: /var/log/autoscan.log

. /etc/rc.subr

name=autoscan
rcvar=autoscan_enable

load_rc_config ${name}

: ${autoscan_enable:=NO}
: ${autoscan_user:=%%USERS%%}
: ${autoscan_group:=%%GROUPS%%}
: ${autoscan_config:="%%PREFIX%%/etc/autoscan.yml"}
: ${autoscan_log:="/var/log/autoscan.log"}
: ${autoscan_datadir:="/var/db/autoscan"}

pidfile="/var/run/${name}/${name}.pid"

autoscan_command="%%PREFIX%%/bin/autoscan"
autoscan_args="--config=${autoscan_config} --database=${autoscan_datadir}/autoscan.db --log=${autoscan_log}"

command="/usr/sbin/daemon"
command_args="-P ${pidfile} -r -f ${autoscan_command} ${autoscan_args}"
start_precmd=autoscan_precmd

autoscan_precmd()
{
if [ ! -d "/var/run/${name}" ]; then
install -d -m 0750 -o ${autoscan_user} -g ${autoscan_group} "/var/run/${name}"
fi

if [ ! -d "${autoscan_datadir}" ]; then
install -d -m 0750 -o ${autoscan_user} -g ${autoscan_group} "${autoscan_datadir}"
fi

if [ ! -f "${autoscan_log}" ]; then
install -m 644 -o ${autoscan_user} -g ${autoscan_group} /dev/null "${autoscan_log}"
fi
}

run_rc_command "$1"
5 changes: 5 additions & 0 deletions net-p2p/autoscan/pkg-descr
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Autoscan replaces the default Plex and Emby behaviour
for picking up file changes on the file system.

Autoscan integrates with Sonarr, Radarr, Lidarr and Google Drive
to fetch changes in near real-time without relying on the file system.

0 comments on commit 3c0f0ac

Please sign in to comment.