cookutils rev 867

cook, modules/compressor: implement tazpkg --cookmode; cooker.cgi: info2html(): pagination, syntax_highlighter(): distinguish local/cached installed packages (vital for the system update).
author Aleksej Bobylev <al.bobylev@gmail.com>
date Thu Jan 12 04:04:52 2017 +0200 (2017-01-12)
parents fd06b19f712b
children 9e870e53cac9
files cook modules/compressor web/cooker.cgi
line diff
     1.1 --- a/cook	Wed Jan 11 11:58:53 2017 +0200
     1.2 +++ b/cook	Thu Jan 12 04:04:52 2017 +0200
     1.3 @@ -677,15 +677,15 @@
     1.4  	# Install local packages: package-version$arch
     1.5  	cd $PKGS
     1.6  	for i in $(uniq $CACHE/installed.local); do
     1.7 -		_ 'Installing dep (pkg/local): %s' "$i"
     1.8 -		tazpkg install $i --root=$root --local --quiet
     1.9 +		# _ 'Installing dep (pkg/local): %s' "$i"
    1.10 +		tazpkg install $i --root=$root --local --quiet --cookmode
    1.11  	done
    1.12  
    1.13  	# Install web or cached packages (if mirror is set to $PKGS we only
    1.14  	# use local packages).
    1.15  	for i in $(uniq $CACHE/installed.web); do
    1.16 -		_ 'Installing dep (web/cache): %s' "$i"
    1.17 -		tazpkg get-install $i --root=$root --quiet
    1.18 +		# _ 'Installing dep (web/cache): %s' "$i"
    1.19 +		tazpkg get-install $i --root=$root --quiet --cookmode
    1.20  	done
    1.21  
    1.22  	update_installed_cook_diff
     2.1 --- a/modules/compressor	Wed Jan 11 11:58:53 2017 +0200
     2.2 +++ b/modules/compressor	Thu Jan 12 04:04:52 2017 +0200
     2.3 @@ -66,6 +66,8 @@
     2.4  	[ -d "$manpath" ] || return
     2.5  	size0=$(sizes man); [ -z "$size0" ] && return
     2.6  
     2.7 +	tazpkg -gi advancecomp --quiet --cookmode
     2.8 +
     2.9  	action 'Compressing man pages...'
    2.10  
    2.11  	# We'll use only Gzip compression, so decompress other formats first
    2.12 @@ -83,7 +85,6 @@
    2.13  	done
    2.14  
    2.15  	# Recompress with advdef (it can't compress, only recompress)
    2.16 -	tazpkg -gi advancecomp --quiet
    2.17  	for i in $(find $install/usr/share/man -type f); do
    2.18  		advdef -z4q $i
    2.19  	done
    2.20 @@ -100,15 +101,14 @@
    2.21  	[ "${COOKOPTS/!pngz/}" != "$COOKOPTS" ] && return
    2.22  	size0=$(sizes png); [ -z "$size0" ] && return
    2.23  
    2.24 -	action 'Compressing png images...'
    2.25 -
    2.26  	use_pq=true
    2.27  	use_op=true
    2.28  	[ "${COOKOPTS/!pngquant/}" != "$COOKOPTS" ] && use_pq=false
    2.29  	[ "${COOKOPTS/!optipng/}"  != "$COOKOPTS" ] && use_op=false
    2.30 +	$use_pq && tazpkg -gi pngquant --quiet --cookmode
    2.31 +	$use_op && tazpkg -gi optipng  --quiet --cookmode
    2.32  
    2.33 -	$use_pq && tazpkg -gi pngquant --quiet
    2.34 -	$use_op && tazpkg -gi optipng --quiet
    2.35 +	action 'Compressing png images...'
    2.36  
    2.37  	oplevel=$(echo $COOKOPTS | grep 'op[0-8]' | sed 's|.*op\([0-8]\).*|\1|')
    2.38  	[ -z "$oplevel" ]     && oplevel='2'
    2.39 @@ -131,9 +131,10 @@
    2.40  	[ "${COOKOPTS/!svgz/}" != "$COOKOPTS" ] && return
    2.41  	size0=$(sizes svg); [ -z "$size0" ] && return
    2.42  
    2.43 +	tazpkg -gi svgcleaner --quiet --cookmode
    2.44 +
    2.45  	action 'Compressing svg images...'
    2.46  
    2.47 -	tazpkg -gi svgcleaner --quiet
    2.48  	cleaner_log="$(mktemp)"
    2.49  	for i in $(find $install -type f -name '*.svg'); do
    2.50  		echo -n "$i: " >> "$cleaner_log"
    2.51 @@ -160,10 +161,12 @@
    2.52  	[ "${COOKOPTS/!uiz/}" != "$COOKOPTS" ] && return
    2.53  	[ -z "$(find $install -type f \( -name '*.ui' -o -name '*.glade' \) )" ] && return
    2.54  
    2.55 +	tazpkg -gi xmlstarlet --quiet --cookmode
    2.56 +
    2.57  	action 'Compressing ui files...'
    2.58 +
    2.59  	size0=$(sizes xml)
    2.60  	time0=$(date +%s)
    2.61 -	tazpkg -gi xmlstarlet --quiet
    2.62  	temp_ui="$(mktemp)"
    2.63  	for ui in $(find $install -type f \( -name '*.ui' -o -name '*.glade' \) ); do
    2.64  		xmlstarlet c14n --without-comments "$ui" | xmlstarlet sel -B -t -c '*' > "$temp_ui"
    2.65 @@ -210,7 +213,7 @@
    2.66  	time0=$(date +%s)
    2.67  
    2.68  	if [ -n "$QA" -a -z "$(which desktop-file-validate)" ]; then
    2.69 -		tazpkg -gi desktop-file-utils-extra --quiet
    2.70 +		tazpkg -gi desktop-file-utils-extra --quiet --cookmode
    2.71  	fi
    2.72  
    2.73  	# The variable $LOCALE is set in cook.conf and may be overridden in the receipt.
    2.74 @@ -258,15 +261,16 @@
    2.75  	[ "${COOKOPTS/!monorm/}" != "$COOKOPTS" ] && return
    2.76  	[ -z "$(find $install -type f -name '*.mo')" ] && return
    2.77  
    2.78 +	# Gettext functions: msgunfmt, msguniq, msgconv, msgfmt
    2.79 +	tazpkg -gi gettext      --quiet --cookmode
    2.80 +	# Gconv modules (convert to UTF-8)
    2.81 +	tazpkg -gi glibc-locale --quiet --cookmode
    2.82 +
    2.83  	action 'Normalizing mo files...'
    2.84 +
    2.85  	size0=$(sizes mo1)
    2.86  	time0=$(date +%s)
    2.87  
    2.88 -	# Gettext functions: msgunfmt, msguniq, msgconv, msgfmt
    2.89 -	tazpkg -gi gettext      --quiet
    2.90 -	# Gconv modules (convert to UTF-8)
    2.91 -	tazpkg -gi glibc-locale --quiet
    2.92 -
    2.93  	# Process all existing *.mo files
    2.94  	for mo in $(find "$install" -type f -name '*.mo'); do
    2.95  		tmpfile="$(mktemp)"
     3.1 --- a/web/cooker.cgi	Wed Jan 11 11:58:53 2017 +0200
     3.2 +++ b/web/cooker.cgi	Thu Jan 12 04:04:52 2017 +0200
     3.3 @@ -138,7 +138,8 @@
     3.4  		-e '/^Tag Table:$/,/^End Tag Table$/d' \
     3.5  		-e '/INFO-DIR/,/^END-INFO-DIR/d' \
     3.6  		-e "s|https*://[^>),'\"\` ]*|<a href=\"&\">&</a>|g" \
     3.7 -		-e "s|ftp://[^>),\"\` ]*|<a href=\"&\">&</a>|g"
     3.8 +		-e "s|ftp://[^>),\"\` ]*|<a href=\"&\">&</a>|g" \
     3.9 +		-e "s|^|</pre><pre>|"
    3.10  }
    3.11  
    3.12  
    3.13 @@ -164,6 +165,9 @@
    3.14  				-e 's#\( \[N[ym/]\?\] y\)$# <span class="span-ok">\1</span>#g' \
    3.15  				-e 's#(NEW) $#<span class="span-red">(NEW) </span>#g' \
    3.16  				\
    3.17 +				-e 's#.*(pkg/local).*#<span class="span-ok">\0</span>#g' \
    3.18 +				-e 's#.*(web/cache).*#<span class="span-no">\0</span>#g' \
    3.19 +				\
    3.20  				-e 's#error$#<span class="span-red">error</span>#g' \
    3.21  				-e 's#ERROR:#<span class="span-red">ERROR:</span>#g' \
    3.22  				-e 's#Error#<span class="span-red">Error</span>#g' \