# HG changeset patch # User Pascal Bellard # Date 1560004851 -7200 # Node ID b5e6796ff599b21469421d312f46a3603bb5fee7 # Parent 540ed51fe3fb5e23ef8cf4997704e04525dadb94 cooker.cgi: use http download diff -r 540ed51fe3fb -r b5e6796ff599 web/cooker.cgi --- a/web/cooker.cgi Mon May 13 09:16:24 2019 +0200 +++ b/web/cooker.cgi Sat Jun 08 16:40:51 2019 +0200 @@ -46,7 +46,7 @@ EOT exit ;; src*) - file=$(busybox httpd -d "$SRC/${QUERY_STRING#*=}") + file="$PKGS/${QUERY_STRING#*=}" cat <info" fi [ -n "$(echo $REQUEST_URI | sed 's|/[^/]*?pkg.*||')" ] || - echo "browse" + echo "browse" else if [ $(ls $wok/*$pkg*/receipt 2>/dev/null | wc -l) -eq 0 ]; then echo "No package named: $pkg" @@ -418,6 +418,37 @@ [ "$pkg" ] && echo "
No log: $pkg
" fi ;; + view=*) + file="${QUERY_STRING#view=}" + echo "

View: $file

" + echo "browse" + echo "
"
+		ls "$WOK/$file" | while read i; do
+			meta="$(ls -ld "$WOK/$file/$i" | cut -c-57)"
+			name="$i"
+			ref="stuff=../wok/$file$i"
+			[ -d "$WOK/$file/$i" ] && ref="view=$file$i/"
+			[ -L "$WOK/$file/$i" ] && name="$i -> $(readlink "$i")"
+			echo "$meta$name"
+		done
+		echo "
" + ;; + + browse=*) + file="${QUERY_STRING#browse=}" + echo "

Browse: $file

" + echo "
"
+		ls "$WOK/$file" | while read i; do
+			meta="$(ls -ld "$WOK/$file/$i" | cut -c-57)"
+			name="$i"
+			ref="download=../wok/$file$i"
+			[ -d "$WOK/$file/$i" ] && ref="browse=$file$i/"
+			[ -L "$WOK/$file/$i" ] && name="$i -> $(readlink "$i")"
+			echo "$meta$name"
+		done
+		echo "
" + ;; + log=*) log=$LOGS/${QUERY_STRING#log=} if [ -s $log ]; then @@ -484,9 +515,11 @@ stuff=*) file=${QUERY_STRING#stuff=} + file="${file//%20/ }" echo "

$file

" + #echo "download" echo '
'
-		cat $wok/$file | sed 's/&/\&/g;s//\>/g'
+		cat "$wok/$file" | sed 's/&/\&/g;s//\>/g'
 		echo '
' ;; receipt=*) @@ -516,7 +549,7 @@ echo "

Installed files by: $pkg ($(du -hs $dir/fs | awk '{ print $1 }'))

" echo '
'
 			find $dir/fs -not -type d -print0 | xargs -0 ls -ld | \
-				sed "s|\(.*\) /.*\(${dir#*wok}/fs\)\(.*\)|\1 \3|;s|^\([^-].*\)\(\(.*\)|\1\3|"
+				sed "s|^\(-.*\) /.*\(${dir#*wok}/fs\)\(.*\)|\1 \3|;s| /[^>]*${dir#*wok}/fs| \1|"
 			echo '
' else echo "
No files list for: $pkg
"