diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cbb3a13 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.rpm +*.log +*spec-20* +*.tar.gz diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f043556 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: smeserver-rsyncd +# $Id: Makefile,v 1.1 2021/04/02 22:54:23 jpp Exp $ +NAME := smeserver-rsyncd +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/README.md b/README.md index 5ce5059..d7b571d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,16 @@ -# smeserver-rsyncd +# smeserver-rsyncd -SMEServer Koozali developed git repo for smeserver-rsyncd smecontribs \ No newline at end of file +SMEServer Koozali developed git repo for smeserver-rsyncd smecontribs + +## Wiki +
https://wiki.koozali.org/Rsyncd +
https://wiki.koozali.org/Rsyncd_setup_on_a_windows_computer_for_use_with_Affa_backup + +## Bugzilla +Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-rsyncd&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED) + +## Description + +
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.* +*Once it has been checked, then this comment will be deleted* +
diff --git a/contriborbase b/contriborbase new file mode 100644 index 0000000..9b7fd51 --- /dev/null +++ b/contriborbase @@ -0,0 +1 @@ +contribs10 diff --git a/createlinks b/createlinks new file mode 100644 index 0000000..664040c --- /dev/null +++ b/createlinks @@ -0,0 +1,13 @@ +#!/usr/bin/perl -w + +use esmith::Build::CreateLinks qw(:all); + + +my $event ="smeserver-rsyncd-update"; + +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/rsyncd"); +event_link("systemd-reload", $event, "89"); +event_link("systemd-default", $event, "88"); + +templates2events("/etc/rsyncd.conf", ($event, qw(pre-backup bootstrap-console-save remoteaccess-update) ) ); +templates2events("/etc/xinet.d/rsync", ($event, qw(pre-backup bootstrap-console-save remoteaccess-update) ) ); diff --git a/root/etc/e-smith/db/configuration/defaults/rsyncd/TCPPort b/root/etc/e-smith/db/configuration/defaults/rsyncd/TCPPort new file mode 100644 index 0000000..d6cf73b --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/rsyncd/TCPPort @@ -0,0 +1 @@ +873 diff --git a/root/etc/e-smith/db/configuration/defaults/rsyncd/access b/root/etc/e-smith/db/configuration/defaults/rsyncd/access new file mode 100644 index 0000000..3e18ebf --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/rsyncd/access @@ -0,0 +1 @@ +private diff --git a/root/etc/e-smith/db/configuration/defaults/rsyncd/status b/root/etc/e-smith/db/configuration/defaults/rsyncd/status new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/rsyncd/status @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/rsyncd/type b/root/etc/e-smith/db/configuration/defaults/rsyncd/type new file mode 100644 index 0000000..24e1098 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/rsyncd/type @@ -0,0 +1 @@ +service diff --git a/root/etc/e-smith/templates/etc/rsyncd.conf/10global b/root/etc/e-smith/templates/etc/rsyncd.conf/10global new file mode 100644 index 0000000..36ea55d --- /dev/null +++ b/root/etc/e-smith/templates/etc/rsyncd.conf/10global @@ -0,0 +1,17 @@ +# Global Configuration for rsync daedmon on KOOZALI SME SERVER + +port = {$rsyncd{'TCPPort'} || '873'} +max connections = {$rsyncd{'MaxConnections'} || '20'} +transfer logging = yes +strict modes = {$rsyncd{'StrictMode'} || 'yes'} +reverse lookup = {$rsyncd{'Reverse'} || 'no'} +timeout = {$rsyncd{'Timeout'} || '900'} +ignore nonreadable = {$rsyncd{'IgnoreNonreadable'} || 'yes'} +use chroot = {$rsyncd{'Chroot'} || 'yes'} +read only = {$rsyncd{'ReadOnly'} || 'yes'} +dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 +list = {$rsyncd{'List'} || 'yes'} +motd file = /etc/rsyncd.motd +log file = /var/log/rsyncd.log +uid = nobody +gid = nobody diff --git a/root/etc/e-smith/templates/etc/xinetd.d/rsync/10config b/root/etc/e-smith/templates/etc/xinetd.d/rsync/10config new file mode 100644 index 0000000..69f0127 --- /dev/null +++ b/root/etc/e-smith/templates/etc/xinetd.d/rsync/10config @@ -0,0 +1,15 @@ + +# KOOZALI SME SERVER : we run the rsyncd.service as a deamon, please do not use xinetd for rsync on demand +# default: off +# description: The rsync server is a good addition to an ftp server, as it # allows crc checksumming etc. +service rsync +\{ + disable = yes + socket_type = stream + wait = no + user = root + server = /usr/bin/rsync + server_args = --daemon + log_on_failure += USERID +\} + diff --git a/root/etc/rsyncd.motd b/root/etc/rsyncd.motd new file mode 100644 index 0000000..6821de4 --- /dev/null +++ b/root/etc/rsyncd.motd @@ -0,0 +1 @@ +Welcome ! diff --git a/root/usr/lib/systemd/system/rsyncd.service.d/51-koozali.conf b/root/usr/lib/systemd/system/rsyncd.service.d/51-koozali.conf new file mode 100644 index 0000000..aa4f147 --- /dev/null +++ b/root/usr/lib/systemd/system/rsyncd.service.d/51-koozali.conf @@ -0,0 +1,2 @@ +[Install] +WantedBy=sme-server.target diff --git a/smeserver-rsyncd.spec b/smeserver-rsyncd.spec new file mode 100644 index 0000000..2908941 --- /dev/null +++ b/smeserver-rsyncd.spec @@ -0,0 +1,97 @@ +%define name smeserver-rsyncd +%define version 1.0 +%define release 2 +Summary: SMEserver rpm for rsyncd +Name: %{name} +Version: %{version} +Release: %{release} +License: GNU GPL version 2 +URL: http://www.contribs.org +Distribution: SME Server +Group: SMEServer/addon +Source: %{name}-%{version}.tar.xz + +Packager: Jean-Philippe Pialasse +BuildRoot: /var/tmp/%{name}-%{version} +BuildArchitectures: noarch +BuildRequires: e-smith-devtools +Requires: e-smith-release >= 10 +AutoReqProv: no + + +%description +SMEserver rpm for setting up rsyncd + +%changelog +* Thu Oct 09 2025 cvs2git.sh aka Brian Read 1.0-2.sme +- Roll up patches and move to git repo [SME: 12338] + +* Thu Oct 09 2025 BogusDateBot +- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday, + by assuming the date is correct and changing the weekday. + +* Sat Apr 03 2021 Jean-Philippe Pialasse 1.0-1.sme +- initial build for SME 10 + + +%prep +%setup +#%patch1 -p1 + +%build +perl createlinks + + +%install +rm -rf $RPM_BUILD_ROOT +(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) +/sbin/e-smith/genfilelist $RPM_BUILD_ROOT > %{name}-%{version}-filelist +echo "%doc " >> %{name}-%{version}-filelist + +%clean +cd .. +rm -rf %{name}-%{version} + +%pre +%preun +%post +#new installs +if [ $1 = 1 ] ; then + /bin/touch /home/e-smith/db/dungog + +# DBS=`find /home/e-smith/db/navigation -type f -name "navigation.*"` +# for db in $DBS ; do +# /sbin/e-smith/db $db set dungog-rsync panel Description "Rsync" DescriptionWeight 4863 Heading "dungog.net" HeadingWeight 4000 2>/dev/null +# done +fi + +/bin/chmod 644 /etc/crontab +/etc/e-smith/events/actions/initialize-default-databases + +echo '' +echo 'Remote server syntax changed for secure transfers from dungog-rsync-1.2-4' +echo 'you now need to enter the user as well as the server' +echo 'this removes the requirement of having the same user on both servers' +echo 'but you may need to update your existing rules' +echo '' + + +%postun +#uninstalls +if [ $1 = 0 ] ; then + /sbin/e-smith/expand-template /etc/crontab + + /bin/rm -rf /usr/bin/dungogrsync-????? + +# DBS=`find /home/e-smith/db/navigation -type f -name "navigation.*"` +# for db in $DBS ; do +# /sbin/e-smith/db $db delete dungog-rsync 2>/dev/null +# done + +fi + +#&upgrades + + +%files -f %{name}-%{version}-filelist +%defattr(-,root,root)