CRUX : Home

Home :: Documentation :: Download :: Development :: Community :: Wiki :: Ports :: Bugs :: Links :: About

Back to wiki start page

Categories: Ports

How to set up an rsync repository

Author

Jose V Beneyto

Description

This article describes how to publish ports using rsync

Instructions

Prerequisites

Read SettingUpAnHttpupRepo to get an idea about publishing a ports repository.

Configure the rsync daemon

 #
 # /etc/rsyncd.conf
 #

 pid file = /var/run/rsyncd.pid
 log file = /var/log/rsyncd.log

 # crux ports
 [ports]
   path = /var/www/htdocs/crux/ports   # base path for ports
   read only = true
   exclude = .svn*  # subversion metainfo
   exclude = CVS*   # cvs metainfo
   # exclude = .html

 # End of file

/etc/rsyncd.conf: Configuration file for rsync daemon
See rsync(1) and rsyncd.conf(5) man pages for help

Creating an rsync file

Next, to allow the ports utility to easily sync your ports, create a rsync collection definition; it looks like this:

 #
 # /etc/ports/<shortname>.rsync: <Your name's>'s port collection
 #

 host=<your-host.domain>
 collection=<rync location>/
 destination=/usr/ports/<shortname>

 # End of file

replace <shortname> with a nickname for your collection, and <Your name> with your full name. My collection definition looks like this: (note that I'm using 'sepen' subdirectory to place my private collection)

 #
 # /etc/ports/sepen.rsync: Jose V Beneyto's port collection
 #

 host=mikeux.dyndns.org
 collection=ports/sepen/
 destination=/usr/ports/sepen

 # End of file

Add more private collections

Maybe you want to have another rsync based repository. You can do it easily by keeping the same rsyncd.conf.

 #
 # /etc/ports/xfce46.rsync: Development xfce's port collection
 #

 host=mikeux.dyndns.org
 collection=ports/xfce46/
 destination=/usr/ports/xfce46

 # End of file