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 |