TIP Sync your private overlay
From Gentoo Linux Wiki
| Terminals / Shells • Network • X Window System • Portage • System • Filesystems • Kernel • Other |
Contents |
[edit] Motivation
Portage provides the possibility of maintaining private overlays which is a great way for incorporating self-written, modified or third-party ebuilds into the package management. However, if you have more than one Gentoo box, you will likely want to keep your private overlay in sync between them.
[edit] Rsyncd
Considering the existence of more than one Gentoo box at your site you should already have set up a local rsync mirror except you're running a fully fledged rsync mirror or have your /usr/portage exported by NFS (in the latter case you should really consider accessing your overlay(s) through NFS as well).
Add one or more modules adjusted for your overlay(s) to your /etc/rsyncd.conf on your mirror machine:
| File: /etc/rsyncd.conf |
[private-overlay] path = /usr/local/portage comment = My very own private overlay exclude = /cross-* |
| Shell: Restart the rsync daemon |
/etc/init.d/rsyncd restart |
[edit] Layman
Layman is a very useful python script for retrieving and managing Gentoo overlays on your system.
| Shell: Install layman |
emerge -av layman |
Create a list of your custom portage overlays. If you will be syncing more than one other system, it might be more convenient to upload this to a web server.
| File: /usr/portage/local/layman/my-list.xml |
<?xml version="1.0" ?>
<layman>
<overlay
type = "rsync"
src = "rsync://server.com/private-overlay"
contact = "you@email.com"
name = "private-overlay">
<link>
http://optional-website.com/
</link>
<description>optional custom description</description>
</overlay>
</layman>
|
Now edit your layman config file. Scroll down to the overlays section and add your new list file under the default.
| File: /etc/layman/layman.cfg |
overlays : http://www.gentoo.org/proj/en/overlays/layman-global.txt
file:///usr/portage/local/layman/my-list.xml
|
Download and setup the overlay using the value that you set for name= in my-list.xml. In this case it is private-overlay. Lastly, make a small addition to make.conf so portage can find the new overlay directory.
| Shell: Sync up and Modify make.conf |
layman -a private-overlay echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf |
If you want to re-sync your custom overlay after you have made changes on your rsync server, run this command
| Shell: Sync |
layman -S |
