1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2020 Cem Keylan
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU Free
Documentation License." -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Rsync Repositories (Carbs Linux User Manual)</title>
<meta name="description" content="Rsync Repositories (Carbs Linux User Manual)">
<meta name="keywords" content="Rsync Repositories (Carbs Linux User Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Package-Manager.html" rel="up" title="Package Manager">
<link href="Setting-up-an-rsync-repository-for-distribution.html" rel="next" title="Setting up an rsync repository for distribution">
<link href="Packaging-System.html" rel="prev" title="Packaging System">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<span id="Rsync-Repositories"></span><div class="header">
<p>
Previous: <a href="Packaging-System.html" accesskey="p" rel="prev">Packaging System</a>, Up: <a href="Package-Manager.html" accesskey="u" rel="up">Package Manager</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
<hr>
<span id="Rsync-Repositories-1"></span><h3 class="section">2.5 Rsync Repositories</h3>
<p>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:
</p>
<div class="example">
<pre class="example">rsync://carbslinux.org/repo/core
</pre></div>
<p>Rsync repositories have some few distinctions when it comes to fetching them.
They can be either synced individually or as a “root”. There are 2 important
files, those are <samp>.rsync</samp> and <samp>.rsync_root</samp>. Here is the Carbs Linux
rsync repository structure.
</p>
<div class="example">
<pre class="example"> /
-----------------
| |
.rsync core/
----------------
| |
.rsync .rsync_root
</pre></div>
<p>Unlike git repositories, they don’t have a defined “root” directory. This is
both an advantage and a disadvantage. This way, we can sync individual
repositories, but that also means we need extra files to define root directories
and repository locations. Here is the content for each of these files:
</p>
<div class="example">
<pre class="example">/.rsync: rsync://carbslinux.org/repo
/core/.rsync: rsync://carbslinux.org/repo/core
/core/.rsync_root: ..
</pre></div>
<p>The <samp>.rsync_root</samp> file on the core repository points to the upper directory.
If a <samp>.rsync</samp> file exists on the upper directory, this means that is the whole
repository and will sync the entire repository instead of each individual repository.
</p>
<p>If the upper directory doesn’t have this <samp>.rsync</samp> file, this means that this
is an individual repository, and the package manager will fetch accordingly.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">• <a href="Setting-up-an-rsync-repository-for-distribution.html" accesskey="1">Setting up an rsync repository for distribution</a></td><td> </td><td align="left" valign="top">
</td></tr>
</table>
</body>
</html>
|