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
#
<Location /repos>
DAV svn
SVNParentPath /srv/subversion/repos
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# 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
</LimitExcept>
</Location>
<Directory "/srv/subversion/repos">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>/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