Difference between pages "Portage Git Mirror" and "Talk:Subarches"

(Difference between pages)
(Pull from remote)
 
 
Line 1: Line 1:
=Setting up local git mirror =
+
{{Note|Editors: While this information is available in other places, such as Wikipedia, it often takes some time to study and cross-reference the various articles to get a good understanding of each type of sub-architecture, and this information generally isn't all collected neatly in one place. When possible, links to more detailed Wikipedia pages are provided. You are encouraged to help maintain this page as well as the Wikipedia articles referenced here.}}
  
This tutorial explains how to save bandwidth when several local computers need to pull updates from a single remote git repository.
 
  
== Use case ==
+
: because im about wrecked right now.... i think we should provide mirrors, causes was saying he was pulling @ 20k/s from build.funtoo.org [[User:Threesixes|Threesixes]] ([[User talk:Threesixes|talk]]) 12:11, January 11, 2015 (UTC)
 
+
http://ftp.osuosl.org/pub/funtoo/
This tutorial will be about hosting a local mirror of funtoo git based portage tree.
+
 
+
Following terms should be adapted
+
 
+
<table border="1">
+
<tr class="header">
+
<th align="left">Terms</th>
+
<th align="left">Definition</th>
+
</tr>
+
<tr class="odd">
+
<td align="left">git.lan</td>
+
<td align="left">The git-daemon local mirror host</td>
+
</tr>
+
<tr class="even">
+
<td align="left">localhost</td>
+
<td align="left">Any local host</td>
+
</tr>
+
<tr class="odd">
+
<td align="left">nobody</td>
+
<td align="left">Owner user of .git files</td>
+
</tr>
+
<tr class="even">
+
<td align="left">/home/git-mirrors</td>
+
<td align="left">Base path of git-daemon</td>
+
</tr>
+
</table>
+
 
+
== Local mirror ==
+
 
+
=== Git-daemon configuration ===
+
==== Prepare directories and get portage tree====
+
<console>
+
###i## mkdir /home/git-mirrors
+
###i## chown nobody /home/git-mirrors
+
###i## su -s /bin/sh nobody
+
$##bl## cd /home/git-mirrors
+
$##bl## git clone --mirror --bare git://github.com/funtoo/ports-2012.git portage.git
+
</console>
+
For a security reason we use a nobody user .
+
==== git-daemon configuration====
+
{{file|name=/etc/conf.d/git-daemon|desc=|body=
+
GITDAEMON_OPTS=--syslog --verbose --enable=receive-pack --export-all
+
GITDAEMON_OPTS=${GITDAEMON_OPTS} --base-path=/home/git-mirrors /home/git-mirrors
+
GIT_USER=nobody
+
GIT_GROUP=nobody
+
}}
+
 
+
====Service configuration====
+
To start daemon with a mirror machine boot add <code>git-daemon</code> to OpenRC's default runlevel
+
<console>
+
###i## rc-update add git-daemon default
+
</console>
+
To make changes start immediately just run <code>rc</code>
+
<console>
+
###i## rc
+
</console>
+
 
+
=== Pull from remote ===
+
 
+
Add the following to <code>/etc/cron.daily/funtoo-sync.sh</code>:
+
 
+
<pre>
+
#!/bin/sh
+
cd /home/git-mirrors/portage.git
+
su nobody -s "/bin/sh" -c "git pull"
+
</pre>
+
 
+
== Cloning from local git-daemon ==
+
 
+
Local clone from <code>git.lan</code>:
+
<console>
+
###i## mv /usr/portage /usr/portage.old
+
###i## git clone git://git.lan/portage.git /usr/portage
+
###i## cd /usr/portage
+
###i## git checkout funtoo.org
+
</console>
+
 
+
[[Category:HOWTO]]
+

Latest revision as of 12:11, January 11, 2015

Note

Editors: While this information is available in other places, such as Wikipedia, it often takes some time to study and cross-reference the various articles to get a good understanding of each type of sub-architecture, and this information generally isn't all collected neatly in one place. When possible, links to more detailed Wikipedia pages are provided. You are encouraged to help maintain this page as well as the Wikipedia articles referenced here.


because im about wrecked right now.... i think we should provide mirrors, causes was saying he was pulling @ 20k/s from build.funtoo.org Threesixes (talk) 12:11, January 11, 2015 (UTC)

http://ftp.osuosl.org/pub/funtoo/