aboutsummaryrefslogtreecommitdiff
path: root/doc/rsync-repositories.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rsync-repositories.txt')
-rw-r--r--doc/rsync-repositories.txt103
1 files changed, 0 insertions, 103 deletions
diff --git a/doc/rsync-repositories.txt b/doc/rsync-repositories.txt
deleted file mode 100644
index 71799e5..0000000
--- a/doc/rsync-repositories.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-RSYNC REPOSITORIES
-=================================================================================
-
-RSYNC repositories are simple to serve and simple to use. In the repository
-directory, there needs to be a '.rsync' file that points to the remote of the
-repository. This is used in order to fetch changes from the upstream. '.rsync'
-file looks like this for the core repository:
-
- +--------------------------------------------------------------------------+
- | |
- | rsync://carbslinux.org/repo/core |
- | |
- +--------------------------------------------------------------------------+
-
-
-RSYNC repositories have some few distinctions when it comes to fetching them.
-Unlike GIT repositories, they don't have a defined "root" directory. When there
-are multiple repositories in a shared repository (such as the Carbs Linux and
-KISS Linux repositories), individual repositories need to have this '.rsync'
-file. This doesn't, however, slow down operations. Fetching from rsync
-repositories are still considerably faster and smaller.
-
-
-Setting up an rsync repository
----------------------------------------------------------------------------------
-
-Carbs Linux repositories automatically sync from the git repostitories and serve
-it through the rsync daemon. Here is a sample shell script that I use in order to
-sync repositories. Feel free to customize for your own use.
-
- +--------------------------------------------------------------------------+
- | |
- | #!/bin/sh |
- | HOSTNAME=rsync://carbslinux.org/repo |
- | GITDIR=/pub/git/repo |
- | SHAREDIR=/pub/share/repo |
- | |
- | git -C "$GITDIR" pull |
- | rsync -aC --delete --include=core --exclude=.rsync \ |
- | "$GITDIR/" "$SHAREDIR" |
- | |
- | for dir in "$SHAREDIR/"*; do |
- | [ -d "$dir" ] || continue |
- | [ -f "$dir/.rsync" ] || |
- | printf '%s/%s\n' "$HOSTNAME" "${dir##*/}" > "$dir/.rsync" |
- | done |
- | |
- +--------------------------------------------------------------------------+
-
-
-You can then create an 'rsync' user for serving the repositories.
-
- +--------------------------------------------------------------------------+
- | |
- | $ adduser -SD rsync |
- | |
- +--------------------------------------------------------------------------+
-
-
-Create '/etc/rsyncd.conf' and a service configuration as well.
-
- +--------------------------------------------------------------------------+
- | /etc/rsyncd.conf |
- +--------------------------------------------------------------------------+
- | |
- | uid = rsync |
- | gid = rsync |
- | address = example.com |
- | max connections = 10 |
- | use chroot = yes |
- | |
- | [repo] |
- | path = /pub/share/repo |
- | comment = My Repository |
- | |
- +--------------------------------------------------------------------------+
-
-Create a service file:
-
- +--------------------------------------------------------------------------+
- | /etc/sysmgr/rsync or /etc/sv/rsync/run |
- +--------------------------------------------------------------------------+
- | |
- | #!/bin/sh |
- | exec rsync --daemon --no-detach |
- | |
- +--------------------------------------------------------------------------+
-
-
-Switching to an rsync repository
----------------------------------------------------------------------------------
-
-It is considerably easy to switch to the Carbs Linux rsync repository.
-
- +--------------------------------------------------------------------------+
- | |
- | $ mkdir -p /path/to/repo |
- | $ rsync -az rsync://carbslinux.org/repo/ /path/to/repo |
- | |
- +--------------------------------------------------------------------------+
-
-This will fetch the repository to the given location, you can then add it to your
-$CPT_PATH.