Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 336580

Summary: how to set up a server for emerge-delta-webrsync?
Product: Mirrors Reporter: Arsen Shnurkov <Arsen.Shnurkov>
Component: Feature RequestAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: jer, mgorny, pchrist, xmw
Priority: Lowest    
Version: unspecified   
Hardware: All   
OS: Linux   
URL: http://www.gentoo-wiki.info/TIP_Gentoo_for_dialup_users
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: bash script which creates snapshots and deltas
python script that snapshots-create.sh uses
shell script called by cron every minute to create datestamp files
script that generates the rsync tree (calls egencache and more)

Description Arsen Shnurkov 2010-09-09 10:40:23 UTC
How to setup main portage tree mirror,
which will be available for clients behind the firewall ?
Comment 1 Michael Weber (RETIRED) gentoo-dev 2010-09-17 08:09:54 UTC
It's easy and there were to parts:

1) Main Tree Mirror, just have an machine with a full portage tree and pulish this via rsyncd http://www.gentoo.org/doc/en/rsync.xml#doc_chap2 and configure it as SYNC='' in make.conf

2) Mirror any portage distfile mirror (rsync -a --delete <remote site>) near to you and publish this with any web/ftp server like lighttpd or apache and configure it as GENTOO_MIRROR= in you local clients make.conf.
http://www.gentoo.org/doc/en/source_mirrors.xml

Do you need more documentation? Feel free to reopen.
Comment 2 Arsen Shnurkov 2010-09-17 09:04:41 UTC
1) mirroring through rsync is not an option, because rsync uses different port then HTTP, it can even work through ssh, but ssh is not HTTP either.

2) It is ok, but the question was about server part of emerge-delta-webrsync
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2010-09-21 18:25:47 UTC
Is that more specifically what you are looking to ask?
Comment 4 Arsen Shnurkov 2010-09-22 00:10:34 UTC
> Is that more specifically what you are looking to ask?

К сожалению, мне не хватает уровня знания языка, чтобы полностью понять этот вопрос, либо внятно задать свой.

I want to know how to set up server part of  emerge-delta-webrsync.
Not sure, that I understood your question.
Comment 5 Jeroen Roovers (RETIRED) gentoo-dev 2010-09-22 17:30:21 UTC
(In reply to comment #4)
> К сожалению, мне не хватает уровня знания
> языка, чтобы полностью понять этот вопрос,
> либо внятно задать свой.

Could you please stick to English or not use this bug tracker at all?

> Not sure, that I understood your question.

I updated the Summary field of this bug report with a more specific question and asked in the appended comment if that was the kind of question you had hoped to see answered.
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-09-22 21:36:47 UTC
I guess that if it's only about mirroring gx86, a solution might be to create a partial distfiles mirror, mirroring only portage-*.
Comment 7 Jeroen Roovers (RETIRED) gentoo-dev 2010-10-05 17:05:42 UTC
app-portage/emerge-delta-webrsync being the client, I guess its maintainer might know more.
Comment 8 Zac Medico gentoo-dev 2010-10-05 23:01:16 UTC
Created attachment 249686 [details]
bash script which creates snapshots and deltas

This is the script that we use to create snapshots and deltas on our master rsync mirror. The 'differ' program comes from the dev-util/diffball package.

The egencache program, which is included with portage, is used to generate the cache for the portage tree that is located at /home/gmirror/rsync in this script. The egencache --rsync option is important if you are sharing the tree via rsync.
Comment 9 Zac Medico gentoo-dev 2010-10-05 23:08:11 UTC
Created attachment 249688 [details]
python script that snapshots-create.sh uses

This removes deltas that are obsolete since size of the deltas you'd have to download would be larger than downloading the latest whole snapshot.
Comment 10 Zac Medico gentoo-dev 2010-10-05 23:10:42 UTC
Created attachment 249690 [details]
shell script called by cron every minute to create datestamp files
Comment 11 Zac Medico gentoo-dev 2010-10-05 23:20:07 UTC
Created attachment 249692 [details]
script that generates the rsync tree (calls egencache and more)
Comment 12 Jeroen Roovers (RETIRED) gentoo-dev 2010-10-11 20:33:34 UTC
@Zac: Can you call in the docs cavalry to possibly have this merged into the Gentoo mirrors documentation?
Comment 13 Zac Medico gentoo-dev 2010-10-26 15:40:06 UTC
I'm not sure if this is really a documentation issue. It might be better to provide a tool that handles the whole cvs -> rsync process.
Comment 14 Zac Medico gentoo-dev 2010-10-26 15:42:40 UTC
Well, it's really two tools that are needed. One for cvs -> rsync and another for snapshots/deltas.
Comment 15 Panagiotis Christopoulos (RETIRED) gentoo-dev 2010-11-20 19:55:35 UTC
This can't stay more in the bug-wranglers queue. @mirror-admin, guys, I hope I don't bother you. Reassign it accordingly if it's not for you.
Comment 16 Zac Medico gentoo-dev 2010-12-23 20:32:36 UTC
(In reply to comment #14)
> Well, it's really two tools that are needed. One for cvs -> rsync and another
> for snapshots/deltas.

We can add these as new actions for egencache.
Comment 17 Zac Medico gentoo-dev 2010-12-23 20:44:41 UTC
Possible new egencache options:

--sync: complete sync from one or more source vcs repositories to a target rsync repository

--snapshot: create tarball of rsync repository and output snapshots for all configured compression types (such as bz2 and lzma).

--snapshot-delta: create deltas between tarball and output deltas for all configured compression types