#acl PaulHowarth:read,write,admin,revert,delete All:read
=== Monday 8th June 2009 ===
==== Fedora Project ====
* Cast my votes in the elections for F12 release name, FESCO, and the Board
* Updated `perl-Crypt-RSA` to 1.99 in Rawhide
==== Local Packages ====
* Updated `python-zope-interface` to buildreq `python-setuptools-devel` so that egg-info is generated
* Updated `perl-BerkeleyDB` to 0.39
Today I got started on a project that I've been meaning to implement for a very long time, namely
moving the repository source into a version control system.
I've chosen `subversion` for this, mainly because of my familiarity with it and also because there's
no need at this time to use a distributed VCS as I'm the only person likely to be making commits.
I'll also be able to use the very nice repository browser that comes with `trac` when I set up the
repository bug tracker (coming soon).
Anyway, here's what I did. The subversion repository is going to live on `subversion.city-fan.org`,
so I logged in there and became `root`, then did:
{{{
# yum install subversion mod_dav_svn
# mkdir -p /srv/subversion/repos
# chcon -R -t httpd_sys_content_rw_t /srv/subversion/repos
# chown apache:apache /srv/subversion/repos
# su - -s /bin/sh apache
$ svnadmin create --fs-type fsfs /srv/subversion/repos/cfo-repo
$ logout
# cd /srv/subversion/repos/cfo-repo/conf
# htpasswd -c htpasswd paul
(set my password)
# chgrp apache htpasswd
# chmod 640 htpasswd
# vi authz
# vi /etc/httpd/conf.d/subversion.conf
# service httpd reload
}}}
`/etc/httpd/conf.d/subversion.conf`:
{{{
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn". Each repository
# must be readable and writable by the 'apache' user. Note that if
# SELinux is enabled, the repositories must be labelled with a context
# which httpd can write to; this will happen by default for
# directories created in /var/www. Use "restorecon -R /var/www/svn"
# to label the repositories if upgrading from a previous release.
#
#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
# # cd /var/www/svn
# # svnadmin create stuff
# # chown -R apache.apache stuff
#
DAV svn
SVNParentPath /srv/subversion/repos
# Limit write permission to list of valid users.
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "City-Fan.Org Package Repository"
AuthUserFile /srv/subversion/repos/cfo-repo/conf/htpasswd
Require valid-user
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
}}}
`/srv/subversion/repos/cfo-repo/conf/authz`:
{{{
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the '$authenticated' token,
### - only anonymous users, using the '$anonymous' token,
### - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').
[groups]
svn-admin = paul
[/]
@svn-admin = rw
* = r
}}}
----