Gentoo Archives: gentoo-user

From: Florian Philipp <f.philipp@××××××.de>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Setting up a local portage/rsync mirror on OpenBSD
Date: Fri, 26 Oct 2007 10:11:17
Message-Id: 4721BBE7.3040806@addcom.de
In Reply to: Re: [gentoo-user] Setting up a local portage/rsync mirror on OpenBSD by Samuel Baldwin
1 Samuel Baldwin schrieb:
2 >> I don't use OpenBSD but I can assure you that there is nothing special
3 >> about portage's usage of rsync. Every howto about rsync servers and BSD
4 >> should work. Just look into the script for settings like recursion and
5 >> compression.
6 >
7 > Well, I mean't every gentoo one says emerge --sync, I was wondering
8 > what commands I could run/throw into a script to grab exactly what I
9 > want. Also, how would I get rsync to download/sync to a different
10 > location (upstream syncing, not syncing with local clients), such as
11 > /mnt/srv/portage/ or whatnot.
12 >
13 >> You can choose every directory you want. In fact, it's even better to
14 >> use another one so you don't need to exclude /usr/portage/distfiles and
15 >> /usr/portage/packages.
16 >
17 > Awesome.
18 >
19 > Thanks,
20
21 I've taken a look into /usr/bin/emerge. There I've found these default
22 settings for rsync:
23
24 "--recursive", # Recurse directories
25 "--links", # Consider symlinks
26 "--safe-links", # Ignore links
27 outside of tree
28 "--perms", # Preserve permissions
29 "--times", # Preserive mod times
30 "--compress", # Compress the data
31 transmitted
32 "--force", # Force deletion on
33 non-empty dirs
34 "--whole-file", # Don't do block
35 transfers, only entire files
36 "--delete", # Delete files that
37 aren't in the master tree
38 "--delete-after", # Delete only after
39 everything else is done
40 "--stats", # Show final
41 statistics about what was transfered
42 "--timeout="+str(mytimeout), # IO
43 timeout if not done in X seconds
44 "--exclude=/distfiles", # Exclude
45 distfiles from consideration
46 "--exclude=/local", # Exclude
47 local from consideration
48 "--exclude=/packages", # Exclude
49 packages from consideration
50 "--filter=H_**/files/digest-*", #
51 Exclude manifest1 digests and delete on the receiving side
52
53
54 Using these options to sync to a gentoo rsync mirror should give you a
55 very basic emerge --sync. Since you don't use portage on the BSD machine
56 you don't need to update caches etc. However, you will still get an
57 error when syncing your clients because you don't update the server
58 timestamp.
59
60 Normally you can still sync by erasing the client's timestamp but I've
61 only tested this with existing but outdated timestamps. I don't know how
62 emerge handles missing timestamps.
63
64 I'm no expert in portage, python or rsync so I can't guarantee you that
65 what I tell you works.
66
67 By the way: Couldn't you just install portage on OpenBSD? Since it's
68 just python code it should work and if you don't actually emerge
69 something it shouldn't interfere with your normal package manager.
70 I think there is even official documentation how to reinstall portage
71 manually without extracting a stage3.
72 --
73 gentoo-user@g.o mailing list