mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-19 02:44:17 +03:00
svn path=/nixos/trunk/; revision=10689
This commit is contained in:
parent
b9d01830d3
commit
ffd96f07fe
102
upstart-jobs/apache-httpd/dist-manager.nix
Normal file
102
upstart-jobs/apache-httpd/dist-manager.nix
Normal file
@ -0,0 +1,102 @@
|
||||
{config, pkgs, serverInfo}:
|
||||
|
||||
let
|
||||
|
||||
inherit (pkgs.lib) mkOption;
|
||||
|
||||
urlPrefix = "/release";
|
||||
distDir = "/tmp/dist";
|
||||
distConfDir = "/tmp/dist-conf";
|
||||
|
||||
staticFiles = substituteInAll {
|
||||
name = "svn-server-scripts";
|
||||
src = pkgs.lib.cleanSource ../../../services/dist-manager/files;
|
||||
|
||||
perl = "${pkgs.perl}/bin/perl";
|
||||
|
||||
inherit (serverInfo) canonicalName;
|
||||
|
||||
inherit urlPrefix;
|
||||
|
||||
defaultPath = ""; # !!!
|
||||
|
||||
# Do a syntax check on the generated file.
|
||||
postInstall = ''
|
||||
$perl -c $out/cgi-bin/create-dist.pl # !!! should use -T
|
||||
'';
|
||||
};
|
||||
|
||||
# !!! cut&paste
|
||||
substituteInAll = args: pkgs.stdenvUsingSetupNew2.mkDerivation ({
|
||||
buildCommand = ''
|
||||
ensureDir $out
|
||||
cp -prd $src/* $out
|
||||
chmod -R u+w $out
|
||||
find $out -type f -print | while read fn; do
|
||||
substituteAll $fn $fn
|
||||
done
|
||||
eval "$postInstall"
|
||||
'';
|
||||
} // args); # */
|
||||
|
||||
in {
|
||||
|
||||
extraConfig = ''
|
||||
|
||||
Alias ${urlPrefix}/css ${staticFiles}/css
|
||||
|
||||
|
||||
ScriptAlias ${urlPrefix}/cgi-bin ${staticFiles}/cgi-bin
|
||||
|
||||
<Directory ${staticFiles}/cgi-bin>
|
||||
AllowOverride FileInfo AuthConfig Limit
|
||||
Options MultiViews SymLinksIfOwnerMatch ExecCGI
|
||||
SetHandler cgi-script
|
||||
|
||||
# !!! this shouldn't be here
|
||||
Order allow,deny
|
||||
Allow from 131.211.0.0/255.255.0.0 # *.cs.uu.nl
|
||||
Allow from 130.145.0.0/255.255.0.0 # philips.com
|
||||
Allow from 130.161.158.181 # TUD supervisor
|
||||
Allow from 192.168.1.0/24 # TUD builders
|
||||
Allow from 127.0.0.1
|
||||
|
||||
Require valid-user
|
||||
AuthType Basic
|
||||
AuthName "Nix Upload"
|
||||
AuthUserFile ${distConfDir}/upload_passwords
|
||||
</Directory>
|
||||
|
||||
|
||||
Alias ${urlPrefix} ${distDir}/
|
||||
|
||||
<Location ${urlPrefix}>
|
||||
Options +Indexes
|
||||
|
||||
RewriteEngine on
|
||||
RewriteRule ^${distDir}/(.*)/create-dist/(.*) ${urlPrefix}/cgi-bin/create-dist.pl/$1/$2
|
||||
|
||||
AddType application/nix-package .nixpkg
|
||||
</Location>
|
||||
|
||||
<Directory ${distDir}>
|
||||
AllowOverride FileInfo AuthConfig Limit
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
'';
|
||||
|
||||
# !!! should not be needed
|
||||
extraModulesPre = [];
|
||||
extraModules = [];
|
||||
robotsEntries = "";
|
||||
globalEnvVars = [];
|
||||
extraServerPath = [];
|
||||
extraPath = [];
|
||||
|
||||
options = {
|
||||
|
||||
};
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user