Replace special rule by a module-list.mask file which enumerates all

patterns matching the files which should not figure in module-list.nix.

svn path=/nixos/branches/modular-nixos/; revision=15941
This commit is contained in:
Nicolas Pierron 2009-06-11 17:59:47 +00:00
parent 4001b66c88
commit 6cee6e9d87
3 changed files with 25 additions and 9 deletions

View File

@ -30,19 +30,31 @@ is_module(){
" | nix-instantiate - --eval-only " | nix-instantiate - --eval-only
} }
find_mask(){
local maskfile="$1"
if test -r "${maskfile}"; then
cat "${maskfile}"
echo
echo "./module-list.nix"
else
echo "./module-list.nix"
fi | \
sed -ne 's/[ ]*#.*//; /^[ ]*$/ d; s/\(.*\)/-wholename '"'\1'"' -or /p' | tr -d '\n'
}
generate_index(){ generate_index(){
local path="$1" local path="$1"
cd "$path" cd "$path"
echo -n "$path: " 1>&2 echo -n "$path: " 1>&2
{ echo "[ # This file has been generated by $(basename $prog)"; { echo "[ # This file has been generated by $(basename $prog)";
for file in : $(find ./ -wholename '*.impl[./]*' -or -wholename './module-list.nix' -or -type f -name '*.nix' -print | sort); do for file in : $(eval find ./ $(find_mask ./module-list.mask) -type f -name "'*.nix'" -print | sort); do
[ "$file" = ':' ] && continue; [ "$file" = ':' ] && continue;
echo -n . 1>&2 echo -n . 1>&2
if test "$(is_module "$file" 2> /dev/null)" = "Bool(True)"; then if test "$(is_module "$file" 2> /dev/null)" = "Bool(True)"; then
echo " $file" echo " $file"
else else
echo "##### $file" echo "##### $file"
is_module "$file" 2>&1 | sed 's/^/# /' is_module "$file" 2>&1 | sed "s/^/# /; s,$(pwd),.,"
fi fi
done done
echo ']'; echo ']';

4
modules/module-list.mask Normal file
View File

@ -0,0 +1,4 @@
# CD-DVD modules are not generic.
# Avoid all modules from ./installer/cd-dvd/
./installer/cd-dvd/*

View File

@ -76,27 +76,27 @@
##### ./services/web-servers/apache-httpd/per-server-options.nix ##### ./services/web-servers/apache-httpd/per-server-options.nix
# error: while evaluating the attribute `<let-body>' at `(string):2:8': # error: while evaluating the attribute `<let-body>' at `(string):2:8':
# while evaluating the function at `(string):3:22': # while evaluating the function at `(string):3:22':
# while evaluating the function at `/home/eelco/Dev/modular-nixos/modules/services/web-servers/apache-httpd/per-server-options.nix:6:2': # while evaluating the function at `./services/web-servers/apache-httpd/per-server-options.nix:6:2':
# the argument named `forMainServer' required by the function is missing # the argument named `forMainServer' required by the function is missing
##### ./services/web-servers/apache-httpd/subversion.nix ##### ./services/web-servers/apache-httpd/subversion.nix
# error: while evaluating the attribute `<let-body>' at `(string):2:8': # error: while evaluating the attribute `<let-body>' at `(string):2:8':
# while evaluating the function at `(string):3:22': # while evaluating the function at `(string):3:22':
# while evaluating the function at `/home/eelco/Dev/modular-nixos/modules/services/web-servers/apache-httpd/subversion.nix:1:2': # while evaluating the function at `./services/web-servers/apache-httpd/subversion.nix:1:2':
# the argument named `serverInfo' required by the function is missing # the argument named `serverInfo' required by the function is missing
##### ./services/web-servers/apache-httpd/tomcat-connector.nix ##### ./services/web-servers/apache-httpd/tomcat-connector.nix
# error: while evaluating the attribute `<let-body>' at `(string):2:8': # error: while evaluating the attribute `<let-body>' at `(string):2:8':
# while evaluating the function at `(string):3:22': # while evaluating the function at `(string):3:22':
# while evaluating the function at `/home/eelco/Dev/modular-nixos/modules/services/web-servers/apache-httpd/tomcat-connector.nix:1:2': # while evaluating the function at `./services/web-servers/apache-httpd/tomcat-connector.nix:1:2':
# the argument named `serverInfo' required by the function is missing # the argument named `serverInfo' required by the function is missing
##### ./services/web-servers/apache-httpd/twiki.nix ##### ./services/web-servers/apache-httpd/twiki.nix
# error: while evaluating the attribute `<let-body>' at `(string):2:8': # error: while evaluating the attribute `<let-body>' at `(string):2:8':
# while evaluating the function at `(string):3:22': # while evaluating the function at `(string):3:22':
# while evaluating the function at `/home/eelco/Dev/modular-nixos/modules/services/web-servers/apache-httpd/twiki.nix:1:2': # while evaluating the function at `./services/web-servers/apache-httpd/twiki.nix:1:2':
# the argument named `serverInfo' required by the function is missing # the argument named `serverInfo' required by the function is missing
##### ./services/web-servers/apache-httpd/zabbix.nix ##### ./services/web-servers/apache-httpd/zabbix.nix
# error: while evaluating the attribute `<let-body>' at `(string):2:8': # error: while evaluating the attribute `<let-body>' at `(string):2:8':
# while evaluating the function at `(string):3:22': # while evaluating the function at `(string):3:22':
# while evaluating the function at `/home/eelco/Dev/modular-nixos/modules/services/web-servers/apache-httpd/zabbix.nix:1:2': # while evaluating the function at `./services/web-servers/apache-httpd/zabbix.nix:1:2':
# the argument named `serverInfo' required by the function is missing # the argument named `serverInfo' required by the function is missing
./services/web-servers/jboss.nix ./services/web-servers/jboss.nix
./services/web-servers/tomcat.nix ./services/web-servers/tomcat.nix
@ -129,7 +129,7 @@
##### ./system/etc/make-etc.nix ##### ./system/etc/make-etc.nix
# error: while evaluating the attribute `<let-body>' at `(string):2:8': # error: while evaluating the attribute `<let-body>' at `(string):2:8':
# while evaluating the function at `(string):3:22': # while evaluating the function at `(string):3:22':
# while evaluating the function at `/home/eelco/Dev/modular-nixos/modules/system/etc/make-etc.nix:1:2': # while evaluating the function at `./system/etc/make-etc.nix:1:2':
# the argument named `stdenv' required by the function is missing # the argument named `stdenv' required by the function is missing
./system/upstart-events/ctrl-alt-delete.nix ./system/upstart-events/ctrl-alt-delete.nix
./system/upstart-events/halt.nix ./system/upstart-events/halt.nix
@ -137,7 +137,7 @@
##### ./system/upstart/make-job.nix ##### ./system/upstart/make-job.nix
# error: while evaluating the attribute `<let-body>' at `(string):2:8': # error: while evaluating the attribute `<let-body>' at `(string):2:8':
# while evaluating the function at `(string):3:22': # while evaluating the function at `(string):3:22':
# while evaluating the function at `/home/eelco/Dev/modular-nixos/modules/system/upstart/make-job.nix:1:2': # while evaluating the function at `./system/upstart/make-job.nix:1:2':
# the argument named `runCommand' required by the function is missing # the argument named `runCommand' required by the function is missing
./system/upstart/tools.nix ./system/upstart/tools.nix
./system/upstart/upstart.nix ./system/upstart/upstart.nix