From ebb26eac2948e02def3c7ac1ac23c4ecd345a5a7 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 3 Apr 2026 18:17:29 +0200 Subject: repo: flatten layout — move packages to root, extras to .extras/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Move all packages from SlackBuilds/ to repo root - Move hooks/, docs/, nvchecker.toml to .extras/ - Update CLAUDE.md and README.md to reflect new structure Co-Authored-By: Claude Sonnet 4.6 --- syncthing/README | 20 +++++++ syncthing/doinst.sh | 25 +++++++++ syncthing/rc.syncthing | 53 +++++++++++++++++++ syncthing/slack-desc | 19 +++++++ syncthing/syncthing.SlackBuild | 115 +++++++++++++++++++++++++++++++++++++++++ syncthing/syncthing.info | 10 ++++ syncthing/syncthing.logrotate | 8 +++ 7 files changed, 250 insertions(+) create mode 100644 syncthing/README create mode 100644 syncthing/doinst.sh create mode 100644 syncthing/rc.syncthing create mode 100644 syncthing/slack-desc create mode 100644 syncthing/syncthing.SlackBuild create mode 100644 syncthing/syncthing.info create mode 100644 syncthing/syncthing.logrotate (limited to 'syncthing') diff --git a/syncthing/README b/syncthing/README new file mode 100644 index 0000000..86b1197 --- /dev/null +++ b/syncthing/README @@ -0,0 +1,20 @@ +Syncthing (two way file sync between devices) + +Syncthing is a free, open-source peer-to-peer, two-way file +syncronisation application available for Windows, Mac, Linux, iOS, +Android, Solaris, Darwin and BSD. It can sync files between devices +on a local network, or between remote devices over the Internet. + +Before you can build Syncthing, you have to create a syncthing +user and group (used when running syncthing as a system-wide daemon): + +groupadd -g 307 syncthing +useradd -d /var/lib/syncthing -g syncthing -s /bin/bash -u 307 syncthing + +This package includes a rc.syncthing startup script, suitable for +running Syncthing as a system daemon - such as on a server. + +The default location for the Syncthing config *and* sync repository +if run using the enclosed rc.syncthing is under /var/lib/syncthing, +but Syncthing is normally configured through its own web interface. +See project page for further details. diff --git a/syncthing/doinst.sh b/syncthing/doinst.sh new file mode 100644 index 0000000..9d663d4 --- /dev/null +++ b/syncthing/doinst.sh @@ -0,0 +1,25 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + if [ -e $OLD ]; then + cp -a $OLD ${NEW}.incoming + cat $NEW > ${NEW}.incoming + mv ${NEW}.incoming $NEW + fi + config $NEW +} + +config etc/logrotate.d/syncthing.new +preserve_perms etc/rc.d/rc.syncthing.new diff --git a/syncthing/rc.syncthing b/syncthing/rc.syncthing new file mode 100644 index 0000000..730e638 --- /dev/null +++ b/syncthing/rc.syncthing @@ -0,0 +1,53 @@ +#!/bin/sh + +# Copyright 2016, Sebastian Arcus, UK +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +SYNCTHING_USER="syncthing" +SYNCTHING="/usr/bin/syncthing" +CONFDIR="/var/lib/syncthing/config" +LOGFILE="/var/log/syncthing/syncthing.log" +LOGFLAGS="11" +SYNCTHING_ARGS="-no-browser" + +case "$1" in + stop) + if /usr/bin/pgrep -f /usr/bin/syncthing >/dev/null; then + echo "Stop Syncthing..." + killall syncthing 2>/dev/null + else + echo "Syncthing is not running..." + exit 1 + fi + ;; + start) + echo "Start Syncthing..." + su - $SYNCTHING_USER -c "$SYNCTHING -home=$CONFDIR -logfile=$LOGFILE -logflags=$LOGFLAGS $SYNCTHING_ARGS" 1>/dev/null 2>&1 & + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 { start | stop | restart }" >&2 + exit 1 + ;; +esac diff --git a/syncthing/slack-desc b/syncthing/slack-desc new file mode 100644 index 0000000..2d1ee73 --- /dev/null +++ b/syncthing/slack-desc @@ -0,0 +1,19 @@ +# 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 ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +syncthing: syncthing (two way file sync between devices) +syncthing: +syncthing: Syncthing is a free, open-source peer-to-peer, two-way file +syncthing: syncronisation application available for Windows, Mac, Linux, iOS, +syncthing: Android, Solaris, Darwin and BSD. It can sync files between devices +syncthing: on a local network, or between remote devices over the Internet. +syncthing: +syncthing: https://syncthing.net +syncthing: +syncthing: +syncthing: diff --git a/syncthing/syncthing.SlackBuild b/syncthing/syncthing.SlackBuild new file mode 100644 index 0000000..b4b896f --- /dev/null +++ b/syncthing/syncthing.SlackBuild @@ -0,0 +1,115 @@ +#!/bin/bash + +# Slackware build script for syncthing + +# Copyright 2015 Lionel Young, United States +# Copyright 2016 Sebastian Arcus, United Kingdom +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=syncthing +VERSION=${VERSION:-2.0.15} +BUILD=${BUILD:-1} +TAG=${TAG:-_danix} +PKGTYPE=${PKGTYPE:-txz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ] || [ "$ARCH" = "i686" ]; then + FARCH=386 +elif [ "$ARCH" = "x86_64" ]; then + FARCH=amd64 +else + echo "$ARCH architecture is not supported." + exit 1 +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +# Check if the syncthing user and group exist. If not, then bail. +if [ "$(id -g syncthing 2> /dev/null)" != "307" -o "$(id -u syncthing 2> /dev/null)" != "307" ]; then + echo " You must have an 'syncthing' user and group to run this script." + echo " # groupadd -g 307 syncthing" + echo " # useradd -d /var/lib/syncthing -g syncthing -s /bin/bash -u 307 syncthing" + exit 1 +fi + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +tar xvf $CWD/${PRGNAM}-linux-$FARCH-v${VERSION}.tar.gz +cd ${PRGNAM}-linux-$FARCH-v${VERSION} +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Install syncthing +mkdir -p $PKG/usr/bin +install -Dm755 syncthing $PKG/usr/bin/syncthing + +# Install rc script +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.syncthing > $PKG/etc/rc.d/rc.syncthing.new +chmod 0644 $PKG/etc/rc.d/rc.syncthing.new + +# Install logrotate script +mkdir -p $PKG/etc/logrotate.d +cat $CWD/syncthing.logrotate > $PKG/etc/logrotate.d/syncthing.new + +mkdir -p -m 750 $PKG/var/lib/syncthing/config +mkdir -p -m 750 $PKG/var/log/syncthing +mkdir -p -m 750 $PKG/var/run/syncthing +chown -R syncthing:syncthing $PKG/var/{lib,run,log}/syncthing + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION +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.$PKGTYPE diff --git a/syncthing/syncthing.info b/syncthing/syncthing.info new file mode 100644 index 0000000..7c6b8ca --- /dev/null +++ b/syncthing/syncthing.info @@ -0,0 +1,10 @@ +PRGNAM="syncthing" +VERSION="2.0.15" +HOMEPAGE="https://syncthing.net" +DOWNLOAD="https://github.com/syncthing/syncthing/releases/download/v2.0.15/syncthing-linux-386-v2.0.15.tar.gz" +MD5SUM="04bb977a084577ddac3c6036b965d54d" +DOWNLOAD_x86_64="https://github.com/syncthing/syncthing/releases/download/v2.0.15/syncthing-linux-amd64-v2.0.15.tar.gz" +MD5SUM_x86_64="4129e1b6e1b014b7c92f4e987204251f" +REQUIRES="" +MAINTAINER="Sebastian Arcus" +EMAIL="s [dot] arcus [at] open-t [dot] co [dot] uk" diff --git a/syncthing/syncthing.logrotate b/syncthing/syncthing.logrotate new file mode 100644 index 0000000..ef303bf --- /dev/null +++ b/syncthing/syncthing.logrotate @@ -0,0 +1,8 @@ +/var/log/syncthing/*.log { + weekly + rotate 4 + compress + missingok + notifempty + copytruncate +} -- cgit v1.2.3