forked from lix-project/lix
--proxy=proxy:3128
This commit is contained in:
parent
b1e321d6ce
commit
b4bc8b7616
|
@ -136,6 +136,7 @@ NEED_PROG(perl, perl)
|
||||||
NEED_PROG(tar, tar)
|
NEED_PROG(tar, tar)
|
||||||
AC_PATH_PROG(dot, dot)
|
AC_PATH_PROG(dot, dot)
|
||||||
AC_PATH_PROG(dblatex, dblatex)
|
AC_PATH_PROG(dblatex, dblatex)
|
||||||
|
AC_PATH_PROG(gzip, gzip)
|
||||||
|
|
||||||
AC_PATH_PROG(openssl_prog, openssl, openssl) # if not found, call openssl in $PATH
|
AC_PATH_PROG(openssl_prog, openssl, openssl) # if not found, call openssl in $PATH
|
||||||
AC_SUBST(openssl_prog)
|
AC_SUBST(openssl_prog)
|
||||||
|
|
50
scripts/nix-http-export.cgi.in
Executable file
50
scripts/nix-http-export.cgi.in
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
export HOME=/tmp
|
||||||
|
export NIX_REMOTE=daemon
|
||||||
|
|
||||||
|
TMP_DIR="${TMP_DIR:-/tmp/nix-export}"
|
||||||
|
|
||||||
|
@coreutils@/mkdir -p "$TMP_DIR" || true
|
||||||
|
@coreutils@/chmod a+r "$TMP_DIR"
|
||||||
|
|
||||||
|
needed_path="?$QUERY_STRING"
|
||||||
|
needed_path="${needed_path#*[?&]needed_path=}"
|
||||||
|
needed_path="${needed_path%%&*}"
|
||||||
|
#needed_path="$(echo $needed_path | ./unhttp)"
|
||||||
|
needed_path="$(echo $needed_path | sed -e 's/%2B/+/g; s/%3D/=/g')"
|
||||||
|
|
||||||
|
echo needed_path: "$needed_path" >&2
|
||||||
|
|
||||||
|
NIX_STORE="${NIX_STORE:-/nix/store}"
|
||||||
|
|
||||||
|
echo NIX_STORE: "${NIX_STORE}" >&2
|
||||||
|
|
||||||
|
full_path="${NIX_STORE}"/"$needed_path"
|
||||||
|
|
||||||
|
if [ "$needed_path" != "${needed_path%.drv}" ]; then
|
||||||
|
echo "Status: 403 You should create the derivation file yourself"
|
||||||
|
echo "Content-Type: text/plain"
|
||||||
|
echo
|
||||||
|
echo "Refusing to disclose derivation contents"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e "$full_path" ]; then
|
||||||
|
if ! [ -e nix-export/"$needed_path".nar.gz ]; then
|
||||||
|
@bindir@/nix-store --export "$full_path" | @gzip@ > "$TMP_DIR"/"$needed_path".nar.gz
|
||||||
|
@coreutils@/ln -fs "$TMP_DIR"/"$needed_path".nar.gz nix-export/"$needed_path".nar.gz
|
||||||
|
fi;
|
||||||
|
echo "Status: 301 Moved"
|
||||||
|
echo "Location: nix-export/"$needed_path".nar.gz"
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
echo "Status: 404 No such path found"
|
||||||
|
echo "Content-Type: text/plain"
|
||||||
|
echo
|
||||||
|
echo "Path not found:"
|
||||||
|
echo "$needed_path"
|
||||||
|
echo "checked:"
|
||||||
|
echo "$full_path"
|
||||||
|
fi
|
||||||
|
|
|
@ -65,7 +65,7 @@ for i in "$@"; do
|
||||||
done;
|
done;
|
||||||
elif [ "$i" != "$httpHost" ] || [ "$i" != "$httpsHost" ]; then
|
elif [ "$i" != "$httpHost" ] || [ "$i" != "$httpsHost" ]; then
|
||||||
cat needed-paths | while read; do
|
cat needed-paths | while read; do
|
||||||
curl -L "$i${REPLY##*/}" | gunzip | nix-store --import;
|
curl ${BAD_CERTIFICATE:+-k} -L "$i${REPLY##*/}" | gunzip | nix-store --import;
|
||||||
done;
|
done;
|
||||||
fi;
|
fi;
|
||||||
mv needed-paths wanted-paths;
|
mv needed-paths wanted-paths;
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
-e "s^@perl\@^$(perl)^g" \
|
-e "s^@perl\@^$(perl)^g" \
|
||||||
-e "s^@coreutils\@^$(coreutils)^g" \
|
-e "s^@coreutils\@^$(coreutils)^g" \
|
||||||
-e "s^@tar\@^$(tar)^g" \
|
-e "s^@tar\@^$(tar)^g" \
|
||||||
|
-e "s^@gzip\@^$(gzip)^g" \
|
||||||
-e "s^@tr\@^$(tr)^g" \
|
-e "s^@tr\@^$(tr)^g" \
|
||||||
-e "s^@dot\@^$(dot)^g" \
|
-e "s^@dot\@^$(dot)^g" \
|
||||||
-e "s^@xmllint\@^$(xmllint)^g" \
|
-e "s^@xmllint\@^$(xmllint)^g" \
|
||||||
|
|
Loading…
Reference in a new issue