/var/paludis/repositories/gentoo/dev-util/subversion/filesory already exists and I will not overwrite it." echo "Delete \"${ROOT}${SVN_REPOS_LOC}/repos\" first if you're sure you want to have a clean version." else mkdir -p "${ROOT}${SVN_REPOS_LOC}/conf" einfo ">>> Populating repository directory ..." # Create initial repository. "${ROOT}usr/bin/svnadmin" create "${ROOT}${SVN_REPOS_LOC}/repos" einfo ">>> Setting repository permissions ..." SVNSERVE_USER="$(. "${ROOT}etc/conf.d/svnserve" ; echo "${SVNSERVE_USER}")" SVNSERVE_GROUP="$(. "${ROOT}etc/conf.d/svnserve" ; echo "${SVNSERVE_GROUP}")" if use apache2 ; then [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="apache" [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="apache" else [[ -z "${SVNSERVE_USER}" ]] && SVNSERVE_USER="svn" [[ -z "${SVNSERVE_GROUP}" ]] && SVNSERVE_GROUP="svnusers" enewgroup "${SVNSERVE_GROUP}" enewuser "${SVNSERVE_USER}" -1 -1 "${SVN_REPOS_LOC}" "${SVNSERVE_GROUP}" fi chown -Rf "${SVNSERVE_USER}:${SVNSERVE_GROUP}" "${ROOT}${SVN_REPOS_LOC}/repos" chmod -Rf go-rwx "${ROOT}${SVN_REPOS_LOC}/conf" chmod -Rf o-rwx "${ROOT}${SVN_REPOS_LOC}/repos" fi } {SVN_REPOS_LOC}:" elog elog " emerge --config =${CATEGORY}/${PF}" elog elog "Subversion has multiple server types, take your pick:" elog elog " - svnserve daemon: " elog " 1. Edit /etc/conf.d/svnserve" elog " 2. Fix the repository permissions (see \"Fixing the repository permissions\")" elog " 3. Start daemon: /etc/init.d/svnserve start" elog " 4. Make persistent: rc-update add svnserve default" elog elog " - svnserve via xinetd:" elog " 1. Edit /etc/xinetd.d/svnserve (remove disable line)" elog " 2. Fix the repository permissions (see \"Fixing the repository permissions\")" elog " 3. Restart xinetd.d: /etc/init.d/xinetd restart" elog elog " - svn over ssh:" elog " 1. Fix the repository permissions (see \"Fixing the repository permissions\")" elog " Additionally run:" elog " groupadd svnusers" elog " chown -R root:svnusers ${SVN_REPOS_LOC}/repos" elog " 2. Create an svnserve wrapper in /usr/local/bin to set the umask you" elog " want, for example:" elog " #!/bin/bash" elog " . /etc/conf.d/svnserve" elog " umask 007" elog " exec /usr/bin/svnserve \${SVNSERVE_OPTS} \"\$@\"" elog if use apache2; then elog " - http-based server:" elog " 1. Edit /etc/conf.d/apache2 to include both \"-D DAV\" and \"-D SVN\"" elog " 2. Create an htpasswd file:" elog " htpasswd2 -m -c ${SVN_REPOS_LOC}/conf/svnusers USERNAME" elog " 3. Fix the repository permissions (see \"Fixing the repository permissions\")" elog " 4. Restart Apache: /etc/init.d/apache2 restart" elog fi elog " Fixing the repository permissions:" elog " chmod -Rf go-rwx ${SVN_REPOS_LOC}/conf" elog " chmod -Rf g-w,o-rwx ${SVN_REPOS_LOC}/repos" elog " chmod -Rf g+rw ${SVN_REPOS_LOC}/repos/db" elog " chmod -Rf g+rw ${SVN_REPOS_LOC}/repos/locks" elog elog "If you intend to use svn-hot-backup, you can specify the number of" elog "backups to keep per repository by specifying an environment variable." elog "If you want to keep e.g. 2 backups, do the following:" elog "echo '# hot-backup: Keep that many repository backups around' > /etc/env.d/80subversion" elog "echo 'SVN_HOTBACKUP_BACKUPS_NUMBER=2' >> /etc/env.d/80subversion" elog if [[ -n "${CHANGED_BDB_VERSION}" ]] ; then ewarn "You upgraded from an older version of Berkeley DB and may experiencep