Author: sandervanderburg
Date: Mon Dec 20 13:29:50 2010
New Revision: 25210
URL: https://svn.nixos.org/websvn/nix/?rev=25210&sc=1
Log:
Added subversion-repository type
Added:
disnix/disnix-activation-scripts/trunk/activation-scripts/subversion-repository.in
disnix/disnix-activation-scripts/trunk/tests/deployment/subversion-repository.nix
disnix/disnix-activation-scripts/trunk/tests/services/subversion-repository/
disnix/disnix-activation-scripts/trunk/tests/services/subversion-repository/testrepos.dump
Modified:
disnix/disnix-activation-scripts/trunk/activation-scripts/Makefile.am
disnix/disnix-activation-scripts/trunk/configure.ac
disnix/disnix-activation-scripts/trunk/release.nix
Modified: disnix/disnix-activation-scripts/trunk/activation-scripts/Makefile.am
==============================================================================
--- disnix/disnix-activation-scripts/trunk/activation-scripts/Makefile.am
Mon Dec 20 12:18:37 2010 (r25209)
+++ disnix/disnix-activation-scripts/trunk/activation-scripts/Makefile.am
Mon Dec 20 13:29:50 2010 (r25210)
@@ -24,9 +24,12 @@
tomcat_webapplication = tomcat-webapplication
endif
+if have_subversion
+ subversion_repository = subversion-repository
+endif
# Build settings
-libexec_SCRIPTS = echo process nixos-configuration wrapper
$(apache_webapplication) $(axis2_webservice) $(ejabberd_dump) $(mysql_database)
$(tomcat_webapplication) $(postgresql_database)
+libexec_SCRIPTS = echo process nixos-configuration wrapper
$(apache_webapplication) $(axis2_webservice) $(ejabberd_dump) $(mysql_database)
$(tomcat_webapplication) $(postgresql_database) $(subversion_repository)
-EXTRA_DIST = apache-webapplication axis2-webservice.in echo ejabberd-dump.in
mysql-database.in process nixos-configuration tomcat-webapplication.in wrapper
postgresql-database.in
+EXTRA_DIST = apache-webapplication axis2-webservice.in echo ejabberd-dump.in
mysql-database.in process nixos-configuration tomcat-webapplication.in wrapper
postgresql-database.in subversion-repository.in
Added:
disnix/disnix-activation-scripts/trunk/activation-scripts/subversion-repository.in
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++
disnix/disnix-activation-scripts/trunk/activation-scripts/subversion-repository.in
Mon Dec 20 13:29:50 2010 (r25210)
@@ -0,0 +1,24 @@
+#!/bin/bash -e
+
+case "$1" in
+ # Imports a Subversion dump
+ activate)
+ componentName=`basename $2`
+ repositoryName=${componentName:33}
+
+ if [ ! -e $svnBaseDir/$repositoryName ]
+ then
+ mkdir -p $svnBaseDir
+
+ @svnadmin@ create $svnBaseDir/$repositoryName
+ cat $2/subversion-repositories/* | @svnadmin@ load
$svnBaseDir/$repositoryName
+
+ chgrp -R $svnGroup $svnBaseDir/$repositoryName
+ chmod -R g+w $svnBaseDir/$repositoryName
+ chmod g+s $svnBaseDir/$repositoryName/db
+ fi
+ ;;
+ deactivate)
+ # Does nothing, because we do not want to lose our SVN data
+ ;;
+esac
Modified: disnix/disnix-activation-scripts/trunk/configure.ac
==============================================================================
--- disnix/disnix-activation-scripts/trunk/configure.ac Mon Dec 20 12:18:37
2010 (r25209)
+++ disnix/disnix-activation-scripts/trunk/configure.ac Mon Dec 20 13:29:50
2010 (r25210)
@@ -14,6 +14,7 @@
AC_ARG_WITH([mysql], AS_HELP_STRING([--without-mysql], [Ignore presence of
MySQL and disable it]))
AC_ARG_WITH([postgresql], AS_HELP_STRING([--without-postgresql], [Ignore
presence of PostgreSQL and disable it]))
AC_ARG_WITH([tomcat], AS_HELP_STRING([--with-tomcat], [Enable Apache Tomcat
activation script and specifies location of the Apache Tomcat base directory]))
+AC_ARG_WITH([subversion], AS_HELP_STRING([--with-subversion], [Enable
subversion repository activation script]))
# Define environment variable options
AC_ARG_WITH(CATALINA_HOME, [Location of the Apache Tomcat Catalina servlet
container])
@@ -41,6 +42,9 @@
AS_IF([test "x$with_postgresql" != "xno"],
[AC_PATH_PROG(psql, psql)])
+AS_IF([test "x$with_subversion" != "xno"],
+ [AC_PATH_PROG(svnadmin, svnadmin)])
+
AS_IF([test "x$with_tomcat" != "x" && test "x$with_tomcat" != "xno" || test
"x$CATALINA_HOME" != "x"],
[have_tomcat=yes],
[have_tomcat=no])
@@ -52,6 +56,7 @@
AM_CONDITIONAL(have_mysql, [test x$mysql != "x"])
AM_CONDITIONAL(have_postgresql, [test x$psql != "x"])
AM_CONDITIONAL(have_tomcat, [test x$have_tomcat != "xno"])
+AM_CONDITIONAL(have_subversion, [test x$svnadmin != "x"])
# CATALINA_BASE setting
@@ -77,7 +82,10 @@
AS_IF([test "x$have_tomcat" != "xno"],
[tomcat_webapplication=activation-scripts/tomcat-webapplication])
-
+
+AS_IF([test "x$svnadmin" != "x"],
+ [subversion_repository=activation-scripts/subversion-repository])
+
AC_CONFIG_FILES([
Makefile
activation-scripts/Makefile
@@ -86,5 +94,6 @@
$mysql_database
$postgresql_database
$tomcat_webapplication
+$subversion_repository
])
AC_OUTPUT
Modified: disnix/disnix-activation-scripts/trunk/release.nix
==============================================================================
--- disnix/disnix-activation-scripts/trunk/release.nix Mon Dec 20 12:18:37
2010 (r25209)
+++ disnix/disnix-activation-scripts/trunk/release.nix Mon Dec 20 13:29:50
2010 (r25210)
@@ -27,6 +27,7 @@
, enableMySQLDatabase ? false
, enablePostgreSQLDatabase ? false
, enableTomcatWebApplication ? false
+ , enableSubversionRepository ? false
, catalinaBaseDir ? "/var/tomcat"
}:
@@ -49,12 +50,14 @@
${if enableMySQLDatabase then "--with-mysql" else "--without-mysql"}
${if enablePostgreSQLDatabase then "--with-postgresql" else
"--without-postgresql"}
${if enableTomcatWebApplication then
"--with-tomcat=${catalinaBaseDir}" else "--without-tomcat"}
+ ${if enableSubversionRepository then "--with-subversion" else
"--without-subversion"}
'';
buildInputs = []
++ stdenv.lib.optional enableEjabberdDump ejabberd
++ stdenv.lib.optional enableMySQLDatabase mysql
- ++ stdenv.lib.optional enablePostgreSQLDatabase
postgresql;
+ ++ stdenv.lib.optional enablePostgreSQLDatabase postgresql
+ ++ stdenv.lib.optional enableSubversionRepository
subversion;
};
tests =
@@ -71,6 +74,7 @@
enableMySQLDatabase = true;
enablePostgreSQLDatabase = true;
enableTomcatWebApplication = true;
+ enableSubversionRepository = true;
};
# Test services
@@ -106,6 +110,10 @@
ejabberd_dump = import ./tests/deployment/ejabberd-dump.nix {
inherit stdenv;
};
+
+ subversion_repository = import
./tests/deployment/subversion-repository.nix {
+ inherit stdenv;
+ };
in
with import "${nixos}/lib/testing.nix" { inherit nixpkgs; system =
"x86_64-linux"; services = null; };
@@ -240,6 +248,15 @@
$machine->mustSucceed("${disnix_activation_scripts}/libexec/disnix/activation-scripts/ejabberd-dump
activate ${ejabberd_dump}");
$machine->mustSucceed("curl --fail --user admin:admin
http://localhost:5280/admin");
$machine->mustSucceed("${disnix_activation_scripts}/libexec/disnix/activation-scripts/ejabberd-dump
deactivate ${ejabberd_dump}");
+
+ # Test subversion activation script. We import a repository
+ # then we do a checkout and see whether it succeeds.
+ # This test should succeed.
+
+ $machine->mustSucceed("svnBaseDir=/repos svnGroup=users
${disnix_activation_scripts}/libexec/disnix/activation-scripts/subversion-repository
activate ${subversion_repository}");
+ $machine->mustSucceed("${subversion}/bin/svn co
file:///repos/testrepos");
+ $machine->mustSucceed("[ -e testrepos/index.php ]");
+ $machine->mustSucceed("svnBaseDir=/repos svnGroup=users
${disnix_activation_scripts}/libexec/disnix/activation-scripts/subversion-repository
deactivate ${subversion_repository}");
'';
};
};
Added:
disnix/disnix-activation-scripts/trunk/tests/deployment/subversion-repository.nix
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++
disnix/disnix-activation-scripts/trunk/tests/deployment/subversion-repository.nix
Mon Dec 20 13:29:50 2010 (r25210)
@@ -0,0 +1,11 @@
+{stdenv}:
+
+stdenv.mkDerivation {
+ name = "testrepos";
+ src = ../services/subversion-repository;
+ buildCommand =
+ ''
+ ensureDir $out/subversion-repositories
+ cp $src/*.dump $out/subversion-repositories
+ '';
+}
Added:
disnix/disnix-activation-scripts/trunk/tests/services/subversion-repository/testrepos.dump
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++
disnix/disnix-activation-scripts/trunk/tests/services/subversion-repository/testrepos.dump
Mon Dec 20 13:29:50 2010 (r25210)
@@ -0,0 +1,47 @@
+SVN-fs-dump-format-version: 2
+
+UUID: 56115d86-0c35-11e0-9b14-257dd1a9621a
+
+Revision-number: 0
+Prop-content-length: 56
+Content-length: 56
+
+K 8
+svn:date
+V 27
+2010-12-20T12:33:23.798885Z
+PROPS-END
+
+Revision-number: 1
+Prop-content-length: 117
+Content-length: 117
+
+K 7
+svn:log
+V 16
+Initial import
+
+
+K 10
+svn:author
+V 6
+sander
+K 8
+svn:date
+V 27
+2010-12-20T12:37:27.779937Z
+PROPS-END
+
+Node-path: index.php
+Node-kind: file
+Node-action: add
+Prop-content-length: 10
+Text-content-length: 32
+Text-content-md5: 18cd915a26a59c4f2bffeefe005ae6ac
+Text-content-sha1: fe0b47dfb08611e934d84776a580bba67557ddd0
+Content-length: 42
+
+PROPS-END
+<?php print("Hello World!"); ?>
+
+
_______________________________________________
nix-commits mailing list
[email protected]
http://mail.cs.uu.nl/mailman/listinfo/nix-commits