* Re: [gentoo-user] Setting up a local portage/rsync mirror on OpenBSD
2007-10-25 22:35 ` Samuel Baldwin
@ 2007-10-26 10:05 ` Florian Philipp
0 siblings, 0 replies; 3+ messages in thread
From: Florian Philipp @ 2007-10-26 10:05 UTC (permalink / raw
To: gentoo-user
Samuel Baldwin schrieb:
>> I don't use OpenBSD but I can assure you that there is nothing special
>> about portage's usage of rsync. Every howto about rsync servers and BSD
>> should work. Just look into the script for settings like recursion and
>> compression.
>
> Well, I mean't every gentoo one says emerge --sync, I was wondering
> what commands I could run/throw into a script to grab exactly what I
> want. Also, how would I get rsync to download/sync to a different
> location (upstream syncing, not syncing with local clients), such as
> /mnt/srv/portage/ or whatnot.
>
>> You can choose every directory you want. In fact, it's even better to
>> use another one so you don't need to exclude /usr/portage/distfiles and
>> /usr/portage/packages.
>
> Awesome.
>
> Thanks,
I've taken a look into /usr/bin/emerge. There I've found these default
settings for rsync:
"--recursive", # Recurse directories
"--links", # Consider symlinks
"--safe-links", # Ignore links
outside of tree
"--perms", # Preserve permissions
"--times", # Preserive mod times
"--compress", # Compress the data
transmitted
"--force", # Force deletion on
non-empty dirs
"--whole-file", # Don't do block
transfers, only entire files
"--delete", # Delete files that
aren't in the master tree
"--delete-after", # Delete only after
everything else is done
"--stats", # Show final
statistics about what was transfered
"--timeout="+str(mytimeout), # IO
timeout if not done in X seconds
"--exclude=/distfiles", # Exclude
distfiles from consideration
"--exclude=/local", # Exclude
local from consideration
"--exclude=/packages", # Exclude
packages from consideration
"--filter=H_**/files/digest-*", #
Exclude manifest1 digests and delete on the receiving side
Using these options to sync to a gentoo rsync mirror should give you a
very basic emerge --sync. Since you don't use portage on the BSD machine
you don't need to update caches etc. However, you will still get an
error when syncing your clients because you don't update the server
timestamp.
Normally you can still sync by erasing the client's timestamp but I've
only tested this with existing but outdated timestamps. I don't know how
emerge handles missing timestamps.
I'm no expert in portage, python or rsync so I can't guarantee you that
what I tell you works.
By the way: Couldn't you just install portage on OpenBSD? Since it's
just python code it should work and if you don't actually emerge
something it shouldn't interfere with your normal package manager.
I think there is even official documentation how to reinstall portage
manually without extracting a stage3.
--
gentoo-user@gentoo.org mailing list
^ permalink raw reply [flat|nested] 3+ messages in thread