aboutsummaryrefslogtreecommitdiff
path: root/docs/docs/Rsync-Repositories.html
blob: a076d9ba1cbecc3c9af6a7884e3030f23381f674 (plain)
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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2020 Cem Keylan

Licensed under 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="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> &nbsp; </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 &rsquo;.rsync&rsquo; file that points to the remote of the
repository. This is used in order to fetch changes from the upstream. &rsquo;.rsync&rsquo;
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 &ldquo;root&rdquo;. 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&rsquo;t have a defined &ldquo;root&rdquo; 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&rsquo;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">&bull; <a href="Setting-up-an-rsync-repository-for-distribution.html" accesskey="1">Setting up an rsync repository for distribution</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
</td></tr>
</table>




</body>
</html>