cookutils rev 728

Move to using short i18n functions with "printf", so rewrite sources and po files. Fix: stripping before list files (python packages listed missed .pyc files). Also remove few hacks from code, make pot and msgmerge.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Thu May 07 15:11:47 2015 +0300 (2015-05-07)
parents c21a7ba0d29c
children 1ec4745f1f8c
files Makefile cook cooker cookiso cooklinux cross lib/libcook.sh po/cook.pot po/pt_BR.po po/ru.po po/zh_CN.po po/zh_TW.po web/cooker.cgi web/cookiso.cgi web/style.css
line diff
     1.1 --- a/Makefile	Sun May 03 19:43:46 2015 +0300
     1.2 +++ b/Makefile	Thu May 07 15:11:47 2015 +0300
     1.3 @@ -75,7 +75,7 @@
     1.4  # i18n
     1.5  
     1.6  pot:
     1.7 -	xgettext -o po/cook.pot -k_ -k_n -L Shell -cL10n \
     1.8 +	xgettext -o po/cook.pot -k_ -k_n -k_p:1,2 -L Shell -cL10n \
     1.9  		--copyright-holder="SliTaz Association" \
    1.10  		--package-name="Cook" \
    1.11  		--package-version="$(VERSION)" \
     2.1 --- a/cook	Sun May 03 19:43:46 2015 +0300
     2.2 +++ b/cook	Thu May 07 15:11:47 2015 +0300
     2.3 @@ -6,20 +6,20 @@
     2.4  # Copyright (C) SliTaz GNU/Linux - GNU gpl v3
     2.5  # Author: Christophe Lincoln <pankso@slitaz.org>
     2.6  #
     2.7 +
     2.8  . /usr/lib/slitaz/libcook.sh
     2.9  
    2.10  VERSION="3.2"
    2.11  
    2.12 +
    2.13  # Internationalization.
    2.14 -. /usr/bin/gettext.sh
    2.15 -TEXTDOMAIN='cook'
    2.16 -export TEXTDOMAIN
    2.17  
    2.18 -_()  echo -e "$(eval_gettext "$1")"
    2.19 -_n() echo -en "$(eval_gettext "$1")"
    2.20 -# to disable i18n:
    2.21 -# _()  echo -e "$1"
    2.22 -# _n() echo -en "$1"
    2.23 +export TEXTDOMAIN='cook'
    2.24 +_()  { local T="$1"; shift; printf "$(gettext "$T")" "$@"; echo; }
    2.25 +_n() { local T="$1"; shift; printf "$(gettext "$T")" "$@"; }
    2.26 +_p() {
    2.27 +	local S="$1" P="$2" N="$3"; shift; shift; shift;
    2.28 +	printf "$(ngettext "$S" "$P" "$N")" "$@"; }
    2.29  
    2.30  
    2.31  #
    2.32 @@ -27,176 +27,195 @@
    2.33  #
    2.34  
    2.35  usage() {
    2.36 -	cat << EOT
    2.37 +	cat <<EOT
    2.38  
    2.39 -$(_ "\033[1mUsage:\033[0m cook [package|command] [list|--option]")
    2.40 +$(boldify "$(_ 'Usage:')") $(_ 'cook [package|command] [list|--option]')
    2.41  
    2.42 -$(_ "\033[1mCommands:\033[0m")
    2.43 -  usage|help         $(_ "Display this short usage.")
    2.44 -  setup              $(_ "Setup your build environment.")
    2.45 -  *-setup            $(_ "Setup a cross environment.")
    2.46 -  test               $(_ "Test environment and cook a package.")
    2.47 -  list-wok           $(_ "List packages in the wok.")
    2.48 -  search             $(_ "Simple packages search function.")
    2.49 -  new                $(_ "Create a new package with a receipt.")
    2.50 -  list               $(_ "Cook a list of packages.")
    2.51 -  clean-wok          $(_ "Clean-up all packages files.")
    2.52 -  clean-src          $(_ "Clean-up all packages sources.")
    2.53 -  uncook             $(_ "Check for uncooked packages")
    2.54 -  pkgdb              $(_ "Create packages DB lists and flavors.")
    2.55 +$(boldify "$(_ 'Commands:')")
    2.56 +  usage|help           $(_ 'Display this short usage.')
    2.57 +  setup                $(_ 'Setup your build environment.')
    2.58 +  *-setup              $(_ 'Setup a cross environment.')
    2.59 +                       * = {arm|armv6hf|armv7|x86_64}
    2.60 +  test                 $(_ 'Test environment and cook a package.')
    2.61 +  list-wok             $(_ 'List packages in the wok.')
    2.62 +  search               $(_ 'Simple packages search function.')
    2.63 +  new                  $(_ 'Create a new package with a receipt.')
    2.64 +  list                 $(_ 'Cook a list of packages.')
    2.65 +  clean-wok            $(_ 'Clean-up all packages files.')
    2.66 +  clean-src            $(_ 'Clean-up all packages sources.')
    2.67 +  uncook               $(_ 'Check for uncooked packages')
    2.68 +  pkgdb                $(_ 'Create packages DB lists and flavors.')
    2.69  
    2.70 -$(_ "\033[1mOptions:\033[0m")
    2.71 -  --clean|-c         Cook : $(_ "clean the package in the wok.")
    2.72 -  --install|-i       Cook : $(_ "cook and install the package.")
    2.73 -  --getsrc|-gs       Cook : $(_ "get the package source tarball.")
    2.74 -  --block|-b         Cook : $(_ "block a package so cook will skip it.")
    2.75 -  --unblock|-ub      Cook : $(_ "unblock a blocked package.")
    2.76 -  --cdeps            Cook : $(_ "check dependencies of cooked package.")
    2.77 -  --pack             Cook : $(_ "repack an already built package.")
    2.78 -  --debug            Cook : $(_ "display debugging messages.")
    2.79 -  --continue         Cook : $(_ "continue running compile_rules.")
    2.80 -  --interactive|-x   New  : $(_ "create a receipt interactively.")
    2.81 -  --wok              Setup: $(_ "clone the cooking wok from Hg repo.")
    2.82 -  --stable           Setup: $(_ "clone the stable wok from Hg repo.")
    2.83 -  --undigest         Setup: $(_ "clone the undigest wok from Hg repo.")
    2.84 -  --tiny             Setup: $(_ "clone the tiny SliTaz wok from Hg repo.")
    2.85 -  --forced           Setup: $(_ "force reinstall of chroot packages.")
    2.86 -  --flavors          Pkgdb: $(_ "create up-to-date flavors files.")
    2.87 +$(boldify "$(_ 'Options:')")
    2.88 +cook <pkg>
    2.89 +    --clean       -c   $(_ 'clean the package in the wok.')
    2.90 +    --install     -i   $(_ 'cook and install the package.')
    2.91 +    --getsrc      -gs  $(_ 'get the package source tarball.')
    2.92 +    --block       -b   $(_ 'block a package so cook will skip it.')
    2.93 +    --unblock     -ub  $(_ 'unblock a blocked package.')
    2.94 +    --cdeps            $(_ 'check dependencies of cooked package.')
    2.95 +    --pack             $(_ 'repack an already built package.')
    2.96 +    --debug            $(_ 'display debugging messages.')
    2.97 +    --continue         $(_ 'continue running compile_rules.')
    2.98 +cook new <pkg>
    2.99 +    --interactive -x   $(_ 'create a receipt interactively.')
   2.100 +cook setup
   2.101 +    --wok              $(_ 'clone the cooking wok from Hg repo.')
   2.102 +    --stable           $(_ 'clone the stable wok from Hg repo.')
   2.103 +    --undigest         $(_ 'clone the undigest wok from Hg repo.')
   2.104 +    --tiny             $(_ 'clone the tiny SliTaz wok from Hg repo.')
   2.105 +    --forced           $(_ 'force reinstall of chroot packages.')
   2.106 +cook pkgdb
   2.107 +    --flavors          $(_ 'create up-to-date flavors files.')
   2.108  
   2.109  EOT
   2.110  	exit 0
   2.111  }
   2.112  
   2.113 +
   2.114  # We don't want these escapes in web interface.
   2.115 +
   2.116  clean_log() {
   2.117  	sed -i -e s'|\[70G\[ \[1;32m| |' \
   2.118  		-e s'|\[0;39m \]||' $LOGS/$pkg.log
   2.119  }
   2.120  
   2.121 +
   2.122  # Be sure package exists in wok.
   2.123 +
   2.124  check_pkg_in_wok() {
   2.125  	if [ ! -d "$WOK/$pkg" ]; then
   2.126 -		newline; _ "Unable to find package in the wok: \$pkg"; newline
   2.127 +		newline; _ 'Unable to find package "%s" in the wok' "$pkg"; newline
   2.128  		exit 1
   2.129  	fi
   2.130  }
   2.131  
   2.132 +
   2.133  if_empty_value() {
   2.134  	if [ -z "$value" ]; then
   2.135  		# L10n: QA is quality assurance
   2.136 -		_ "QA: empty variable: \${var}=\"\""; newline
   2.137 +		_ 'QA: empty variable: %s' "$var=\"\""; newline
   2.138  		exit 1
   2.139  	fi
   2.140  }
   2.141  
   2.142 +
   2.143  # Initialize files used in $CACHE
   2.144 +
   2.145  init_db_files() {
   2.146 -	_ "Creating directories structure in: \$SLITAZ"
   2.147 +	_ 'Creating directories structure in "%s"' "$SLITAZ"
   2.148  	mkdir -p $WOK $PKGS $SRC $CACHE $LOGS $FEEDS
   2.149 -	_ "Creating DB files in: \$CACHE"
   2.150 -	for f in $activity $command $broken $blocked
   2.151 -	do
   2.152 +	_ 'Creating DB files in "%s"' "$CACHE"
   2.153 +	for f in $activity $command $broken $blocked; do
   2.154  		touch $f
   2.155  	done
   2.156  }
   2.157  
   2.158 +
   2.159  # QA: check a receipt consistency before building.
   2.160 +
   2.161  receipt_quality() {
   2.162 -	_ "QA: checking package receipt..."
   2.163 +	_ 'QA: checking package receipt...'
   2.164  	unset online
   2.165  	if ifconfig | grep -q -A 1 "^[a-z]*[0-9]" | fgrep 'addr:'; then
   2.166 -		online="online"
   2.167 +		online='online'
   2.168  	fi
   2.169 -	for var in PACKAGE VERSION CATEGORY SHORT_DESC MAINTAINER WEB_SITE
   2.170 -	do
   2.171 +	for var in PACKAGE VERSION CATEGORY SHORT_DESC MAINTAINER WEB_SITE; do
   2.172  		unset value
   2.173 -		value="$(. $receipt ; eval echo \$$var)"
   2.174 +		value="$(. $receipt; eval echo \$$var)"
   2.175  		case "$var" in
   2.176  			PACKAGE|VERSION|SHORT_DESC)
   2.177  				if_empty_value ;;
   2.178  			CATEGORY)
   2.179 -				[ -z "$value" ] && value="empty"
   2.180 +				value="${value:-empty}"
   2.181  				valid="$(echo $PKGS_CATEGORIES)" # avoid newlines
   2.182 -				if ! echo "$valid" | grep -q -w "$value"; then
   2.183 -					_ "QA: unknown category: \$value"
   2.184 -					_ "Please, use one of: \$valid" | busybox fold -s
   2.185 -					newline; exit 1
   2.186 +				if ! echo " $valid " | grep -q " $value "; then
   2.187 +					_ 'QA: unknown category "%s"' "$value"
   2.188 +					longline "$(_ 'Please, use one of: %s' "$valid")"
   2.189 +					newline
   2.190 +					exit 1
   2.191  				fi ;;
   2.192  			WEB_SITE)
   2.193  				# We don't check WGET_URL since if dl is needed it will fail.
   2.194  				# Break also if we're not online. Here error is not fatal.
   2.195  				if_empty_value
   2.196 -				[ -z "$online" ] || break
   2.197 +				[ -z "$online" ] && break
   2.198  				if ! busybox wget -T 12 -s $value 2>/dev/null; then
   2.199 -					_ "QA: unable to reach: \$value"
   2.200 +					_ 'QA: unable to reach "%s"' "$value"
   2.201  				fi ;;
   2.202  		esac
   2.203  	done
   2.204  }
   2.205  
   2.206 +
   2.207  # Paths used in receipt and by cook itself.
   2.208 +
   2.209  set_paths() {
   2.210 -	pkgdir=$WOK/$PACKAGE
   2.211 -	basesrc=$pkgdir/source
   2.212 -	tmpsrc=$basesrc/tmp
   2.213 -	src=$basesrc/$PACKAGE-$VERSION
   2.214 -	taz=$pkgdir/taz
   2.215 -	pack=$taz/$PACKAGE-${VERSION}${EXTRAVERSION}
   2.216 -	fs=$pack/fs
   2.217 -	stuff=$pkgdir/stuff
   2.218 -	install=$pkgdir/install
   2.219 +	pkgdir="$WOK/$PACKAGE"
   2.220 +	basesrc="$pkgdir/source"
   2.221 +	tmpsrc="$basesrc/tmp"
   2.222 +	src="$basesrc/$PACKAGE-$VERSION"
   2.223 +	taz="$pkgdir/taz"
   2.224 +	pack="$taz/$PACKAGE-$VERSION$EXTRAVERSION"
   2.225 +	fs="$pack/fs"
   2.226 +	stuff="$pkgdir/stuff"
   2.227 +	install="$pkgdir/install"
   2.228  	pkgsrc="${SOURCE:-$PACKAGE}-${KBASEVER:-$VERSION}"
   2.229  	lzma_tarball="$pkgsrc.tar.lzma"
   2.230 -	if [ "$PATCH" ]; then
   2.231 -		[ "${PTARBALL}" ] || PTARBALL="$(basename $PATCH)"
   2.232 +	if [ -n "$PATCH" ]; then
   2.233 +		[ -z "$PTARBALL" ] && PTARBALL="$(basename $PATCH)"
   2.234  	fi
   2.235 -	if [ "$WANTED" ]; then
   2.236 -		basesrc=$WOK/$WANTED/source
   2.237 -		src=$basesrc/$WANTED-$VERSION
   2.238 -		install=$WOK/$WANTED/install
   2.239 -		wanted_stuff=$WOK/$WANTED/stuff
   2.240 +	if [ -n "$WANTED" ]; then
   2.241 +		basesrc="$WOK/$WANTED/source"
   2.242 +		src="$basesrc/$WANTED-$VERSION"
   2.243 +		install="$WOK/$WANTED/install"
   2.244 +		wanted_stuff="$WOK/$WANTED/stuff"
   2.245  	fi
   2.246 -	if [ "$SOURCE" ]; then
   2.247 -		source_stuff=$WOK/$SOURCE/stuff
   2.248 +	if [ -n "$SOURCE" ]; then
   2.249 +		source_stuff="$WOK/$SOURCE/stuff"
   2.250  	fi
   2.251  	# Kernel version is set from wok/linux or installed/linux-api-headers(wok-undigest)
   2.252  	if [ -f "$WOK/linux/receipt" ]; then
   2.253 -		kvers=$(grep ^VERSION= $WOK/linux/receipt | cut -d '"' -f 2)
   2.254 +		kvers=$(grep ^VERSION= $WOK/linux/receipt | cut -d\" -f2)
   2.255  		kbasevers=${kvers:0:3}
   2.256  	elif [ -f "$INSTALLED/linux-api-headers/receipt" ]; then
   2.257 -		kvers=$(grep ^VERSION= $INSTALLED/linux-api-headers/receipt | cut -d '"' -f 2)
   2.258 +		kvers=$(grep ^VERSION= $INSTALLED/linux-api-headers/receipt | cut -d\" -f2)
   2.259  		kbasevers=${kvers:0:3}
   2.260  	fi
   2.261  	# Python version
   2.262  	if [ -f "$WOK/python/receipt" ]; then
   2.263 -		pyvers=$(grep ^VERSION= $WOK/python/receipt | cut -d '"' -f 2)
   2.264 +		pyvers=$(grep ^VERSION= $WOK/python/receipt | cut -d\" -f2)
   2.265  	fi
   2.266 -	# perl version for some packages needed it
   2.267 +	# Perl version for some packages needed it
   2.268  	if [ -f "$WOK/perl/receipt" ]; then
   2.269 -		perlvers=$(grep ^VERSION= $WOK/perl/receipt | cut -d '"' -f 2)
   2.270 +		perlvers=$(grep ^VERSION= $WOK/perl/receipt | cut -d\" -f2)
   2.271  	fi
   2.272  	# Old way compatibility.
   2.273 -	_pkg=$install
   2.274 +	_pkg="$install"
   2.275  }
   2.276  
   2.277 +
   2.278  # Create source tarball when URL is a SCM.
   2.279 +
   2.280  create_tarball() {
   2.281  	local tarball
   2.282 -	tarball=$pkgsrc.tar.bz2
   2.283 -	[ "$LZMA_SRC" ] && tarball=$lzma_tarball
   2.284 -	_ "Creating tarball: \$tarball"
   2.285 -	if [ "$LZMA_SRC" ]; then
   2.286 +	tarball="$pkgsrc.tar.bz2"
   2.287 +	[ -n "$LZMA_SRC" ] && tarball="$lzma_tarball"
   2.288 +	_ 'Creating tarball "%s"' "$tarball"
   2.289 +	if [ -n "$LZMA_SRC" ]; then
   2.290  		tar -c $pkgsrc | lzma e $SRC/$tarball -si $LZMA_SET_DIR || exit 1
   2.291 -		LZMA_SRC=""
   2.292 +		LZMA_SRC=''
   2.293  	else
   2.294 -		tar cjf $tarball $pkgsrc || exit 1
   2.295 -		mv $tarball $SRC && rm -rf $pkgsrc
   2.296 +		tar -cjf $tarball $pkgsrc || exit 1
   2.297 +		mv $tarball $SRC; rm -rf $pkgsrc
   2.298  	fi
   2.299 -	TARBALL=$tarball
   2.300 +	TARBALL="$tarball"
   2.301  }
   2.302  
   2.303 +
   2.304  # Get package source. For SCM we are in cache so clone here and create a
   2.305  # tarball here.
   2.306 +
   2.307  get_source() {
   2.308  	local url
   2.309  	url="$MIRROR_URL/sources/packages/${TARBALL:0:1}/$TARBALL"
   2.310 @@ -207,117 +226,130 @@
   2.311  			# Busybox Wget is better!
   2.312  			busybox wget -T 60 -c -O $SRC/$TARBALL $WGET_URL || \
   2.313  			busybox wget -T 60 -c -O $SRC/$TARBALL $url || \
   2.314 -				(_ "ERROR: wget \$WGET_URL" && exit 1) ;;
   2.315 +				(_ 'ERROR: %s' "wget $WGET_URL" && exit 1) ;;
   2.316 +
   2.317  		https://*)
   2.318  			wget -c --no-check-certificate -O $SRC/$TARBALL $WGET_URL || \
   2.319  			busybox wget -T 60 -c -O $SRC/$TARBALL $url || \
   2.320 -				(_ "ERROR: wget \$WGET_URL" && exit 1) ;;
   2.321 +				(_ 'ERROR: %s' "wget $WGET_URL" && exit 1) ;;
   2.322 +
   2.323  		hg*|mercurial*)
   2.324 -			if $(echo "$WGET_URL" | fgrep -q "hg|"); then
   2.325 +			if $(echo "$WGET_URL" | fgrep -q 'hg|'); then
   2.326  				url=${WGET_URL#hg|}
   2.327  			else
   2.328  				url=${WGET_URL#mercurial|}
   2.329  			fi
   2.330 -			_ "Getting source from Hg..."
   2.331 -			_ "URL: \$url"
   2.332 -			_ "Cloning to: \$pwd/\$pkgsrc"
   2.333 -			if [ "$BRANCH" ]; then
   2.334 -				_ "Hg branch: \$BRANCH"
   2.335 +			_ 'Getting source from %s...' 'Hg'
   2.336 +			_ 'URL: %s' "$url"
   2.337 +			_ 'Cloning to "%s"' "$pwd/$pkgsrc"
   2.338 +			if [ -n "$BRANCH" ]; then
   2.339 +				_ 'Hg branch: %s' "$BRANCH"
   2.340  				hg clone $url --rev $BRANCH $pkgsrc || \
   2.341 -					(_ "ERROR: hg clone \$url --rev \$BRANCH" && exit 1)
   2.342 +					(_ 'ERROR: %s' "hg clone $url --rev $BRANCH" && exit 1)
   2.343  			else
   2.344 -				hg clone $url $pkgsrc || (_ "ERROR: hg clone \$url" && exit 1)
   2.345 +				hg clone $url $pkgsrc || (_ 'ERROR: %s' "hg clone $url" && exit 1)
   2.346  			fi
   2.347  			rm -rf $pkgsrc/.hg
   2.348  			create_tarball ;;
   2.349 +
   2.350  		git*)
   2.351  			url=${WGET_URL#git|}
   2.352 -			_ "Getting source from Git..."
   2.353 -			_ "URL: \$url"
   2.354 +			_ 'Getting source from %s...' 'Git'
   2.355 +			_ 'URL: %s' "$url"
   2.356  			cd $SRC
   2.357 -			git clone $url $pkgsrc || (_ "ERROR: git clone \$url" && exit 1)
   2.358 -			if [ "$BRANCH" ]; then
   2.359 -				_ "Git branch: \$BRANCH"
   2.360 -				cd $pkgsrc && git checkout $BRANCH && cd ..
   2.361 +			git clone $url $pkgsrc || (_ 'ERROR: %s' "git clone $url" && exit 1)
   2.362 +			if [ -n "$BRANCH" ]; then
   2.363 +				_ 'Git branch: %s' "$BRANCH"
   2.364 +				cd $pkgsrc; git checkout $BRANCH; cd ..
   2.365  			fi
   2.366  			cd $SRC
   2.367  			create_tarball ;;
   2.368 +
   2.369  		cvs*)
   2.370  			url=${WGET_URL#cvs|}
   2.371  			mod=$PACKAGE
   2.372 -			[ "$CVS_MODULE" ] && mod=$CVS_MODULE
   2.373 -			_ "Getting source from CVS..."
   2.374 -			_ "URL: \$url"
   2.375 -			[ "$CVS_MODULE" ] && _ "CVS module: \$mod"
   2.376 -			_ "Cloning to: \$pwd/\$mod"
   2.377 +			[ -n "$CVS_MODULE" ] && mod=$CVS_MODULE
   2.378 +			_ 'Getting source from %s...' 'CVS'
   2.379 +			_ 'URL: %s' "$url"
   2.380 +			[ -n "$CVS_MODULE" ] && _ 'CVS module: %s' "$mod"
   2.381 +			_ 'Cloning to "%s"' "$pwd/$mod"
   2.382  			cvs -d:$url co $mod && mv $mod $pkgsrc
   2.383  			create_tarball ;;
   2.384 +
   2.385  		svn*|subversion*)
   2.386  			if $(echo "$WGET_URL" | fgrep -q "svn|"); then
   2.387  				url=${WGET_URL#svn|}
   2.388  			else
   2.389  				url=${WGET_URL#subversion|}
   2.390  			fi
   2.391 -			_ "Getting source from SVN..."
   2.392 -			_ "URL: \$url"
   2.393 -			if [ "$BRANCH" ]; then
   2.394 +			_ 'Getting source from %s...' 'SVN'
   2.395 +			_ 'URL: %s' "$url"
   2.396 +			if [ -n "$BRANCH" ]; then
   2.397  				echo t | svn co $url -r $BRANCH $pkgsrc
   2.398  			else
   2.399  				echo t | svn co $url $pkgsrc
   2.400  			fi
   2.401  			create_tarball ;;
   2.402 +
   2.403  		bzr*)
   2.404  			url=${WGET_URL#bzr|}
   2.405 -			_ "Getting source from bazaar..."
   2.406 +			_ 'Getting source from %s...' 'bazaar'
   2.407  			cd $SRC
   2.408  			pkgsrc=${url#*:}
   2.409 -			if [ "$BRANCH" ]; then
   2.410 +			if [ -n "$BRANCH" ]; then
   2.411  				echo "bzr -Ossl.cert_reqs=none branch $url -r $BRANCH"
   2.412  				bzr -Ossl.cert_reqs=none branch $url -r $BRANCH
   2.413  			else
   2.414  				echo "bzr -Ossl.cert_reqs=none branch $url"
   2.415  				bzr -Ossl.cert_reqs=none branch $url
   2.416 -				cd $pkgsrc && BRANCH=$(bzr revno) && cd ..
   2.417 +				cd $pkgsrc; BRANCH=$(bzr revno); cd ..
   2.418  				_ "Don't forget to add to receipt:"
   2.419 -				echo 'BRANCH="'$BRANCH'"'; newline
   2.420 +				echo -e "BRANCH=\"$BRANCH\"\n"
   2.421  			fi
   2.422  			mv $pkgsrc $pkgsrc-$BRANCH
   2.423 -			pkgsrc=$pkgsrc-$BRANCH
   2.424 +			pkgsrc="$pkgsrc-$BRANCH"
   2.425  			create_tarball ;;
   2.426 +
   2.427  		*)
   2.428 -			(newline; _ "ERROR: Unable to handle: \$WGET_URL"; newline) | \
   2.429 +			(newline; _ 'ERROR: Unable to handle "%s"' "$WGET_URL"; newline) | \
   2.430  				tee -a $LOGS/$PACKAGE.log
   2.431  			exit 1 ;;
   2.432  	esac
   2.433  }
   2.434  
   2.435 +
   2.436  # Extract source package.
   2.437 +
   2.438  extract_source() {
   2.439  	if [ ! -s "$SRC/$TARBALL" ]; then
   2.440  		local url
   2.441  		url="$MIRROR_URL/sources/packages"
   2.442 -		url=$url/${TARBALL:0:1}/$TARBALL
   2.443 -		_ "Getting source from mirror: \$url"
   2.444 -		busybox wget -c -P $SRC $url || _ "ERROR: wget \$url"
   2.445 +		url="$url/${TARBALL:0:1}/$TARBALL"
   2.446 +		_ 'Getting source from %s...' 'mirror'
   2.447 +		_ 'URL: %s' "$url"
   2.448 +		busybox wget -c -P $SRC $url || _ 'ERROR: %s' "wget $url"
   2.449  	fi
   2.450 -	_ "Extracting: \$TARBALL"
   2.451 +	_ 'Extracting source archive "%s"' "$TARBALL"
   2.452  	case "$TARBALL" in
   2.453 -		*.tar.gz|*.tgz) tar xzf $SRC/$TARBALL 2>/dev/null ;;
   2.454 -		*.tar.bz2|*.tbz|*.tbz2) tar xjf $SRC/$TARBALL 2>/dev/null ;;
   2.455 -		*.tar.lzma) tar xaf $SRC/$TARBALL ;;
   2.456 -		*.tar.lz|*.tlz) lzip -d < $SRC/$TARBALL | tar xf - 2>/dev/null ;;
   2.457 -		*.tar) tar xf $SRC/$TARBALL ;;
   2.458 -		*.zip|*.xpi) unzip -o $SRC/$TARBALL ;;
   2.459 -		*.xz) unxz -c $SRC/$TARBALL | tar xf - || tar xf $SRC/$TARBALL 2>/dev/null;;
   2.460 -		*.7z) 7zr x $SRC/$TARBALL ;;
   2.461 -		*.Z|*.z) uncompress -c $SRC/$TARBALL | tar xf - ;;
   2.462 -		*.rpm) rpm2cpio $SRC/$TARBALL | cpio -idm --quiet ;;
   2.463 -		*.run) /bin/sh $SRC/$TARBALL $RUN_OPTS ;;
   2.464 -		*) cp $SRC/$TARBALL $(pwd) ;;
   2.465 +		*.tar.gz|*.tgz)         tar   -xzf    $SRC/$TARBALL 2>/dev/null ;;
   2.466 +		*.tar.bz2|*.tbz|*.tbz2) tar   -xjf    $SRC/$TARBALL 2>/dev/null ;;
   2.467 +		*.tar.lzma)             tar   -xaf    $SRC/$TARBALL ;;
   2.468 +		*.tar.lz|*.tlz)         lzip  -d    < $SRC/$TARBALL | tar -xf - 2>/dev/null ;;
   2.469 +		*.tar)                  tar   -xf     $SRC/$TARBALL ;;
   2.470 +		*.zip|*.xpi)            unzip -o      $SRC/$TARBALL ;;
   2.471 +		*.xz)                   unxz  -c      $SRC/$TARBALL | tar -xf - || \
   2.472 +		                        tar   -xf     $SRC/$TARBALL 2>/dev/null;;
   2.473 +		*.7z)                   7zr    x      $SRC/$TARBALL ;;
   2.474 +		*.Z|*.z)                uncompress -c $SRC/$TARBALL | tar -xf - ;;
   2.475 +		*.rpm)                  rpm2cpio      $SRC/$TARBALL | cpio -idm --quiet ;;
   2.476 +		*.run)                  /bin/sh       $SRC/$TARBALL $RUN_OPTS ;;
   2.477 +		*)                      cp            $SRC/$TARBALL $(pwd) ;;
   2.478  	esac
   2.479  }
   2.480  
   2.481 +
   2.482  # Display cooked package summary.
   2.483 +
   2.484  summary() {
   2.485  	cd $WOK/$pkg
   2.486  	[ -d $WOK/$pkg/install ] && prod=$(du -sh $WOK/$pkg/install | awk '{print $1}' 2>/dev/null)
   2.487 @@ -325,43 +357,49 @@
   2.488  	fs=$(du -sh $WOK/$pkg/taz/* | awk '{print $1}')
   2.489  	size=$(du -sh $PKGS/$pkg-${VERSION}*.tazpkg | awk '{print $1}')
   2.490  	files=$(cat $WOK/$pkg/taz/$pkg-*/files.list | wc -l)
   2.491 -	[ "$TARBALL" ] && srcsize=$(du -sh $SRC/$TARBALL | awk '{print $1}')
   2.492 -	cookdate=$(date "$(_ '+%Y-%m-%d %H:%M')")
   2.493 -	sec=$time
   2.494 +	[ -n "$TARBALL" ] && srcsize=$(du -sh $SRC/$TARBALL | awk '{print $1}')
   2.495 +
   2.496 +	sec="$time"
   2.497  	div=$(( ($time + 30) / 60))
   2.498 -	# L10n: 'm' is for minutes (approximate cooking time)
   2.499 -	min=$(_n "~ \${div}m"); [ "$div" = 0 ] && min=""
   2.500 -	_ "Summary for: \$PACKAGE \$VERSION"
   2.501 +	case $div in
   2.502 +		0) min='';;
   2.503 +		# L10n: 'm' is for minutes (approximate cooking time)
   2.504 +		*) min=$(_n '~ %dm' "$div");;
   2.505 +	esac
   2.506 +
   2.507 +	_ 'Summary for: %s' "$PACKAGE $VERSION"
   2.508  	separator
   2.509 +
   2.510  	# L10n: keep the same width of translations to get a consistent view
   2.511 -	[ "$srcdir" ]  && _ "Source dir  : \$srcdir"
   2.512 -	[ "$TARBALL" ] && _ "Src file    : \$TARBALL"
   2.513 -	[ "$srcsize" ] && _ "Src size    : \$srcsize"
   2.514 -	[ "$prod" ]    && _ "Produced    : \$prod"
   2.515 -	_ "Packed      : \$fs"
   2.516 -	_ "Compressed  : \$size"
   2.517 -	_ "Files       : \$files"
   2.518 +	[ -n "$srcdir" ]  && _ 'Source dir  : %s' "$srcdir"
   2.519 +	[ -n "$TARBALL" ] && _ 'Src file    : %s' "$TARBALL"
   2.520 +	[ -n "$srcsize" ] && _ 'Src size    : %s' "$srcsize"
   2.521 +	[ -n "$prod" ]    && _ 'Produced    : %s' "$prod"
   2.522 +	_ 'Packed      : %s' "$fs"
   2.523 +	_ 'Compressed  : %s' "$size"
   2.524 +	_ 'Files       : %s' "$files"
   2.525  	# L10n: 's' is for seconds (cooking time)
   2.526 -	_ "Cook time   : \${sec}s \$min"
   2.527 -	_ "Cook date   : \$cookdate"
   2.528 -	_ "Host arch   : \$ARCH"
   2.529 +	_ 'Cook time   : %ds %s' "$sec" "$min"
   2.530 +	_ 'Cook date   : %s' "$(date "$(_ '+%%F %%R')")"
   2.531 +	_ 'Host arch   : %s' "$ARCH"
   2.532  	separator
   2.533  }
   2.534  
   2.535 +
   2.536  # Display debugging error info.
   2.537 +
   2.538  debug_info() {
   2.539 -	newline; _ "Debug information"; separator
   2.540 +	newline; _ 'Debug information'; separator
   2.541  	# L10n: specify your format of date and time (to help: man date)
   2.542  	# L10n: not bad one is '+%x %R'
   2.543 -	datenow=$(date "$(_ '+%Y-%m-%d %H:%M')")
   2.544 -	_ "Cook date: \$datenow"
   2.545 +	_ 'Cook date: %s' "$(date "$(_ '+%%F %%R')")"
   2.546  	# L10n: Please, translate all messages beginning with ERROR in a same way
   2.547 -	lerror=$(_n "ERROR")
   2.548 +	lerror=$(_n 'ERROR')
   2.549  	for error in \
   2.550 -		ERROR $lerror "No package" "cp: can't" "can't open" "can't cd" \
   2.551 -		"error:" "fatal error:" "undefined reference to" \
   2.552 -		"Unable to connect to" "link: cannot find the library" \
   2.553 -		"CMake Error" ": No such file or directory"
   2.554 +		ERROR $lerror 'No package' "cp: can't" "can't open" "can't cd" \
   2.555 +		'error:' 'fatal error:' 'undefined reference to' \
   2.556 +		'Unable to connect to' 'link: cannot find the library' \
   2.557 +		'CMake Error' ': No such file or directory'
   2.558  	do
   2.559  		fgrep "$error" $LOGS/$pkg.log
   2.560  	done > $LOGS/$pkg.log.debug_info 2>&1
   2.561 @@ -370,16 +408,16 @@
   2.562  	separator; newline
   2.563  }
   2.564  
   2.565 +
   2.566  # Copy all generic files (locale, pixmaps, .desktop). We use standard paths,
   2.567  # so some packages need to copy these files with the receipt and genpkg_rules.
   2.568 -copy_generic_files()
   2.569 -{
   2.570 +
   2.571 +copy_generic_files() {
   2.572  	# $LOCALE is set in cook.conf
   2.573 -	if [ "$LOCALE" -a "$WANTED" = "" ]; then
   2.574 +	if [ -n "$LOCALE" -a -z "$WANTED" ]; then
   2.575  		if [ -d "$install/usr/share/locale" ]; then
   2.576  			mkdir -p $fs/usr/share/locale
   2.577 -			for i in $LOCALE
   2.578 -			do
   2.579 +			for i in $LOCALE; do
   2.580  				if [ -d "$install/usr/share/locale/$i" ]; then
   2.581  					cp -a $install/usr/share/locale/$i $fs/usr/share/locale
   2.582  				fi
   2.583 @@ -388,7 +426,7 @@
   2.584  	fi
   2.585  
   2.586  	# Generic pixmaps copy can be disabled with GENERIC_PIXMAPS="no"
   2.587 -	if [ "$GENERIC_PIXMAPS" != "no" ]; then
   2.588 +	if [ "$GENERIC_PIXMAPS" != 'no' ]; then
   2.589  		if [ -d "$install/usr/share/pixmaps" ]; then
   2.590  			mkdir -p $fs/usr/share/pixmaps
   2.591  			if [ -f "$install/usr/share/pixmaps/$PACKAGE.png" ]; then
   2.592 @@ -409,8 +447,8 @@
   2.593  
   2.594  	# Desktop entry (.desktop).
   2.595  	# Generic desktop entry copy can be disabled with GENERIC_MENUS="no"
   2.596 -	if [ "$GENERIC_MENUS" != "no" ]; then
   2.597 -		if [ -d "$install/usr/share/applications" ] && [ "$WANTED" == "" ]; then
   2.598 +	if [ "$GENERIC_MENUS" != 'no' ]; then
   2.599 +		if [ -d "$install/usr/share/applications" ] && [ -z "$WANTED" ]; then
   2.600  			mkdir -p $fs/usr/share
   2.601  			cp -a $install/usr/share/applications $fs/usr/share
   2.602  		fi
   2.603 @@ -433,53 +471,54 @@
   2.604  	fi
   2.605  }
   2.606  
   2.607 +
   2.608  # Find and strip: --strip-all (-s) or --strip-debug on static libs as well
   2.609  # as removing unneeded files like in Python packages. Cross compiled binaries
   2.610  # must be stripped with cross-tools aka $ARCH-slitaz-*-strip
   2.611 +
   2.612  strip_package() {
   2.613  	case "$ARCH" in
   2.614 -		arm*|x86_64) export STRIP=${HOST_SYSTEM}-strip ;;
   2.615 -		*) export STRIP=strip ;;
   2.616 +		arm*|x86_64) export STRIP="${HOST_SYSTEM}-strip" ;;
   2.617 +		*)           export STRIP='strip' ;;
   2.618  	esac
   2.619 -	_n "Executing strip on all files..."
   2.620 -	for dir in $fs/bin $fs/sbin $fs/usr/bin $fs/usr/sbin $fs/usr/games
   2.621 -	do
   2.622 +	_n 'Executing strip on all files...'
   2.623 +	for dir in $fs/bin $fs/sbin $fs/usr/bin $fs/usr/sbin $fs/usr/games; do
   2.624  		if [ -d "$dir" ]; then
   2.625  			find $dir -type f -exec $STRIP -s '{}' 2>/dev/null \;
   2.626  		fi
   2.627  	done
   2.628 -	find $fs -name "*.so*" -exec $STRIP -s '{}' 2>/dev/null \;
   2.629 -	find $fs -name "*.a" -exec $STRIP --strip-debug '{}' 2>/dev/null \;
   2.630 +	find $fs -name '*.so*' -exec $STRIP -s '{}' 2>/dev/null \;
   2.631 +	find $fs -name '*.a' -exec $STRIP --strip-debug '{}' 2>/dev/null \;
   2.632  	status
   2.633  
   2.634  	# Remove Python .pyc and .pyo from packages.
   2.635 -	if echo "$PACKAGE $DEPENDS" | fgrep -q "python"; then
   2.636 -		_n "Removing Python compiled files..."
   2.637 -		find $fs -type f -name "*.pyc" -delete 2>/dev/null
   2.638 -		find $fs -type f -name "*.pyo" -delete 2>/dev/null
   2.639 +	if echo "$PACKAGE $DEPENDS" | fgrep -q 'python'; then
   2.640 +		_n 'Removing Python compiled files...'
   2.641 +		find $fs -type f \( -name '*.pyc' -o -name '*.pyo' \) -delete 2>/dev/null
   2.642  		status
   2.643  	fi
   2.644  
   2.645  	# Remove Perl perllocal.pod and .packlist from packages.
   2.646 -	if echo "$DEPENDS" | fgrep -q "perl"; then
   2.647 -		_n "Removing Perl compiled files..."
   2.648 -		find $fs -type f -name "perllocal.pod" -delete 2>/dev/null
   2.649 -		find $fs -type f -name ".packlist" -delete 2>/dev/null
   2.650 +	if echo "$DEPENDS" | fgrep -q 'perl'; then
   2.651 +		_n 'Removing Perl compiled files...'
   2.652 +		find $fs -type f \( -name 'perllocal.pod' -o -name '.packlist' \) -delete 2>/dev/null
   2.653  		status
   2.654  	fi
   2.655  }
   2.656  
   2.657 +
   2.658  # Remove installed deps.
   2.659 +
   2.660  remove_deps() {
   2.661  	# Now remove installed build deps.
   2.662 -	diff="/tmp/installed.cook.diff"
   2.663 +	diff='/tmp/installed.cook.diff'
   2.664  	if [ -s $diff ]; then
   2.665  		deps=$(cat $diff | grep ^+[a-zA-Z0-9] | sed s/^+//)
   2.666  		nb=$(cat $diff | grep ^+[a-zA-Z0-9] | wc -l)
   2.667 -		_n "Build dependencies to remove: "; echo $nb $root
   2.668 -		_n "Removing:"
   2.669 -		for dep in $deps
   2.670 -		do
   2.671 +		_n 'Build dependencies to remove:'; echo " $nb"
   2.672 +		[ -n "$root" ] && echo "root=\"$root\""
   2.673 +		_n 'Removing:'
   2.674 +		for dep in $deps; do
   2.675  			echo -n " $dep"
   2.676  			echo 'y' | tazpkg remove $dep --root=$root >/dev/null
   2.677  		done
   2.678 @@ -489,9 +528,11 @@
   2.679  	fi
   2.680  }
   2.681  
   2.682 +
   2.683  # The main cook function.
   2.684 +
   2.685  cookit() {
   2.686 -	_ "Cook: \$PACKAGE \$VERSION"; separator
   2.687 +	_ 'Cook: %s' "$PACKAGE $VERSION"; separator
   2.688  	set_paths
   2.689  
   2.690  	# Handle cross-tools.
   2.691 @@ -499,49 +540,49 @@
   2.692  		arm*|x86_64)
   2.693  			# CROSS_COMPILE is used by at least Busybox and the kernel to set
   2.694  			# the cross-tools prefix. Sysroot is the root of our target arch
   2.695 -			sysroot=$CROSS_TREE/sysroot
   2.696 -			tools=$CROSS_TREE/tools
   2.697 +			sysroot="$CROSS_TREE/sysroot"
   2.698 +			tools="$CROSS_TREE/tools"
   2.699  			# Set root path when cross compiling. ARM tested but not x86_64
   2.700  			# When cross compiling we must install build deps in $sysroot.
   2.701  			arch="-${ARCH}"
   2.702 -			root=$sysroot
   2.703 -			_ "\$ARCH sysroot: \$sysroot"
   2.704 -			_ "Adding \$tools/bin to PATH"
   2.705 -			export PATH=$PATH:$tools/bin
   2.706 -			export PKG_CONFIG_PATH=$sysroot/usr/lib/pkgconfig
   2.707 -			export CROSS_COMPILE=${HOST_SYSTEM}-
   2.708 -			_ "Using cross-tools: \$CROSS_COMPILE"
   2.709 -			if [ "$ARCH" == "x86_64" ]; then
   2.710 +			root="$sysroot"
   2.711 +			_ '%s sysroot: %s' "$ARCH" "$sysroot"
   2.712 +			_ 'Adding "%s" to PATH' "$tools/bin"
   2.713 +			export PATH="$PATH:$tools/bin"
   2.714 +			export PKG_CONFIG_PATH="$sysroot/usr/lib/pkgconfig"
   2.715 +			export CROSS_COMPILE="${HOST_SYSTEM}-"
   2.716 +			_ 'Using cross-tools: %s' "$CROSS_COMPILE"
   2.717 +			if [ "$ARCH" == 'x86_64' ]; then
   2.718  				export CC="${HOST_SYSTEM}-gcc -m64"
   2.719  				export CXX="${HOST_SYSTEM}-g++ -m64"
   2.720  			else
   2.721 -				export CC=${HOST_SYSTEM}-gcc
   2.722 -				export CXX=${HOST_SYSTEM}-g++
   2.723 +				export CC="${HOST_SYSTEM}-gcc"
   2.724 +				export CXX="${HOST_SYSTEM}-g++"
   2.725  			fi
   2.726 -			export AR=${HOST_SYSTEM}-ar
   2.727 -			export AS=${HOST_SYSTEM}-as
   2.728 -			export RANLIB=${HOST_SYSTEM}-ranlib
   2.729 -			export LD=${HOST_SYSTEM}-ld
   2.730 -			export STRIP=${HOST_SYSTEM}-strip
   2.731 -			export LIBTOOL=${HOST_SYSTEM}-libtool ;;
   2.732 +			export AR="${HOST_SYSTEM}-ar"
   2.733 +			export AS="${HOST_SYSTEM}-as"
   2.734 +			export RANLIB="${HOST_SYSTEM}-ranlib"
   2.735 +			export LD="${HOST_SYSTEM}-ld"
   2.736 +			export STRIP="${HOST_SYSTEM}-strip"
   2.737 +			export LIBTOOL="${HOST_SYSTEM}-libtool" ;;
   2.738  	esac
   2.739  
   2.740 -	[ "$QA" ] && receipt_quality
   2.741 +	[ -n "$QA" ] && receipt_quality
   2.742  	cd $pkgdir
   2.743 -	[ "$continue" ] || rm -rf source 2> /dev/null
   2.744 -	rm -rf install taz 2> /dev/null
   2.745 +	[ -z "$continue" ] && rm -rf source 2>/dev/null
   2.746 +	rm -rf install taz 2>/dev/null
   2.747  
   2.748  	# Disable -pipe if less than 512Mb free RAM.
   2.749 -	free=$(free | fgrep '/+ buffers' | tr -s ' ' | cut -f 4 -d ' ')
   2.750 +	free=$(free | awk '/buffers:/{print $4}')
   2.751  	if [ "$free" -lt 524288 ] && [ "$CFLAGS" != "${CFLAGS/-pipe}" ]; then
   2.752 -		_ "Disabling -pipe compile flag: \$free RAM"
   2.753 -		CFLAGS="${CFLAGS/-pipe}" && CFLAGS=$(echo "$CFLAGS" | tr -s ' ')
   2.754 -		CXXFLAGS="${CXXFLAGS/-pipe}" && CXXFLAGS=$(echo "$CXXFLAGS" | tr -s ' ')
   2.755 +		_ 'Disabling -pipe compile flag: %d RAM free' "$free"
   2.756 +		CFLAGS="${CFLAGS/-pipe}"; CFLAGS=$(echo "$CFLAGS" | tr -s ' ')
   2.757 +		CXXFLAGS="${CXXFLAGS/-pipe}"; CXXFLAGS=$(echo "$CXXFLAGS" | tr -s ' ')
   2.758  	fi
   2.759  	unset free
   2.760  
   2.761  	# Export flags and path to be used by make and receipt.
   2.762 -	DESTDIR=$pkgdir/install
   2.763 +	DESTDIR="$pkgdir/install"
   2.764  	# FIXME: L10n: Is this the right time for 'LC_ALL=C LANG=C'?
   2.765  	export DESTDIR MAKEFLAGS CFLAGS CXXFLAGS CONFIG_SITE LC_ALL=C LANG=C
   2.766  	#LDFLAGS
   2.767 @@ -550,34 +591,32 @@
   2.768  	# (ex: libusb-dev :: libusb).
   2.769  	rm -f $CACHE/installed.local $CACHE/installed.web $CACHE/missing.dep
   2.770  	touch $CACHE/installed.local $CACHE/installed.web
   2.771 -	[ "$BUILD_DEPENDS" ] && _ "Checking build dependencies..."
   2.772 -	[ "$root" ] && _ "Using packages DB: \${root}\$DB"
   2.773 -	for dep in $BUILD_DEPENDS
   2.774 -	do
   2.775 -		implicit=${dep%-dev}
   2.776 -		for i in $dep $implicit
   2.777 -		do
   2.778 +	[ -n "$BUILD_DEPENDS" ] && _ 'Checking build dependencies...'
   2.779 +	[ -n "$root" ] && _ 'Using packages DB: %s' "$root$DB"
   2.780 +	for dep in $BUILD_DEPENDS; do
   2.781 +		implicit="${dep%-dev}"
   2.782 +		for i in $dep $implicit; do
   2.783  			if [ ! -f "${root}$INSTALLED/$i/receipt" ]; then
   2.784  				# Try local package first. In some cases implicit doesn't exist, ex:
   2.785  				# libboost-dev exists but not libboost, so check if we got vers.
   2.786  				unset vers
   2.787  				vers=$(. $WOK/$i/receipt 2>/dev/null ; echo $VERSION)
   2.788  				# We may have a local package.
   2.789 -				if [ ! "$vers" ]; then
   2.790 -					vers=$(grep "^$i |" $PKGS/packages.desc | awk '{print $3}')
   2.791 +				if [ -z "$vers" ]; then
   2.792 +					vers=$(awk -F$'\t' -vp="$i" '$1==p{print $2; quit}' $PKGS/packages.info)
   2.793  				fi
   2.794  				debug "bdep: $i version: $vers"
   2.795 -				if [ -f "$PKGS/$i-${vers}${arch}.tazpkg" ]; then
   2.796 -					echo $i-${vers}${arch}.tazpkg >> $CACHE/installed.local
   2.797 +				if [ -f "$PKGS/$i-$vers$arch.tazpkg" ]; then
   2.798 +					echo $i-$vers$arch.tazpkg >> $CACHE/installed.local
   2.799  				else
   2.800  					# Priority to package version in wok (maybe more up-to-date)
   2.801  					# than the mirrored one.
   2.802 -					if [ "$vers" ]; then
   2.803 -						if fgrep -q $i-${vers}${arch} ${root}$DB/packages.list; then
   2.804 +					if [ -n "$vers" ]; then
   2.805 +						if fgrep -q $i-$vers$arch $root$DB/packages.list; then
   2.806  							echo $i >> $CACHE/installed.web
   2.807  						else
   2.808  							# So package exists in wok but not available.
   2.809 -							_ "Missing dep (wok/pkg): \$i \$vers"
   2.810 +							_ 'Missing dep (wok/pkg): %s' "$i $vers"
   2.811  							echo $i >> $CACHE/missing.dep
   2.812  						fi
   2.813  					else
   2.814 @@ -585,7 +624,8 @@
   2.815  						if fgrep -q $i-${vers}${arch} ${root}$DB/packages.list; then
   2.816  							echo $i >> $CACHE/installed.web
   2.817  						else
   2.818 -							_ "ERROR: unknown dep \$i"; exit 1
   2.819 +							_ 'ERROR: unknown dep "%s"' "$i"
   2.820 +							exit 1
   2.821  						fi
   2.822  					fi
   2.823  				fi
   2.824 @@ -594,20 +634,19 @@
   2.825  	done
   2.826  
   2.827  	# Get the list of installed packages
   2.828 -	cd ${root}$INSTALLED && ls -1 > $CACHE/installed.list
   2.829 +	cd $root$INSTALLED; ls -1 > $CACHE/installed.list
   2.830  
   2.831  	# Have we a missing build dep to cook?
   2.832 -	if [ -s "$CACHE/missing.dep" ] && [ "$AUTO_COOK" ]; then
   2.833 -		_ "Auto cook config is set: AUTO_COOK"
   2.834 +	if [ -s "$CACHE/missing.dep" ] && [ -n "$AUTO_COOK" ]; then
   2.835 +		_ 'Auto cook config is set: %s' "$AUTO_COOK"
   2.836  		cp -f $LOGS/$PACKAGE.log $LOGS/$PACKAGE.log.$$
   2.837 -		for i in $(uniq $CACHE/missing.dep)
   2.838 -		do
   2.839 -			(_ "Building dep (wok/pkg)    : \$i \$vers") | \
   2.840 +		for i in $(uniq $CACHE/missing.dep); do
   2.841 +			(_ 'Building dep (wok/pkg)    : %s' "$i $vers") | \
   2.842  				tee -a $LOGS/$PACKAGE.log.$$
   2.843  			# programmers: next two messages are exact copy from remove_deps()
   2.844 -			togrep1=$(_n "Build dependencies to remove: ")
   2.845 -			togrep2=$(_n "Removing:")
   2.846 -			cook $i || (_ "ERROR: can't cook dep '\$i'" && newline && \
   2.847 +			togrep1=$(_n 'Build dependencies to remove:')
   2.848 +			togrep2=$(_n 'Removing:')
   2.849 +			cook $i || (_ "ERROR: can't cook dep \"%s\"" "$i" && newline && \
   2.850  				fgrep $togrep1 $LOGS/$i.log && \
   2.851  				fgrep $togrep2 $LOGS/$i.log && newline) | \
   2.852  				tee -a $LOGS/$PACKAGE.log.$$ && break
   2.853 @@ -619,59 +658,59 @@
   2.854  	# QA: Exit on missing dep errors. We exit in both cases, if AUTO_COOK
   2.855  	# is enabled and cook fails we have ERROR in log, if no auto cook we have
   2.856  	# missing dep in cached file.
   2.857 -	lerror=$(_n "ERROR")
   2.858 +	lerror=$(_n 'ERROR')
   2.859  	if fgrep -q ^$lerror $LOGS/$pkg.log || [ -s "$CACHE/missing.dep" ]; then
   2.860  		[ -s "$CACHE/missing.dep" ] && nb=$(cat $CACHE/missing.dep | wc -l)
   2.861 -		_ "ERROR: missing dep \$nb" && exit 1
   2.862 +		_p 'ERROR: missing %d dependency' 'ERROR: missing %d dependencies' "$nb" "$nb"
   2.863 +		exit 1
   2.864  	fi
   2.865  
   2.866  	# Install local packages: package-version${arch}
   2.867  	cd $PKGS
   2.868 -	for i in $(uniq $CACHE/installed.local)
   2.869 -	do
   2.870 -		_ "Installing dep (pkg/local): \$i"
   2.871 +	for i in $(uniq $CACHE/installed.local); do
   2.872 +		_ 'Installing dep (pkg/local): %s' "$i"
   2.873  		tazpkg install $i --root=$root >/dev/null
   2.874  	done
   2.875  
   2.876  	# Install web or cached packages (if mirror is set to $PKGS we only
   2.877  	# use local packages).
   2.878 -	for i in $(uniq $CACHE/installed.web)
   2.879 -	do
   2.880 -		_ "Installing dep (web/cache): \$i"
   2.881 +	for i in $(uniq $CACHE/installed.web); do
   2.882 +		_ 'Installing dep (web/cache): %s' "$i"
   2.883  		tazpkg get-install $i --root=$root >/dev/null
   2.884  	done
   2.885  
   2.886  	# If a cook failed deps are removed.
   2.887 -	cd ${root}$INSTALLED && ls -1 > $CACHE/installed.cook && cd $CACHE
   2.888 -	[ ! -s "/tmp/installed.cook.diff" ] && \
   2.889 +	cd $root$INSTALLED; ls -1 > $CACHE/installed.cook
   2.890 +	cd $CACHE
   2.891 +	[ ! -s '/tmp/installed.cook.diff' ] && \
   2.892  		busybox diff installed.list installed.cook > /tmp/installed.cook.diff
   2.893  	deps=$(cat /tmp/installed.cook.diff | grep ^+[a-zA-Z0-9] | wc -l)
   2.894  
   2.895  	# Get source tarball and make sure we have source dir named:
   2.896  	# $PACKAGE-$VERSION to be standard in receipts. Here we use tar.lzma
   2.897  	# tarball if it exists.
   2.898 -	if [ "$WGET_URL" ] && [ ! -f "$SRC/$TARBALL" ]; then
   2.899 +	if [ -n "$WGET_URL" ] && [ ! -f "$SRC/$TARBALL" ]; then
   2.900  		if [ -f "$SRC/${SOURCE:-$PACKAGE}-$VERSION.tar.lzma" ]; then
   2.901 -			TARBALL=${SOURCE:-$PACKAGE}-$VERSION.tar.lzma
   2.902 -			LZMA_SRC=""
   2.903 +			TARBALL="${SOURCE:-$PACKAGE}-$VERSION.tar.lzma"
   2.904 +			LZMA_SRC=''
   2.905  		else
   2.906  			get_source || exit 1
   2.907  		fi
   2.908  	fi
   2.909 -	if [ ! "$WANTED" ] && [ "$TARBALL" ] && [ ! -d "$src" ]; then
   2.910 -		mkdir -p $pkgdir/source/tmp && cd $pkgdir/source/tmp
   2.911 +	if [ -z "$WANTED" ] && [ -n "$TARBALL" ] && [ ! -d "$src" ]; then
   2.912 +		mkdir -p $pkgdir/source/tmp; cd $pkgdir/source/tmp
   2.913  		if ! extract_source ; then
   2.914  			get_source
   2.915  			extract_source || exit 1
   2.916  		fi
   2.917 -		if [ "$LZMA_SRC" ]; then
   2.918 +		if [ -n "$LZMA_SRC" ]; then
   2.919  			cd $pkgdir/source
   2.920  			if [ "$(ls -A tmp | wc -l)" -gl 1 ] || [ -f "$(echo tmp/*)" ]; then
   2.921 -				mv tmp tmp-1 && mkdir tmp
   2.922 +				mv tmp tmp-1; mkdir tmp
   2.923  				mv tmp-1 tmp/${SOURCE:-$PACKAGE}-$VERSION
   2.924  			fi
   2.925  			if [ -d "tmp/${SOURCE:-$PACKAGE}-$VERSION" ]; then
   2.926 -				cd tmp && tar -c * | lzma e $SRC/$TARBALL -si
   2.927 +				cd tmp; tar -c * | lzma e $SRC/$TARBALL -si
   2.928  			fi
   2.929  		fi
   2.930  		cd $pkgdir/source/tmp
   2.931 @@ -680,9 +719,9 @@
   2.932  		[ "$files" == 1 ] && [ -d "$(ls)" ] && mv * ../$PACKAGE-$VERSION
   2.933  		[ "$files" == 1 ] && [ -f "$(ls)" ] && mkdir -p ../$PACKAGE-$VERSION && \
   2.934  			mv * ../$PACKAGE-$VERSION/$TARBALL
   2.935 -		[ "$files" -gt 1 ]  && mkdir -p ../$PACKAGE-$VERSION && \
   2.936 +		[ "$files" -gt 1 ] && mkdir -p ../$PACKAGE-$VERSION && \
   2.937  			mv * ../$PACKAGE-$VERSION
   2.938 -		cd .. && rm -rf tmp
   2.939 +		cd ..; rm -rf tmp
   2.940  	fi
   2.941  
   2.942  	# Libtool shared libs path hack.
   2.943 @@ -692,7 +731,7 @@
   2.944  
   2.945  	# Execute receipt rules.
   2.946  	if grep -q ^compile_rules $receipt; then
   2.947 -		_ "Executing: compile_rules"
   2.948 +		_ 'Executing: %s' 'compile_rules'
   2.949  		echo "CFLAGS   : $CFLAGS"
   2.950  		#echo "LDFLAGS  : $LDFLAGS"
   2.951  		[ -d "$src" ] && cd $src
   2.952 @@ -709,28 +748,33 @@
   2.953  
   2.954  	# Execute testsuite.
   2.955  	if grep -q ^testsuite $receipt; then
   2.956 -		_ "Running testsuite"; separator
   2.957 +		_ 'Running testsuite'; separator
   2.958  		testsuite $@ || exit 1
   2.959  		separator; newline
   2.960  	fi
   2.961  }
   2.962  
   2.963 +
   2.964  # Cook quality assurance.
   2.965 +
   2.966  cookit_quality() {
   2.967 -	if [ ! -d "$WOK/$pkg/install" ] && [ ! "$WANTED" ]; then
   2.968 -		_ "ERROR: cook failed" | tee -a $LOGS/$pkg.log
   2.969 +	if [ ! -d "$WOK/$pkg/install" ] && [ -z "$WANTED" ]; then
   2.970 +		_ 'ERROR: cook failed' | tee -a $LOGS/$pkg.log
   2.971  	fi
   2.972  	# ERROR can be echoed any time in cookit()
   2.973 -	lerror=$(_n "ERROR")
   2.974 +	lerror=$(_n 'ERROR')
   2.975  	if grep -Ev "(conftest|configtest)" $LOGS/$pkg.log | \
   2.976  	   grep -Eq "(^$lerror|undefined reference to)" ; then
   2.977  		debug_info | tee -a $LOGS/$pkg.log
   2.978 -		rm -f $command && exit 1
   2.979 +		rm -f $command
   2.980 +		exit 1
   2.981  	fi
   2.982  }
   2.983  
   2.984 -# Create the package. Wanted to use Tazpkg to create a tazpkg package at first,
   2.985 +
   2.986 +# Create the package. Wanted to use TazPkg to create a tazpkg package at first,
   2.987  # but it doesn't handle EXTRAVERSION.
   2.988 +
   2.989  packit() {
   2.990  	set_paths
   2.991  
   2.992 @@ -739,46 +783,45 @@
   2.993  		arm*|x86_64) arch="-$ARCH" ;;
   2.994  	esac
   2.995  
   2.996 -	_ "Pack: \$PACKAGE \${VERSION}\${arch}"; separator
   2.997 +	_ 'Pack: %s' "$PACKAGE $VERSION$arch"; separator
   2.998  
   2.999  	if grep -q ^genpkg_rules $receipt; then
  2.1000 -		_ "Executing: genpkg_rules"
  2.1001 -		set -e && cd $pkgdir && mkdir -p $fs
  2.1002 -		genpkg_rules || (newline; _ "ERROR: genpkg_rules failed"; newline) >> \
  2.1003 +		_ 'Executing: %s' 'genpkg_rules'
  2.1004 +		set -e; cd $pkgdir; mkdir -p $fs
  2.1005 +		genpkg_rules || (newline; _ 'ERROR: genpkg_rules failed'; newline) >> \
  2.1006  			$LOGS/$pkg.log
  2.1007  	else
  2.1008 -		_ "No packages rules: meta package"
  2.1009 +		_ 'No packages rules: meta package'
  2.1010  		mkdir -p $fs
  2.1011  	fi
  2.1012  
  2.1013  	# First QA check to stop now if genpkg_rules failed.
  2.1014 -	lerror=$(_n "ERROR")
  2.1015 +	lerror=$(_n 'ERROR')
  2.1016  	if fgrep -q ^$lerror $LOGS/$pkg.log; then
  2.1017  		exit 1
  2.1018  	fi
  2.1019  
  2.1020  	cd $taz
  2.1021 -	for file in receipt description.txt
  2.1022 -	do
  2.1023 +	for file in receipt description.txt; do
  2.1024  		[ ! -f "../$file" ] && continue
  2.1025 -		_n "Copying \$file..."
  2.1026 -		cp -f ../$file $pack && chown 0.0 $pack/$file && status
  2.1027 +		_n 'Copying "%s"...' "$file"
  2.1028 +		cp -f ../$file $pack; chown 0.0 $pack/$file; status
  2.1029  	done
  2.1030  	copy_generic_files
  2.1031  
  2.1032 -	# Create files.list with redirecting find output.
  2.1033 -	_n "Creating the list of files..."
  2.1034 -	cd $fs
  2.1035 -	find . -type f -print > ../files.list
  2.1036 -	find . -type l -print >> ../files.list
  2.1037 -	cd .. && sed -i s/'^.'/''/ files.list
  2.1038 -	status
  2.1039 -
  2.1040  	# Strip and stuff files.
  2.1041  	strip_package
  2.1042  
  2.1043 +	# Create files.list with redirecting find output.
  2.1044 +	_n 'Creating the list of files...'
  2.1045 +	cd $fs
  2.1046 +	find . -type f -print > ../files.list
  2.1047 +	find . -type l -print >> ../files.list
  2.1048 +	cd ..; sed -i s/'^.'/''/ files.list
  2.1049 +	status
  2.1050 +
  2.1051  	# Md5sum of files.
  2.1052 -	_n "Creating md5sum of files..."
  2.1053 +	_n 'Creating md5sum of files...'
  2.1054  	while read file; do
  2.1055  		[ -L "fs$file" ] && continue
  2.1056  		[ -f "fs$file" ] || continue
  2.1057 @@ -788,49 +831,54 @@
  2.1058  		md5sum "fs$file" | sed 's/  fs/  /'
  2.1059  	done < files.list > md5sum
  2.1060  	status
  2.1061 -	UNPACKED_SIZE=$(du -chs fs receipt files.list md5sum \
  2.1062 -		description.txt 2> /dev/null | awk \
  2.1063 -		'{ sz=$1 } END { print sz }')
  2.1064 +
  2.1065 +	UNPACKED_SIZE=$(du -chs fs receipt files.list md5sum description.txt \
  2.1066 +		2>/dev/null | awk 'END{ print $1 }')
  2.1067  
  2.1068  	# Build cpio archives.
  2.1069 -	_n "Compressing the fs..."
  2.1070 +	_n 'Compressing the FS...'
  2.1071  	find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si
  2.1072  	rm -rf fs
  2.1073  	status
  2.1074 -	PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list \
  2.1075 -		md5sum description.txt 2> /dev/null | awk \
  2.1076 -		'{ sz=$1 } END { print sz }')
  2.1077 -	_n "Updating receipt sizes..."
  2.1078 +
  2.1079 +	PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list md5sum description.txt \
  2.1080 +		2>/dev/null | awk 'END{ print $1 }')
  2.1081 +
  2.1082 +	_n 'Updating receipt sizes...'
  2.1083  	sed -i s/^PACKED_SIZE.*$// receipt
  2.1084  	sed -i s/^UNPACKED_SIZE.*$// receipt
  2.1085  	sed -i "s/^PACKAGE=/PACKED_SIZE=\"$PACKED_SIZE\"\nUNPACKED_SIZE=\"$UNPACKED_SIZE\"\nPACKAGE=/" receipt
  2.1086  	status
  2.1087  
  2.1088  	# Set extra version.
  2.1089 -	if [ "$EXTRAVERSION" ]; then
  2.1090 -		_n "Updating receipt EXTRAVERSION: \$EXTRAVERSION"
  2.1091 +	if [ -n "$EXTRAVERSION" ]; then
  2.1092 +		_n 'Updating receipt EXTRAVERSION: %s' "$EXTRAVERSION"
  2.1093  		sed -i s/^EXTRAVERSION.*$// receipt
  2.1094  		sed -i "s/^VERSION=/EXTRAVERSION=\"$EXTRAVERSION\"\nVERSION=/" receipt
  2.1095  		status
  2.1096  	fi
  2.1097  
  2.1098  	# Compress.
  2.1099 -	_n "Creating full cpio archive..."
  2.1100 +	_n 'Creating full cpio archive...'
  2.1101  	find . -print | cpio -o -H newc --quiet > \
  2.1102  		../$PACKAGE-${VERSION}${EXTRAVERSION}${arch}.tazpkg
  2.1103  	status
  2.1104 -	_n "Restoring original package tree..."
  2.1105 +
  2.1106 +	_n 'Restoring original package tree...'
  2.1107  	unlzma -c fs.cpio.lzma | cpio -idm --quiet
  2.1108  	status
  2.1109 -	rm fs.cpio.lzma && cd ..
  2.1110 +
  2.1111 +	rm fs.cpio.lzma; cd ..
  2.1112  
  2.1113  	# QA and give info.
  2.1114  	tazpkg=$(ls *.tazpkg)
  2.1115  	packit_quality
  2.1116 -	separator; _ "Package: \$tazpkg"; newline
  2.1117 +	separator; _ 'Package "%s" created' "$tazpkg"; newline
  2.1118  }
  2.1119  
  2.1120 +
  2.1121  # Verify package quality and consistency.
  2.1122 +
  2.1123  packit_quality() {
  2.1124  	#gettext "QA: checking for broken link..."
  2.1125  	#link=$(find $fs/usr -type l -follow)
  2.1126 @@ -838,24 +886,25 @@
  2.1127  	#status
  2.1128  
  2.1129  	# Exit if any error found in log file.
  2.1130 -	lerror=$(_n "ERROR")
  2.1131 +	lerror=$(_n 'ERROR')
  2.1132  	if fgrep -q ^$lerror $LOGS/$pkg.log; then
  2.1133 -		rm -f $command && exit 1
  2.1134 +		rm -f $command
  2.1135 +		exit 1
  2.1136  	fi
  2.1137  
  2.1138 -	_n "QA: checking for empty package..."
  2.1139 +	_n 'QA: checking for empty package...'
  2.1140  	files=$(cat $WOK/$pkg/taz/$pkg-*/files.list | wc -l)
  2.1141 -	if [ "$files" == 0 ] && [ "$CATEGORY" != "meta" ]; then
  2.1142 -		newline; _ "ERROR: empty package"
  2.1143 -		rm -f $command && exit 1
  2.1144 +	if [ "$files" == 0 ] && [ "$CATEGORY" != 'meta' ]; then
  2.1145 +		newline; _ 'ERROR: empty package'
  2.1146 +		rm -f $command
  2.1147 +		exit 1
  2.1148  	else
  2.1149  		# Ls sort by name so the first file is the one we want.
  2.1150 -		old=$(ls $PKGS/$pkg-*.tazpkg 2>/dev/null | head -n 1)
  2.1151 +		old=$(ls $PKGS/$pkg-*.tazpkg 2>/dev/null | head -n1)
  2.1152  		status
  2.1153  		if [ -f "$old" ]; then
  2.1154 -			old_pkg=$(basename $old)
  2.1155 -			_n "Removing old: \$old_pkg"
  2.1156 -			rm -f $old && status
  2.1157 +			_n 'Removing old package "%s"' "$(basename $old)"
  2.1158 +			rm -f $old; status
  2.1159  		fi
  2.1160  		mv -f $pkgdir/taz/$pkg-*.tazpkg $PKGS
  2.1161  		sed -i /^${pkg}$/d $broken
  2.1162 @@ -864,44 +913,49 @@
  2.1163  	fi
  2.1164  }
  2.1165  
  2.1166 -# Tic tac, tic tac...
  2.1167 +
  2.1168 +# Reverse "cat" command: prints input lines in the reverse order
  2.1169 +
  2.1170  tac() {
  2.1171  	sed '1!G;h;$!d' $1
  2.1172  }
  2.1173  
  2.1174 +
  2.1175  # Install package on --install or update the chroot.
  2.1176 +
  2.1177  install_package() {
  2.1178  	case "$ARCH" in
  2.1179  		arm*|x86_64)
  2.1180  			arch="-${ARCH}"
  2.1181 -			root=$CROSS_TREE/sysroot ;;
  2.1182 +			root="$CROSS_TREE/sysroot" ;;
  2.1183  	esac
  2.1184  	# Install package if requested but skip install if target host doesn't
  2.1185  	# match build system or it will break the build chroot.
  2.1186 -	build=$(echo $BUILD_SYSTEM | cut -d "-" -f 1)
  2.1187 -	if [ "$inst" ] && [ "$build" == "$ARCH" ]; then
  2.1188 +	build=$(echo $BUILD_SYSTEM | cut -d- -f1)
  2.1189 +	if [ -n "$inst" ] && [ "$build" == "$ARCH" ]; then
  2.1190  		if [ -f "$PKGS/$PACKAGE-${VERSION}${EXTRAVERSION}.tazpkg" ]; then
  2.1191 -			cd $PKGS && tazpkg install \
  2.1192 -				$PACKAGE-${VERSION}${EXTRAVERSION}.tazpkg --forced
  2.1193 +			cd $PKGS
  2.1194 +			tazpkg install $PACKAGE-$VERSION$EXTRAVERSION.tazpkg --forced
  2.1195  		else
  2.1196 -			_ "Unable to install package, build has failed."; newline
  2.1197 +			_ 'Unable to install package, build has failed.'; newline
  2.1198  			exit 1
  2.1199  		fi
  2.1200  	fi
  2.1201  
  2.1202  	# Install package if part of the chroot to keep env up-to-date.
  2.1203 -	if [ -d "${root}$INSTALLED/$pkg" ]; then
  2.1204 +	if [ -d "$root$INSTALLED/$pkg" ]; then
  2.1205  		. /etc/slitaz/cook.conf
  2.1206  		. $WOK/$pkg/taz/$pkg-*/receipt
  2.1207 -		_ "Updating \$ARCH chroot environment..."
  2.1208 -		_ "Updating chroot: \$pkg (\${VERSION}\${EXTRAVERSION}\${arch})" | log
  2.1209 -		cd $PKGS && tazpkg install \
  2.1210 -			$pkg-${VERSION}${EXTRAVERSION}${arch}.tazpkg \
  2.1211 -			--forced --root=$root
  2.1212 +		_ 'Updating %s chroot environment...' "$ARCH"
  2.1213 +		_ 'Updating chroot: %s' "$pkg ($VERSION$EXTRAVERSION$arch)" | log
  2.1214 +		cd $PKGS
  2.1215 +		tazpkg install $pkg-$VERSION$EXTRAVERSION$arch.tazpkg --forced --root=$root
  2.1216  	fi
  2.1217  }
  2.1218  
  2.1219 +
  2.1220  # remove chroot jail
  2.1221 +
  2.1222  umount_aufs() {
  2.1223  	tac ${1}rw/aufs-umount.sh | sh
  2.1224  	rm -rf ${1}rw
  2.1225 @@ -909,21 +963,23 @@
  2.1226  	rmdir ${1}r*
  2.1227  }
  2.1228  
  2.1229 +
  2.1230  # Launch the cook command into a chroot jail protected by aufs.
  2.1231  # The current filesystems are used read-only and updates are
  2.1232  # stored in a separate branch.
  2.1233 +
  2.1234  try_aufs_chroot() {
  2.1235  
  2.1236 -	base=/dev/shm/aufsmnt$$
  2.1237 +	base="/dev/shm/aufsmnt$$"
  2.1238  
  2.1239  	# Can we setup the chroot? Is it already done?
  2.1240  	grep -q ^AUFS_NOT_SUPPORTED $receipt && return
  2.1241 -	grep -q ^AUFS_NOT_RAMFS $receipt && base=/mnt/aufsmnt$$
  2.1242 +	grep -q ^AUFS_NOT_RAMFS $receipt && base="/mnt/aufsmnt$$"
  2.1243  	[ -n "$AUFS_MOUNTS" -a ! -f /aufs-umount.sh ] || return
  2.1244  	lsmod | grep -q aufs || modprobe aufs 2> /dev/null || return
  2.1245  	mkdir ${base}root ${base}rw || return
  2.1246  
  2.1247 -	_ "Setup aufs chroot..."
  2.1248 +	_ 'Setup aufs chroot...'
  2.1249  
  2.1250  	# Sanity check
  2.1251  	for i in / /proc /sys /dev/shm /home ; do
  2.1252 @@ -935,7 +991,7 @@
  2.1253  	for mnt in $(ls -d $AUFS_MOUNTS | sort | uniq); do
  2.1254  		mount --bind $mnt ${base}root$mnt
  2.1255  		if [ $mnt == / ] && ! mount -t aufs -o br=${base}rw:/ none ${base}root; then
  2.1256 -			_ "Aufs mountage failure"
  2.1257 +			_ 'Aufs mount failure'
  2.1258  			umount ${base}root
  2.1259  			rm -rf ${base}r*
  2.1260  			return
  2.1261 @@ -947,22 +1003,26 @@
  2.1262  	chroot ${base}root $(cd $(dirname $0); pwd)/$(basename $0) "$@"
  2.1263  	status=$?
  2.1264  
  2.1265 -	_ "Leaving aufs chroot..."
  2.1266 +	_ 'Leaving aufs chroot...'
  2.1267  	umount_aufs ${base}
  2.1268  	# Install package outside the aufs jail
  2.1269  	install_package
  2.1270  	exit $status
  2.1271  }
  2.1272  
  2.1273 +
  2.1274  # Encode predefined XML entities
  2.1275 +
  2.1276  xml_ent() {
  2.1277  	sed -e 's|&|\&amp;|g; s|<|\&lt;|g; s|>|\&gt;|g; s|"|\&quot;|g' -e "s|'|\&apos;|g"
  2.1278  }
  2.1279  
  2.1280 +
  2.1281  # Create a XML feed for freshly built packages.
  2.1282 +
  2.1283  gen_rss() {
  2.1284 -	pubdate=$(date "+%a, %d %b %Y %X")
  2.1285 -	cat > $FEEDS/$pkg.xml << EOT
  2.1286 +	pubdate=$(date '+%a, %d %b %Y %X')
  2.1287 +	cat > $FEEDS/$pkg.xml <<EOT
  2.1288  	<item>
  2.1289  		<title>$PACKAGE $VERSION${EXTRAVERSION}</title>
  2.1290  		<link>${COOKER_URL}?pkg=$PACKAGE</link>
  2.1291 @@ -973,9 +1033,10 @@
  2.1292  EOT
  2.1293  }
  2.1294  
  2.1295 +
  2.1296  # Truncate stdout log file to $1 Mb.
  2.1297 -loglimit()
  2.1298 -{
  2.1299 +
  2.1300 +loglimit() {
  2.1301  	if [ -n "$DEFAULT_LOG_LIMIT" ]; then
  2.1302  		tee /dev/stderr | head -qc ${1:-$DEFAULT_LOG_LIMIT}m
  2.1303  	else
  2.1304 @@ -983,59 +1044,63 @@
  2.1305  	fi
  2.1306  }
  2.1307  
  2.1308 +
  2.1309  # Search file in mirrored packages
  2.1310 -search_file_mirror()
  2.1311 -{
  2.1312 +
  2.1313 +search_file_mirror() {
  2.1314  	busybox unlzma -c $DB/files.list.lzma | grep $1\$ | cut -d: -f1 | sort -u
  2.1315  }
  2.1316  
  2.1317 +
  2.1318  # Search file in local wok packages
  2.1319 -search_file_local()
  2.1320 -{
  2.1321 +
  2.1322 +search_file_local() {
  2.1323  	# existing packages have precedence over the package/taz folder
  2.1324  	srch=$1
  2.1325  	{ for package in $(find $PKGS -name '*.tazpkg'); do
  2.1326 -		if [ ! "x$(busybox cpio --to-stdout --quiet -i files.list < $package | grep /$srch\$)" == "x" ]; then
  2.1327 +		if [ -n "$(busybox cpio --to-stdout --quiet -i files.list < $package | \
  2.1328 +			grep /$srch\$)" ]; then
  2.1329  			busybox cpio -i receipt < $package | fgrep PACKAGE | cut -d\" -f2
  2.1330  		fi
  2.1331  	done } | sort -u
  2.1332  }
  2.1333  
  2.1334 +
  2.1335  # Ask in multiple choice
  2.1336 -ask_multiple()
  2.1337 -{
  2.1338 +
  2.1339 +ask_multiple() {
  2.1340  	local multiples first my_choice
  2.1341  	multiples="$1"
  2.1342  	first=$(echo "$multiples" | head -n1)
  2.1343 -	newline; _ "Multiple choice:\n$multiples\n"
  2.1344 -	_ "Select one [$first]: "; read my_choice
  2.1345 -	[ "x$my_choice" == "x" ] && my_choice="$first"
  2.1346 -	found=$my_choice
  2.1347 +	newline; _ 'Multiple choice:'; echo "$multiples"; newline
  2.1348 +	_ 'Select one [%s]: ' "$first"; read my_choice
  2.1349 +	found="${my_choice:-$first}"
  2.1350  }
  2.1351  
  2.1352 +
  2.1353  # Search file in local cache (fast), local wok packages, mirrored packages
  2.1354 -search_file()
  2.1355 -{
  2.1356 +
  2.1357 +search_file() {
  2.1358  	local srch cache missing
  2.1359 -	srch=$1
  2.1360 -	cache=/var/cache/ldsearch.cache
  2.1361 -	missing=/var/cache/missing.file
  2.1362 +	srch="$1"
  2.1363 +	cache='/var/cache/ldsearch.cache'
  2.1364 +	missing='/var/cache/missing.file'
  2.1365  	touch $cache $missing
  2.1366 -	found=$(grep $srch $cache | cut -d'	' -f2)
  2.1367 -	if [ "x$found" == "x" ]; then
  2.1368 +	found=$(grep $srch $cache | cut -d$'\t' -f2)
  2.1369 +	if [ -z "$found" ]; then
  2.1370  		found=$(search_file_local $srch)
  2.1371 -		if [ "x$found" != "x" ]; then
  2.1372 +		if [ -n "$found" ]; then
  2.1373  			if [ $(echo "$found" | wc -l) -gt 1 ]; then
  2.1374  				ask_multiple "$found"
  2.1375  			fi
  2.1376 -			echo "$srch	$found" >> $cache
  2.1377 +			echo -e "$srch\t$found" >> $cache
  2.1378  		else
  2.1379  			found=$(search_file_mirror $srch)
  2.1380 -			if [ "x$found" != "x" ]; then
  2.1381 +			if [ -n "$found" ]; then
  2.1382  				if [ $(echo "$found" | wc -l) -gt 1 ]; then
  2.1383  					ask_multiple "$found"
  2.1384  				fi
  2.1385 -				echo "$srch	$found" >> $cache
  2.1386 +				echo -e "$srch\t$found" >> $cache
  2.1387  			else
  2.1388  				echo "$srch" >> $missing
  2.1389  			fi
  2.1390 @@ -1043,18 +1108,20 @@
  2.1391  	fi
  2.1392  }
  2.1393  
  2.1394 +
  2.1395  #
  2.1396  # Receipt functions to ease packaging
  2.1397  #
  2.1398  
  2.1399  get_dev_files() {
  2.1400 -	_n "Getting standard devel files..."
  2.1401 +	_n 'Getting standard devel files...'
  2.1402  	mkdir -p $fs/usr/lib
  2.1403  	cp -a $install/usr/lib/pkgconfig $fs/usr/lib
  2.1404  	cp -a $install/usr/include $fs/usr
  2.1405  	status
  2.1406  }
  2.1407  
  2.1408 +
  2.1409  #
  2.1410  # Commands
  2.1411  #
  2.1412 @@ -1062,12 +1129,13 @@
  2.1413  case "$1" in
  2.1414  	usage|help|-u|-h)
  2.1415  		 usage ;;
  2.1416 +
  2.1417  	list-wok)
  2.1418 -		newline; _ "List of \$ARCH packages in: \$WOK"; separator
  2.1419 +		newline; _ 'List of %s packages in "%s"' "$ARCH" "$WOK"; separator
  2.1420  		cd $WOK
  2.1421 -		if [ "$ARCH" != "i486" ]; then
  2.1422 +		if [ "$ARCH" != 'i486' ]; then
  2.1423  			count=0
  2.1424 -			for pkg in $(fgrep 'HOST_ARCH=' */receipt | egrep "$ARCH|any" | cut -d : -f 1)
  2.1425 +			for pkg in $(fgrep 'HOST_ARCH=' */receipt | egrep "$ARCH|any" | cut -d: -f1)
  2.1426  			do
  2.1427  				unset HOST_ARCH
  2.1428  				. $pkg
  2.1429 @@ -1079,78 +1147,79 @@
  2.1430  			ls -1
  2.1431  		fi
  2.1432  		separator
  2.1433 -		_n "Packages:"; colorize 32 " $count"
  2.1434 +		_p '%s package' '%s packages' "$count" "$(colorize 32 "$count")"
  2.1435  		newline ;;
  2.1436 +
  2.1437  	activity)
  2.1438  		cat $activity ;;
  2.1439 +
  2.1440  	search)
  2.1441  		# Just a simple search function, we dont need more actually.
  2.1442  		query="$2"
  2.1443 -		newline; _ "Search results for: \$query"; separator
  2.1444 -		cd $WOK && ls -1 | grep "$query"
  2.1445 +		newline; _ 'Search results for "%s"' "$query"; separator
  2.1446 +		cd $WOK; ls -1 | grep "$query"
  2.1447  		separator; newline ;;
  2.1448 +
  2.1449  	setup)
  2.1450  		# Setup a build environment
  2.1451  		check_root
  2.1452 -		_ "Cook: setup environment" | log
  2.1453 -		newline; _ "Setting up your environment"; separator
  2.1454 +		_ 'Cook: setup environment' | log
  2.1455 +		newline; _ 'Setting up your environment'; separator
  2.1456  		cd $SLITAZ
  2.1457  		init_db_files
  2.1458 -		_ "Checking for packages to install..."
  2.1459 +		_ 'Checking for packages to install...'
  2.1460  		# Use setup pkgs from cross.conf or cook.conf. When cross compiling
  2.1461  		# ARCH-setup or 'cross check' should be used before: cook setup
  2.1462  		case "$ARCH" in
  2.1463  			arm*|x86_64)
  2.1464 -				if [ ! -x "/usr/bin/cross" ]; then
  2.1465 -					_ "ERROR: cross is not installed"
  2.1466 +				if [ ! -x '/usr/bin/cross' ]; then
  2.1467 +					_ 'ERROR: %s is not installed' 'cross'
  2.1468  					exit 1
  2.1469  				fi
  2.1470 -				_ "Using config file: /etc/slitaz/cross.conf"
  2.1471 +				_ 'Using config file: %s' '/etc/slitaz/cross.conf'
  2.1472  				. /etc/slitaz/cross.conf ;;
  2.1473  		esac
  2.1474  		for pkg in $SETUP_PKGS; do
  2.1475 -			if [ "$forced" ]; then
  2.1476 +			if [ -n "$forced" ]; then
  2.1477  				tazpkg -gi $pkg --forced
  2.1478  			else
  2.1479 -				[ -d "$INSTALLED/$pkg" ] || tazpkg get-install $pkg
  2.1480 +				[ ! -d "$INSTALLED/$pkg" ] && tazpkg get-install $pkg
  2.1481  			fi
  2.1482  		done
  2.1483  
  2.1484  		# Handle --options
  2.1485  		case "$2" in
  2.1486 -			--wok)
  2.1487 -				hg clone $WOK_URL wok || exit 1 ;;
  2.1488 -			--stable)
  2.1489 -				hg clone $WOK_URL-stable wok || exit 1 ;;
  2.1490 -			--undigest)
  2.1491 -				hg clone $WOK_URL-undigest wok || exit 1 ;;
  2.1492 -			--tiny)
  2.1493 -				hg clone $WOK_URL-tiny wok || exit 1 ;;
  2.1494 +			--wok)      hg clone $WOK_URL          wok || exit 1 ;;
  2.1495 +			--stable)   hg clone $WOK_URL-stable   wok || exit 1 ;;
  2.1496 +			--undigest) hg clone $WOK_URL-undigest wok || exit 1 ;;
  2.1497 +			--tiny)     hg clone $WOK_URL-tiny     wok || exit 1 ;;
  2.1498  		esac
  2.1499  
  2.1500  		# SliTaz group and permissions
  2.1501  		if ! grep -q ^slitaz /etc/group; then
  2.1502 -			_ "Adding group: slitaz"
  2.1503 +			_ 'Adding group "%s"' 'slitaz'
  2.1504  			addgroup slitaz
  2.1505  		fi
  2.1506 -		_ "Setting permissions for slitaz group..."
  2.1507 +		_ 'Setting permissions for group "%s"...' 'slitaz'
  2.1508  		find $SLITAZ -maxdepth 2 -exec chown root.slitaz {} \;
  2.1509  		find $SLITAZ -maxdepth 2 -exec chmod g+w {} \;
  2.1510 -		separator; _ "All done, ready to cook packages :-)"; newline ;;
  2.1511 +		separator; _ 'All done, ready to cook packages :-)'; newline ;;
  2.1512 +
  2.1513  	*-setup)
  2.1514  		# Setup for cross compiling.
  2.1515 -		arch=${1%-setup}
  2.1516 +		arch="${1%-setup}"
  2.1517  		check_root
  2.1518  		. /etc/slitaz/cook.conf
  2.1519  		for pkg in $CROSS_SETUP; do
  2.1520 -			if [ "$forced" ]; then
  2.1521 +			if [ -n "$forced" ]; then
  2.1522  				tazpkg -gi $pkg --forced
  2.1523  			else
  2.1524 -				[ -d "$INSTALLED/$pkg" ] || tazpkg -gi $pkg
  2.1525 +				[ ! -d "$INSTALLED/$pkg" ] && tazpkg -gi $pkg
  2.1526  			fi
  2.1527  		done
  2.1528 -		_ "Cook: setup \$arch cross environment" | log
  2.1529 -		newline; boldify $(_n "Setting up your \$arch cross environment"); separator
  2.1530 +
  2.1531 +		_ 'Cook: setup %s cross environment' "$arch" | log
  2.1532 +		newline; boldify $(_n 'Setting up your %s cross environment' "$arch"); separator
  2.1533  		init_db_files
  2.1534  		sed -i \
  2.1535  			-e s"/ARCH=.*/ARCH=\"$arch\"/" \
  2.1536 @@ -1159,155 +1228,178 @@
  2.1537  			/etc/slitaz/cook.conf
  2.1538  		case "$arch" in
  2.1539  			arm)
  2.1540 -				flags="-O2 -march=armv6"
  2.1541 +				flags='-O2 -march=armv6'
  2.1542  				host="$ARCH-slitaz-linux-gnueabi" ;;
  2.1543  			armv6hf)
  2.1544 -				flags="-O2 -march=armv6j -mfpu=vfp -mfloat-abi=hard"
  2.1545 +				flags='-O2 -march=armv6j -mfpu=vfp -mfloat-abi=hard'
  2.1546  				host="$ARCH-slitaz-linux-gnueabi" ;;
  2.1547  			armv7)
  2.1548 -				flags="-Os -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -pipe"
  2.1549 +				flags='-Os -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -pipe'
  2.1550  				host="$ARCH-slitaz-linux-gnueabi" ;;
  2.1551  			x86_64)
  2.1552 -				flags="-O2 -mtune=generic -pipe"
  2.1553 +				flags='-O2 -mtune=generic -pipe'
  2.1554  				host="$ARCH-slitaz-linux" ;;
  2.1555  		esac
  2.1556  		sed -i \
  2.1557  			-e s"/CFLAGS=.*/CFLAGS=\"$flags\"/" \
  2.1558  			-e s"/HOST_SYSTEM=.*/HOST_SYSTEM=$host/" /etc/slitaz/cook.conf
  2.1559  		. /etc/slitaz/cook.conf
  2.1560 -		sysroot=$CROSS_TREE/sysroot
  2.1561 -		tools=/cross/$arch/tools
  2.1562 -		root=$sysroot
  2.1563 +		sysroot="$CROSS_TREE/sysroot"
  2.1564 +		tools="/cross/$arch/tools"
  2.1565 +		root="$sysroot"
  2.1566  		# L10n: keep the same width of translations to get a consistent view
  2.1567 -		_ "Target arch     : \$ARCH"
  2.1568 -		_ "Configure args  : \$CONFIGURE_ARGS"
  2.1569 -		_ "Build flags     : \$flags"
  2.1570 -		_ "Arch sysroot    : \$sysroot"
  2.1571 -		_ "Tools prefix    : \$tools/bin"
  2.1572 +		_ 'Target arch     : %s' "$ARCH"
  2.1573 +		_ 'Configure args  : %s' "$CONFIGURE_ARGS"
  2.1574 +		_ 'Build flags     : %s' "$flags"
  2.1575 +		_ 'Arch sysroot    : %s' "$sysroot"
  2.1576 +		_ 'Tools prefix    : %s' "$tools/bin"
  2.1577  		# Tell the packages manager where to find packages.
  2.1578 -		_ "Packages DB     : \${root}\$DB"
  2.1579 -		mkdir -p ${root}$INSTALLED
  2.1580 -		cd ${root}$DB && rm -f *.bak
  2.1581 -		for list in packages.list packages.desc packages.equiv packages.md5
  2.1582 -		do
  2.1583 -			rm -f $list && ln -s $SLITAZ/packages/$list $list
  2.1584 +		_ 'Packages DB     : %s' "$root$DB"
  2.1585 +		mkdir -p $root$INSTALLED
  2.1586 +		cd $root$DB; rm -f *.bak
  2.1587 +		for list in packages.list packages.desc packages.equiv packages.md5; do
  2.1588 +			rm -f $list
  2.1589 +			ln -s $SLITAZ/packages/$list $list
  2.1590  		done
  2.1591  		# We must have the cross compiled glibc-base installed or default
  2.1592  		# i486 package will be used as dep by tazpkg and then break the
  2.1593  		# cross environment
  2.1594 -		if [ ! -f "${root}$INSTALLED/glibc-base/receipt" ]; then
  2.1595 -			colorize 36 $(_ "WARNING: (e)glibc-base is not installed in sysroot")
  2.1596 +		if [ ! -f "$root$INSTALLED/glibc-base/receipt" ]; then
  2.1597 +			colorize 36 $(_ 'WARNING: %s is not installed in sysroot' '(e)glibc-base')
  2.1598  		fi
  2.1599  		# Show GCC version or warn if not yet compiled.
  2.1600  		if [ -x "$tools/bin/${HOST_SYSTEM}-gcc" ]; then
  2.1601 -			_ "Cross compiler  : \${HOST_SYSTEM}-gcc"
  2.1602 +			_ 'Cross compiler  : %s' "$HOST_SYSTEM-gcc"
  2.1603  		else
  2.1604 -			colorize 36 $(_ "C compiler is missing: \${HOST_SYSTEM}-gcc")
  2.1605 -			_ "Run 'cross compile' to cook a toolchain"
  2.1606 +			colorize 36 $(_ 'C compiler "%s" is missing' "$HOST_SYSTEM-gcc")
  2.1607 +			_ 'Run "%s" to cook a toolchain' 'cross compile'
  2.1608  		fi
  2.1609  		separator; newline ;;
  2.1610 +
  2.1611  	test)
  2.1612  		# Test a cook environment.
  2.1613 -		_ "Cook test: testing the cook environment" | log
  2.1614 +		_ 'Cook test: testing the cook environment' | log
  2.1615  		[ ! -d "$WOK" ] && exit 1
  2.1616  		[ ! -d "$WOK/cooktest" ] && cp -r $DATA/cooktest $WOK
  2.1617  		cook cooktest ;;
  2.1618 +
  2.1619  	new)
  2.1620  		# Create the package folder and an empty receipt.
  2.1621  		pkg="$2"
  2.1622 -		[ "$pkg" ] || usage
  2.1623 +		[ -z "$pkg" ] && usage
  2.1624  		newline
  2.1625  		if [ -d "$WOK/$pkg" ]; then
  2.1626 -			_ "\$pkg package already exists."
  2.1627 +			_ 'Package "%s" already exists.' "$pkg"
  2.1628  			exit 1
  2.1629  		fi
  2.1630 -		_n "Creating \$WOK/\$pkg"
  2.1631 -		mkdir $WOK/$pkg && cd $WOK/$pkg && status
  2.1632 -		_n "Preparing the package receipt..."
  2.1633 +
  2.1634 +		_n 'Creating folder "%s"' "$WOK/$pkg"
  2.1635 +		mkdir $WOK/$pkg; cd $WOK/$pkg; status
  2.1636 +
  2.1637 +		_n 'Preparing the package receipt...'
  2.1638  		cp $DATA/receipt .
  2.1639  		sed -i s"/^PACKAGE=.*/PACKAGE=\"$pkg\"/" receipt
  2.1640 -		status && newline
  2.1641 +		status; newline
  2.1642  
  2.1643  		# Interactive mode, asking and seding.
  2.1644  		case "$3" in
  2.1645  			--interactive|-x)
  2.1646 -				_ "Entering interactive mode..."
  2.1647 +				_ 'Entering interactive mode...'
  2.1648  				separator
  2.1649 -				_ "Package       : \$pkg"
  2.1650 -				_n "Version       : " ; read answer
  2.1651 +				_  'Package       : %s' "$pkg"
  2.1652 +
  2.1653 +				_n 'Version       : ' ; read answer
  2.1654  				sed -i s/'VERSION=\"\"'/"VERSION=\"$answer\""/ receipt
  2.1655 -				_n "Category      : " ; read answer
  2.1656 +
  2.1657 +				_n 'Category      : ' ; read answer
  2.1658  				sed -i s/'CATEGORY=\"\"'/"CATEGORY=\"$answer\""/ receipt
  2.1659 +
  2.1660  				# L10n: Short description
  2.1661 -				_n "Short desc    : " ; read answer
  2.1662 +				_n 'Short desc    : ' ; read answer
  2.1663  				sed -i s/'SHORT_DESC=\"\"'/"SHORT_DESC=\"$answer\""/ receipt
  2.1664 -				_n "Maintainer    : " ; read answer
  2.1665 +
  2.1666 +				_n 'Maintainer    : ' ; read answer
  2.1667  				sed -i s/'MAINTAINER=\"\"'/"MAINTAINER=\"$answer\""/ receipt
  2.1668 -				_n "License       : " ; read answer
  2.1669 +
  2.1670 +				_n 'License       : ' ; read answer
  2.1671  				sed -i s/'LICENSE=\"\"'/"LICENSE=\"$answer\""/ receipt
  2.1672 -				_n "Web site      : " ; read answer
  2.1673 +
  2.1674 +				_n 'Web site      : ' ; read answer
  2.1675  				sed -i s#'WEB_SITE=\"\"'#"WEB_SITE=\"$answer\""# receipt
  2.1676  				newline
  2.1677 +
  2.1678  				# Wget URL.
  2.1679 -				_ "Wget URL to download source tarball."
  2.1680 -				_n "Example  : " ; echo '$GNU_MIRROR/$PACKAGE/$TARBALL'
  2.1681 -				_n "Wget url : " ; read answer
  2.1682 -				sed -i s#'WGET_URL=\"$TARBALL\"'#"WGET_URL=\"$answer\""# receipt
  2.1683 +				_ 'Wget URL to download source tarball.'
  2.1684 +				_n 'Example  : ' ; echo '$GNU_MIRROR/$PACKAGE/$TARBALL'
  2.1685 +				_n 'Wget url : ' ; read answer
  2.1686 +				sed -i "s|WGET_URL=.*|WGET_URL=\"$answer\"|" receipt
  2.1687 +
  2.1688  				# Ask for a stuff dir.
  2.1689 -				_n "Do you need a stuff directory? (y/N) : " ; read answer
  2.1690 -				if [ "$answer" = "y" ]; then
  2.1691 -					_n "Creating the stuff directory..."
  2.1692 -					mkdir $WOK/$pkg/stuff && status
  2.1693 +				confirm "$(_n 'Do you need a stuff directory? (y/N)')"
  2.1694 +				if [ "$?" == 0 ]; then
  2.1695 +					_n 'Creating the stuff directory...'
  2.1696 +					mkdir $WOK/$pkg/stuff; status
  2.1697  				fi
  2.1698 +
  2.1699  				# Ask for a description file.
  2.1700 -				_n "Are you going to write a description? (y/N) : " ; read answer
  2.1701 -				if [ "$answer" = "y" ]; then
  2.1702 -					_n "Creating the description.txt file..."
  2.1703 -					newline > $WOK/$pkg/description.txt && status
  2.1704 +				confirm "$(_n 'Are you going to write a description? (y/N)')"
  2.1705 +				if [ "$?" == 0 ]; then
  2.1706 +					_n 'Creating the "%s" file...' 'description.txt'
  2.1707 +					touch $WOK/$pkg/description.txt; status
  2.1708  				fi
  2.1709 -				separator; _ "Receipt is ready to use."; newline ;;
  2.1710 +
  2.1711 +				separator; _ 'Receipt is ready to use.'; newline ;;
  2.1712  		esac ;;
  2.1713 +
  2.1714  	list)
  2.1715  		# Cook a list of packages (better use the Cooker since it will order
  2.1716  		# packages before executing cook).
  2.1717  		check_root
  2.1718 -		[ -z "$2" ] && (newline; _ "No list in argument."; newline) && exit 1
  2.1719 -		list2=$2
  2.1720 -		[ ! -f "$2" ] && (newline; _ "No list found: \$list2"; newline) && exit 1
  2.1721 -		_ "Cook list starting: \$list2" | log
  2.1722 -		for pkg in $(cat $2)
  2.1723 -		do
  2.1724 +		if [ -z "$2" ]; then
  2.1725 +			newline; _ 'No list in argument.'; newline
  2.1726 +			exit 1
  2.1727 +		fi
  2.1728 +		if [ ! -f "$2" ]; then
  2.1729 +			newline; _ 'List "%s" not found.' "$2"; newline
  2.1730 +			exit 1
  2.1731 +		fi
  2.1732 +
  2.1733 +		_ 'Starting cooking the list "%s"' "$2" | log
  2.1734 +
  2.1735 +		for pkg in $(cat $2); do
  2.1736  			cook $pkg || broken
  2.1737  		done ;;
  2.1738 +
  2.1739  	clean-wok)
  2.1740  		check_root
  2.1741 -		newline; _n "Cleaning all packages files..."
  2.1742 +		newline; _n 'Cleaning all packages files...'
  2.1743  		rm -rf $WOK/*/taz $WOK/*/install $WOK/*/source
  2.1744  		status; newline ;;
  2.1745 +
  2.1746  	clean-src)
  2.1747  		check_root
  2.1748 -		newline; _n "Cleaning all packages sources..."
  2.1749 +		newline; _n 'Cleaning all packages sources...'
  2.1750  		rm -rf $WOK/*/source
  2.1751  		status; newline ;;
  2.1752 +
  2.1753  	uncook)
  2.1754  		cd $WOK
  2.1755  		count=0
  2.1756 -		newline
  2.1757 -		_ "Checking for uncooked packages"
  2.1758 -		separator
  2.1759 -		for pkg in *
  2.1760 -		do
  2.1761 +		newline; _ 'Checking for uncooked packages'; separator
  2.1762 +
  2.1763 +		for pkg in *; do
  2.1764  			unset HOST_ARCH EXTRAVERSION
  2.1765 +			[ ! -e $pkg/receipt ] && continue
  2.1766  			. $pkg/receipt
  2.1767  			# Source cooked pkg receipt to get EXTRAVERSION
  2.1768  			if [ -d "$WOK/$pkg/taz" ]; then
  2.1769  				cd $WOK/$pkg/taz/$pkg-*
  2.1770 -				. receipt && cd $WOK
  2.1771 +				. receipt; cd $WOK
  2.1772  			fi 
  2.1773  			case "$ARCH" in
  2.1774  				i486)
  2.1775 -					debug "Package: $PKGS/${PACKAGE}-${VERSION}${EXTRAVERSION}.tazpkg"
  2.1776 -					if [ ! -f "$PKGS/${PACKAGE}-${VERSION}${EXTRAVERSION}.tazpkg" ]; then
  2.1777 +					debug "$(_ 'Package "%s"' "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg")"
  2.1778 +					if [ ! -f "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" ]; then
  2.1779  						count=$(($count + 1))
  2.1780  						colorize 34 "$pkg"
  2.1781  					fi ;;
  2.1782 @@ -1315,78 +1407,80 @@
  2.1783  					# Check only packages included in arch
  2.1784  					if echo "$HOST_ARCH" | egrep -q "$ARCH|any"; then
  2.1785  						# *.tazpkg
  2.1786 -						if [ ! -f "$PKGS/${PACKAGE}-${VERSION}${EXTRAVERSION}-${ARCH}.tazpkg" ]; then
  2.1787 +						if [ ! -f "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION-$ARCH.tazpkg" ]; then
  2.1788  							count=$(($count + 1))
  2.1789  							colorize 34 "$pkg"
  2.1790  						fi
  2.1791  					fi ;;
  2.1792  			esac
  2.1793  		done
  2.1794 +
  2.1795  		if [ "$count" -gt "0" ]; then
  2.1796  			separator
  2.1797 -			_n "Uncooked packages: "; colorize 31 "$count"
  2.1798 +			_p '%s uncooked package' '%s uncooked packages' "$count" "$(colorize 31 "$count")"
  2.1799  		else
  2.1800 -			_ "All packages are cooked :-)"
  2.1801 +			_ 'All packages are cooked :-)'
  2.1802  		fi
  2.1803  		newline ;;
  2.1804 +
  2.1805  	pkgdb)
  2.1806  		# Create suitable packages list for TazPKG and only for built packages
  2.1807  		# as well as flavors files for TazLiTo. We dont need logs since we do it
  2.1808  		# manually to ensure everything is fine before syncing the mirror.
  2.1809  		case "$2" in
  2.1810 -			--flavors)
  2.1811 -				continue ;;
  2.1812 +			--flavors) ;;
  2.1813  			*)
  2.1814 -				[ "$2" ] && PKGS="$2"
  2.1815 -				[ ! -d "$PKGS" ] && \
  2.1816 -					newline && _ "Packages directory doesn't exist" && \
  2.1817 -					newline && exit 1 ;;
  2.1818 +				[ -n "$2" ] && PKGS="$2"
  2.1819 +				if [ ! -d "$PKGS" ]; then
  2.1820 +					newline; _ "Packages directory \"%s\" doesn't exist" "$PKGS"; newline
  2.1821 +					exit 1
  2.1822 +				fi ;;
  2.1823  		esac
  2.1824 +
  2.1825  		time=$(date +%s)
  2.1826 -		flavors=$SLITAZ/flavors
  2.1827 -		live=$SLITAZ/live
  2.1828 -		echo "cook:pkgdb" > $command
  2.1829 -		_ "Cook pkgdb: Creating all packages lists" | log
  2.1830 -		newline; _ "Creating lists for: \$PKGS"; separator
  2.1831 +		flavors="$SLITAZ/flavors"
  2.1832 +		live="$SLITAZ/live"
  2.1833  
  2.1834 -		datenow=$(date "$(_ '+%Y-%m-%d %H:%M')")
  2.1835 -		_ "Cook pkgdb started: \$datenow"
  2.1836 +		echo 'cook:pkgdb' > $command
  2.1837 +		_ 'Cook pkgdb: Creating all packages lists' | log
  2.1838 +		newline; _ 'Creating lists for "%s"' "$PKGS"; separator
  2.1839 +
  2.1840 +		_ 'Cook pkgdb started: %s' "$(date "$(_ '+%%F %%R')")"
  2.1841  
  2.1842  		cd $PKGS
  2.1843  		rm -f packages.* extra.list
  2.1844  		ln -s ../get.list extra.list
  2.1845  
  2.1846 -		_ "Creating: packages.list"
  2.1847 +		_ 'Creating file "%s"' 'packages.list'
  2.1848  		ls -1 *.tazpkg | sed s'/.tazpkg//' > $PKGS/packages.list
  2.1849  
  2.1850 -		_ "Creating: packages.md5"
  2.1851 +		_ 'Creating file "%s"' 'packages.md5'
  2.1852  		md5sum *.tazpkg > $PKGS/packages.md5
  2.1853  
  2.1854 -		md5sum packages.md5 | cut -f1 -d' ' > ID
  2.1855 +		md5sum packages.md5 | cut -d' ' -f1 > ID
  2.1856  		( cat ./ID | tr $'\n' ' '; date -ur ./ID +%s ) > IDs	# md5 and timestamp
  2.1857  
  2.1858 -		_ "Creating lists from: \$WOK"
  2.1859 +		_ 'Creating lists from "%s"' "$WOK"
  2.1860  		cd $WOK
  2.1861  		for pkg in *; do
  2.1862  			unset_receipt
  2.1863  			. $pkg/receipt
  2.1864  			# PACKED_SIZE and UNPACKED_SIZE are only in built receipt
  2.1865 -			if [ -s $pkg/taz/*/receipt ]; then
  2.1866 -				. $pkg/taz/*/receipt
  2.1867 -			fi
  2.1868 -			if [ -f "$PKGS/$PACKAGE-${VERSION}${EXTRAVERSION}.tazpkg" ] || \
  2.1869 -			   [ -f "$PKGS/$PACKAGE-${VERSION}${EXTRAVERSION}-${ARCH}.tazpkg" ]; then
  2.1870 +			[ -s $pkg/taz/*/receipt ] && . $pkg/taz/*/receipt
  2.1871 +
  2.1872 +			if [ -f "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" ] || \
  2.1873 +			   [ -f "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION-$ARCH.tazpkg" ]; then
  2.1874  
  2.1875  				# packages.desc lets us search easily in DB
  2.1876 -				cat >> $PKGS/packages.desc << EOT
  2.1877 -$PACKAGE | ${VERSION}$EXTRAVERSION | $SHORT_DESC | $CATEGORY | $WEB_SITE
  2.1878 +				cat >> $PKGS/packages.desc <<EOT
  2.1879 +$PACKAGE | $VERSION$EXTRAVERSION | $SHORT_DESC | $CATEGORY | $WEB_SITE
  2.1880  EOT
  2.1881  
  2.1882  				# packages.txt used by tazpkg and tazpkg-web also to provide
  2.1883  				# a human readable package list with version and description.
  2.1884 -				cat >> $PKGS/packages.txt << EOT
  2.1885 +				cat >> $PKGS/packages.txt <<EOT
  2.1886  $PACKAGE
  2.1887 -${VERSION}$EXTRAVERSION
  2.1888 +$VERSION$EXTRAVERSION
  2.1889  $SHORT_DESC
  2.1890  $PACKED_SIZE ($UNPACKED_SIZE installed)
  2.1891  
  2.1892 @@ -1396,13 +1490,13 @@
  2.1893  				# and will substitute them both
  2.1894  				SIZES=$(echo $PACKED_SIZE $UNPACKED_SIZE | sed 's|\.0||g')
  2.1895  				DEPENDS=$(echo $DEPENDS) # remove newlines from some receipts
  2.1896 -				cat >> $PKGS/packages.info << EOT
  2.1897 -$PACKAGE	${VERSION}$EXTRAVERSION	$CATEGORY	$SHORT_DESC	$WEB_SITE	$TAGS	$SIZES	$DEPENDS
  2.1898 +				cat >> $PKGS/packages.info <<EOT
  2.1899 +$PACKAGE	$VERSION$EXTRAVERSION	$CATEGORY	$SHORT_DESC	$WEB_SITE	$TAGS	$SIZES	$DEPENDS
  2.1900  EOT
  2.1901  
  2.1902  				# packages.equiv is used by tazpkg install to check depends.
  2.1903  				for i in $PROVIDE; do
  2.1904 -					DEST=""
  2.1905 +					DEST=''
  2.1906  					echo $i | fgrep -q : && DEST="${i#*:}:"
  2.1907  					if grep -qs ^${i%:*}= $PKGS/packages.equiv; then
  2.1908  						sed -i "s/^${i%:*}=/${i%:*}=$DEST$PACKAGE /" \
  2.1909 @@ -1419,86 +1513,94 @@
  2.1910  		done
  2.1911  
  2.1912  		# Display list size.
  2.1913 -		_ "Done: packages.desc"
  2.1914 -		_ "Done: packages.txt"
  2.1915 -		_ "Done: packages.equiv"
  2.1916 +		_ 'Done: %s (%s)' 'packages.desc'  "$(du -h $PKGS/packages.desc  | awk '{print $1}')"
  2.1917 +		_ 'Done: %s (%s)' 'packages.txt'   "$(du -h $PKGS/packages.txt   | awk '{print $1}')"
  2.1918 +		_ 'Done: %s (%s)' 'packages.equiv' "$(du -h $PKGS/packages.equiv | awk '{print $1}')"
  2.1919  
  2.1920  		cd $PKGS
  2.1921  
  2.1922  		# files.list.lzma
  2.1923 -		_ "Creating: files.list.lzma"
  2.1924 +		_ 'Creating file "%s"' 'files.list.lzma'
  2.1925  		touch files.list
  2.1926  		# Pre-sorting filenames causes 10% smaller resulting lzma file
  2.1927  		cat files.list | sort -k2 -o files.list.sorted
  2.1928  		lzma e files.list.sorted files.list.lzma
  2.1929  		rm -f files.list files.list.sorted
  2.1930 +		_ 'Done: %s (%s)' 'files.list.lzma' "$(du -h files.list.lzma | awk '{print $1}')"
  2.1931  
  2.1932  		md5sum files.list.lzma | cut -d' ' -f1 | tr -d $'\n' > files.list.md5
  2.1933  
  2.1934  		# packages.info.lzma
  2.1935  		PI=packages.info
  2.1936 -		_ 'Creating: packages.info.lzma'
  2.1937 +		_ 'Creating file "%s"' 'packages.info.lzma'
  2.1938  		touch $PI
  2.1939  		lzma e $PI $PI.lzma
  2.1940  
  2.1941  		# Make bundle to fast recharge
  2.1942 -		_ 'Creating: bundle.tar.lzma'
  2.1943 +		_ 'Creating file "%s"' 'bundle.tar.lzma'
  2.1944  		[ -f bundle.tar.lzma ] && rm bundle.tar.lzma
  2.1945  		wget http://mirror1.slitaz.org/mirrors
  2.1946  		busybox tar -caf bundle.tar.lzma \
  2.1947  			extra.list mirrors files.list.md5 packages.info \
  2.1948  			packages.desc packages.md5 packages.txt packages.list packages.equiv
  2.1949  		rm ./mirrors
  2.1950 +		_ 'Done: %s (%s)' 'bundle.tar.lzma' "$(du -h bundle.tar.lzma | awk '{print $1}')"
  2.1951  
  2.1952  		# Display some info.
  2.1953  		separator
  2.1954  		nb=$(ls $PKGS/*.tazpkg | wc -l)
  2.1955  		time=$(($(date +%s) - $time))
  2.1956  		# L10n: 's' is for seconds (cooking time)
  2.1957 -		_ "Packages: \$nb - Time: \${time}s"; newline
  2.1958 +		_ 'Packages: %s - Time: %ss' "$nb" "$time"; newline
  2.1959 +
  2.1960  
  2.1961  		# Create all flavors files at once. Do we really need code to monitor
  2.1962  		# flavors changes? Lets just build them with packages lists before
  2.1963  		# syncing the mirror.
  2.1964 -		[ "$2" == "--flavors" ] || exit 1
  2.1965 -		[ ! -d "$flavors" ] && (_ "Missing flavors: \$flavors"; newline) && exit 1
  2.1966 -		[ -d "$live" ] || mkdir -p $live
  2.1967 -		_ "Creating flavors files in: \$live"
  2.1968 -		_ "Cook pkgdb: Creating all flavors" | log
  2.1969 +		[ "$2" != '--flavors' ] && exit 1
  2.1970 +
  2.1971 +		if [ ! -d "$flavors" ]; then
  2.1972 +			_ 'Missing flavors folder "%s"' "$flavors"; newline
  2.1973 +			exit 1
  2.1974 +		fi
  2.1975 +
  2.1976 +		[ ! -d "$live" ] && mkdir -p $live
  2.1977 +		_ 'Creating flavors files in "%s"' "$live"
  2.1978 +		_ 'Cook pkgdb: Creating all flavors' | log
  2.1979  		separator
  2.1980 -		_ "Recharging lists to use latest packages..."
  2.1981 +
  2.1982 +		_ 'Recharging lists to use latest packages...'
  2.1983  		tazpkg recharge >/dev/null 2>/dev/null
  2.1984  
  2.1985  		# We need a custom tazlito config to set working dir to /home/slitaz.
  2.1986  		if [ ! -f "$live/tazlito.conf" ]; then
  2.1987 -			_ "Creating configuration file: tazlito.conf"
  2.1988 +			_ 'Creating configuration file "%s"' 'tazlito.conf'
  2.1989  			cp /etc/tazlito/tazlito.conf $live
  2.1990  			sed -i s@WORK_DIR=.*@WORK_DIR=\"/home/slitaz\"@ \
  2.1991  				$live/tazlito.conf
  2.1992  		fi
  2.1993  
  2.1994  		# Update Hg flavors repo and pack.
  2.1995 -		[ -d "$flavors/.hg" ] && cd $flavors && hg pull -u
  2.1996 +		if [ -d "$flavors/.hg" ]; then
  2.1997 +			cd $flavors; hg pull -u
  2.1998 +		fi
  2.1999  
  2.2000  		cd $live
  2.2001 -		_ "Starting to generate flavors..."
  2.2002 +		_ 'Starting to generate flavors...'
  2.2003  		rm -f flavors.list *.flavor
  2.2004 -		for i in $flavors/*
  2.2005 -		do
  2.2006 +		for i in $flavors/*; do
  2.2007  			fl=$(basename $i)
  2.2008 -			_ "Packing flavor: \$fl"
  2.2009 +			_ 'Packing flavor "%s"' "$fl"
  2.2010  			tazlito pack-flavor $fl >/dev/null || exit 1
  2.2011 -			tazlito show-flavor $fl --brief --noheader 2> \
  2.2012 -				/dev/null >> flavors.list
  2.2013 +			tazlito show-flavor $fl --brief --noheader 2>/dev/null >> flavors.list
  2.2014  		done
  2.2015  		cp -f $live/*.flavor $live/flavors.list $PKGS
  2.2016  		separator
  2.2017 -		fl_size=$(du -sh $live | awk '{print $1}')
  2.2018 -		_ "Flavors size: \$fl_size"; newline
  2.2019 +		_ 'Total flavors size: %s' "$(du -sh $live | awk '{print $1}')"; newline
  2.2020  		rm -f $command
  2.2021  		separator
  2.2022 -		datenow=$(date "$(_ '+%Y-%m-%d %H:%M')")
  2.2023 -		_ "Cook pkgdb end: \$datenow" ;;
  2.2024 +		_ 'Cook pkgdb end: %s' "$(date "$(_ '+%%F %%R')")" ;;
  2.2025 +
  2.2026  	*)
  2.2027  		# Just cook and generate a package.
  2.2028  		check_root
  2.2029 @@ -1506,47 +1608,52 @@
  2.2030  		pkg="$1"
  2.2031  		[ -z "$pkg" ] && usage
  2.2032  		receipt="$WOK/$pkg/receipt"
  2.2033 -		check_pkg_in_wok && newline
  2.2034 +		check_pkg_in_wok
  2.2035 +		newline
  2.2036  
  2.2037  		unset inst
  2.2038  		unset_receipt
  2.2039  		. $receipt
  2.2040 -		
  2.2041 +
  2.2042  		# Handle cross compilation.
  2.2043  		case "$ARCH" in
  2.2044  			arm*)
  2.2045 -				if [ ! "$HOST_ARCH" ]; then
  2.2046 -					_ "cook: HOST_ARCH is not set in \$pkg receipt"
  2.2047 -					_ "cook: This package is not included in: \$ARCH"
  2.2048 -					[ "$CROSS_BUGS" ] && _ "bugs: \$CROSS_BUGS"
  2.2049 -					_ "Cook skip: \$pkg is not included in: \$ARCH" | log
  2.2050 -					newline && exit 1
  2.2051 +				if [ -z "$HOST_ARCH" ]; then
  2.2052 +					_ 'cook: HOST_ARCH is not set in "%s" receipt' "$pkg"
  2.2053 +					error="$(_ 'package "%s" is not included in %s' "$pkg" "$ARCH")"
  2.2054 +					_ 'cook: %s' "$error"
  2.2055 +					[ -n "$CROSS_BUGS" ] && _ 'bugs: %s' "$CROSS_BUGS"
  2.2056 +					_ 'Cook skip: %s' "$error" | log
  2.2057 +					newline
  2.2058 +					exit 1
  2.2059  				fi ;;
  2.2060  		esac
  2.2061  
  2.2062  		# Some packages are not included in some arch or fail to cross compile.
  2.2063  		: ${HOST_ARCH=i486}
  2.2064 -		debug "Host arch $HOST_ARCH"
  2.2065 +		debug "$(_ 'Host arch %s' "$HOST_ARCH")"
  2.2066  		# Handle arm{v6hf,v7,..}
  2.2067  		if ! $(echo "$HOST_ARCH" | egrep -q "${ARCH%v[0-9]*}|any"); then
  2.2068 -			_ "cook: HOST_ARCH=\$HOST_ARCH"
  2.2069 -			_ "cook: \$pkg doesn't cook or is not included in: \$ARCH"
  2.2070 -			[ "$CROSS_BUGS" ] && _ "bugs: \$CROSS_BUGS"
  2.2071 -			_ "Cook skip: \$pkg doesn't cook or is not included in: \$ARCH" | log
  2.2072 +			_ 'cook: %s' "HOST_ARCH=$HOST_ARCH"
  2.2073 +			error="$(_ "package \"%s\" doesn't cook or is not included in %s" "$pkg" "$ARCH")"
  2.2074 +			_ 'cook: %s' "error"
  2.2075 +			[ -n "$CROSS_BUGS" ] && _ 'bugs: %s' "$CROSS_BUGS"
  2.2076 +			_ 'Cook skip: %s' "$error" | log
  2.2077  			sed -i /^${pkg}$/d $broken
  2.2078 -			newline && exit 0
  2.2079 +			newline
  2.2080 +			exit 0
  2.2081  		fi
  2.2082  
  2.2083  		# Skip blocked, 3 lines also for the Cooker.
  2.2084 -		if grep -q "^$pkg$" $blocked && [ "$2" != "--unblock" ]; then
  2.2085 -			_ "Blocked package: \$pkg"; newline
  2.2086 -			 exit 0
  2.2087 +		if grep -q "^$pkg$" $blocked && [ "$2" != '--unblock' ]; then
  2.2088 +			_ 'Package "%s" is blocked' "$pkg"; newline
  2.2089 +			exit 0
  2.2090  		fi
  2.2091  
  2.2092  		try_aufs_chroot "$@"
  2.2093  
  2.2094  		# Log and source receipt.
  2.2095 -		_ "Cook started for: <a href='cooker.cgi?pkg=\$pkg'>\$pkg</a>" | log
  2.2096 +		_ 'Cook started for: %s' "<a href='cooker.cgi?pkg=$pkg'>$pkg</a>" | log
  2.2097  		echo "cook:$pkg" > $command
  2.2098  
  2.2099  		# Display and log info if cook process stopped.
  2.2100 @@ -1557,24 +1664,32 @@
  2.2101  		# Handle --options
  2.2102  		case "$2" in
  2.2103  			--clean|-c)
  2.2104 -				_n "Cleaning: \$pkg"
  2.2105 -				cd $WOK/$pkg && rm -rf install taz source
  2.2106 -				status && newline && exit 0 ;;
  2.2107 +				_n 'Cleaning "%s"' "$pkg"
  2.2108 +				cd $WOK/$pkg; rm -rf install taz source
  2.2109 +				status; newline
  2.2110 +				exit 0 ;;
  2.2111 +
  2.2112  			--install|-i)
  2.2113  				inst='yes' ;;
  2.2114 +
  2.2115  			--getsrc|-gs)
  2.2116 -				_ "Getting source for: \$pkg"; separator
  2.2117 +				_ 'Getting source for "%s"' "$pkg"; separator
  2.2118  				get_source
  2.2119 -				_ "Tarball: \$SRC/\$TARBALL"; newline
  2.2120 +				_ 'Tarball: %s' "$SRC/$TARBALL"; newline
  2.2121  				exit 0 ;;
  2.2122 +
  2.2123  			--block|-b)
  2.2124 -				_n "Blocking: \$pkg"
  2.2125 +				_n 'Blocking package "%s"' "$pkg"
  2.2126  				[ $(grep "^$pkg$" $blocked) ] || echo "$pkg" >> $blocked
  2.2127 -				status && newline && exit 0 ;;
  2.2128 +				status; newline
  2.2129 +				exit 0 ;;
  2.2130 +
  2.2131  			--unblock|-ub)
  2.2132 -				_n "Unblocking: \$pkg"
  2.2133 +				_n 'Unblocking package "%s"' "$pkg"
  2.2134  				sed -i "/^${pkg}$/"d $blocked
  2.2135 -				status && newline && exit 0 ;;
  2.2136 +				status; newline
  2.2137 +				exit 0 ;;
  2.2138 +
  2.2139  			--pack)
  2.2140  				if [ -d $WOK/$pkg/taz ]; then
  2.2141  					rm -rf $WOK/$pkg/taz
  2.2142 @@ -1582,28 +1697,38 @@
  2.2143  					packit 2>&1 | tee -a $LOGS/$pkg-pack.log
  2.2144  					clean_log
  2.2145  				else
  2.2146 -					_ "Need to build \$pkg." && exit 0
  2.2147 +					_ 'Need to build "%s"' "$pkg"
  2.2148 +					exit 0
  2.2149  				fi
  2.2150  				exit 0 ;;
  2.2151 +
  2.2152  			--cdeps)
  2.2153 -				[ ! -d $WOK/$pkg/taz ] && _ "Need to build \$pkg." && exit 0
  2.2154 -				_ "Checking depends"; separator
  2.2155 -				lddlist=/tmp/lddlist; touch $lddlist
  2.2156 -				missing=/var/cache/missing.file
  2.2157 +				if [ ! -d $WOK/$pkg/taz ]; then
  2.2158 +					_ 'Need to build "%s"' "$pkg"
  2.2159 +					exit 0
  2.2160 +				fi
  2.2161 +
  2.2162 +				_ 'Checking depends'; separator
  2.2163 +				lddlist='/tmp/lddlist'; touch $lddlist
  2.2164 +				missing='/var/cache/missing.file'
  2.2165 +
  2.2166  				# find all deps using ldd
  2.2167  				for exe in $(find $WOK/$pkg/taz -type f -perm +111); do
  2.2168  					[ "x$(dd if=$exe bs=4 count=1 2>/dev/null)" == "xELF" ] &&
  2.2169  						ldd $exe | sed 's|	||' | cut -d' ' -f1 >> $lddlist
  2.2170 -				done
  2.2171 +				done #"
  2.2172 +
  2.2173  				# remove exe/so duplicates
  2.2174  				sort -u $lddlist > $lddlist.sorted
  2.2175 +
  2.2176  				# search packages
  2.2177  				for exefile in $(cat $lddlist.sorted); do
  2.2178  					search_file $exefile
  2.2179 -					echo $found >> $lddlist.pkgs
  2.2180 -					echo -n "."
  2.2181 +					echo "$found" >> $lddlist.pkgs
  2.2182 +					echo -n '.'
  2.2183  				done
  2.2184  				echo
  2.2185 +
  2.2186  				# remove packages duplicates
  2.2187  				sort -u $lddlist.pkgs > $lddlist.final
  2.2188  				sort -u $missing > $missing.final
  2.2189 @@ -1614,12 +1739,16 @@
  2.2190  		# Check if wanted is built now so we have separate log files.
  2.2191  		for wanted in $WANTED ; do
  2.2192  			if grep -q "^$wanted$" $blocked; then
  2.2193 -				_ "WANTED package is blocked: \$wanted" | tee $LOGS/$pkg.log
  2.2194 -				newline && rm -f $command && exit 1
  2.2195 +				_ 'WANTED package "%s" is blocked' "$wanted" | tee $LOGS/$pkg.log
  2.2196 +				newline
  2.2197 +				rm -f $command
  2.2198 +				exit 1
  2.2199  			fi
  2.2200  			if grep -q "^$wanted$" $broken; then
  2.2201 -				_ "WANTED package is broken: \$wanted" | tee $LOGS/$pkg.log
  2.2202 -				newline && rm -f $command && exit 1
  2.2203 +				_ 'WANTED package "%s" is broken' "$wanted" | tee $LOGS/$pkg.log
  2.2204 +				newline
  2.2205 +				rm -f $command
  2.2206 +				exit 1
  2.2207  			fi
  2.2208  			if [ ! -d "$WOK/$wanted/install" ]; then
  2.2209  				cook "$wanted" || exit 1
  2.2210 @@ -1634,11 +1763,12 @@
  2.2211  		clean_log
  2.2212  
  2.2213  		# Exit if any error in packing.
  2.2214 -		lerror=$(_n "ERROR")
  2.2215 +		lerror=$(_n 'ERROR')
  2.2216  		if grep -Ev "(/root/.cvspass|conftest|df: /|rm: can't remove)" $LOGS/$pkg.log | \
  2.2217  		   grep -Eq "(^$lerror|: No such file or directory|not remade because of errors)"; then
  2.2218  			debug_info | tee -a $LOGS/$pkg.log
  2.2219 -			rm -f $command && exit 1
  2.2220 +			rm -f $command
  2.2221 +			exit 1
  2.2222  		fi
  2.2223  
  2.2224  		# Create an XML feed
     3.1 --- a/cooker	Sun May 03 19:43:46 2015 +0300
     3.2 +++ b/cooker	Thu May 07 15:11:47 2015 +0300
     3.3 @@ -6,6 +6,7 @@
     3.4  # here since it's not an end user tool and it's not useful. All devs should
     3.5  # at least understand basic English.
     3.6  #
     3.7 +
     3.8  . /usr/lib/slitaz/libcook.sh
     3.9  
    3.10  # Set pkg name and use same wok as cook.
    3.11 @@ -20,7 +21,7 @@
    3.12  #
    3.13  
    3.14  usage() {
    3.15 -	cat << EOT
    3.16 +	cat <<EOT
    3.17  
    3.18  Usage: cooker [command] [pkg|list|note|hours]
    3.19  
    3.20 @@ -44,19 +45,25 @@
    3.21  	exit 0
    3.22  }
    3.23  
    3.24 +
    3.25  # Some messages occur in activity but log verbose output when checking for commits
    3.26  # into a log file.
    3.27 +
    3.28  log_commits() {
    3.29  	sed '/^.\//'d | sed '/^.hg/'d | tee -a $LOGS/commits.log
    3.30  }
    3.31  
    3.32 +
    3.33  # Clean up before exit when check and cook commits finish.
    3.34 +
    3.35  clean_exit() {
    3.36 -	rm -f $command && touch $command
    3.37 +	rm -f $command; touch $command
    3.38  	rm -f $pidfile
    3.39  }
    3.40  
    3.41 +
    3.42  # Summary for commits.
    3.43 +
    3.44  commits_summary() {
    3.45  	msg="from revision $cur to $new"
    3.46  	[ "$new" == "$cur" ] && msg="revision $new"
    3.47 @@ -66,21 +73,21 @@
    3.48  	separator
    3.49  	echo "Hg wok revision  : $cur"
    3.50  	echo "Pulled revision  : $new"
    3.51 -	echo "Check date       : $(date '+%Y-%m-%d %H:%M:%S')"
    3.52 +	echo "Check date       : $(date '+%F %T')"
    3.53  }
    3.54  
    3.55 +
    3.56  # Scan packages build deps and fill up cookorder list.
    3.57 +
    3.58  cook_order_scan() {
    3.59  	rm -f $cookorder
    3.60  	touch $cookorder
    3.61 -	for pkg in $(cat $cooklist)
    3.62 -	do
    3.63 +	for pkg in $(cat $cooklist); do
    3.64  		unset WANTED BUILD_DEPENDS
    3.65  		. $wok/$pkg/receipt
    3.66  		# The :: is for web interface color.
    3.67  		[ "$WANTED$BUILD_DEPENDS" ] && echo "$pkg :: $WANTED $BUILD_DEPENDS"
    3.68 -		for dep in $WANTED $BUILD_DEPENDS
    3.69 -		do
    3.70 +		for dep in $WANTED $BUILD_DEPENDS; do
    3.71  			if grep -q "^$dep$" $cooklist; then
    3.72  				if ! grep -q "^$dep$" $cookorder; then
    3.73  					echo "$dep" >> $cookorder
    3.74 @@ -90,30 +97,30 @@
    3.75  	done
    3.76  
    3.77  	# Append unordered packages to cookorder.
    3.78 -	for pkg in $(cat $cooklist)
    3.79 -	do
    3.80 +	for pkg in $(cat $cooklist); do
    3.81  		if ! grep -q "^$pkg$" $cookorder; then
    3.82  			echo "$pkg" >> $cookorder
    3.83  		fi
    3.84  	done
    3.85  }
    3.86  
    3.87 +
    3.88  # Scan and rescan until the cooklist is ordered then handle WANTED.
    3.89 +
    3.90  cook_order() {
    3.91  	time=$(date +%s)
    3.92  	scan=0
    3.93  
    3.94  	# Keep an original cooklist so we do a diff when ordering is finished.
    3.95  	cp -f $cooklist $cooklist.0
    3.96 -	echo "cookorder" > $command
    3.97 -	echo -e "\nInitial Cooker order scan"
    3.98 +	echo 'cookorder' > $command
    3.99 +	echo -e '\nInitial Cooker order scan'
   3.100  	separator
   3.101  	cook_order_scan
   3.102  
   3.103  	# Diff between the cooklist and new ordered list ? So copy the last
   3.104  	# cookorder to cooklist and rescan it.
   3.105 -	while /bin/true
   3.106 -	do
   3.107 +	while /bin/true; do
   3.108  		diff $cooklist $cookorder > $cookorder.diff
   3.109  		if [ -s "$cookorder.diff" ]; then
   3.110  			scan=$(($scan + 1))
   3.111 @@ -132,14 +139,12 @@
   3.112  
   3.113  	# Scan finished: append pkg to WANTED or leave it in the ordered cooklist.
   3.114  	# TODO: grep the line number to get pkg position and keep it higher.
   3.115 -	echo -e "\nHandle WANTED package"
   3.116 +	echo -e '\nHandle WANTED package'
   3.117  	separator
   3.118 -	for pkg in $(cat $cooklist)
   3.119 -	do
   3.120 +	for pkg in $(cat $cooklist); do
   3.121  		unset WANTED
   3.122  		. $wok/$pkg/receipt
   3.123 -		for wanted in $WANTED
   3.124 -		do
   3.125 +		for wanted in $WANTED; do
   3.126  			echo "$pkg :: $wanted"
   3.127  			if grep -q ^${wanted}$ $cooklist; then
   3.128  				sed -i -e "/^$pkg$/"d  \
   3.129 @@ -149,35 +154,41 @@
   3.130  	done
   3.131  
   3.132  	# Show ordered cooklist
   3.133 -	echo -e "\nCooklist order"
   3.134 +	echo -e '\nCooklist order'
   3.135  	separator
   3.136  	cat $cooklist
   3.137  	separator
   3.138 +
   3.139  	time=$(($(date +%s) - $time))
   3.140  	pkgs=$(cat $cooklist | wc -l)
   3.141 -	echo -e "\nSummary for cookorder"
   3.142 +	echo -e '\nSummary for cookorder'
   3.143  	separator
   3.144 -	cat << EOT
   3.145 +	cat <<EOT
   3.146  Ordered packages : $pkgs
   3.147  Scans executed   : $scan
   3.148  Scan duration    : ${time}s
   3.149  EOT
   3.150 -	separator && rm -f $command
   3.151 +	separator
   3.152 +
   3.153 +	rm -f $command
   3.154  }
   3.155  
   3.156 +
   3.157  # Remove blocked (faster this way than grepping before).
   3.158 +
   3.159  strip_blocked() {
   3.160 -	for pkg in $(cat $blocked)
   3.161 -	do
   3.162 +	for pkg in $(cat $blocked); do
   3.163  		sed -i /^${pkg}$/d $cooklist
   3.164 -	done && sed -i /^$/d $cooklist
   3.165 +	done
   3.166 +	sed -i /^$/d $cooklist
   3.167  }
   3.168  
   3.169 +
   3.170  # Use in default mode and with all cmd.
   3.171 +
   3.172  cook_commits() {
   3.173  	if [ -s "$commits" ]; then
   3.174 -		for pkg in $(cat $commits)
   3.175 -		do
   3.176 +		for pkg in $(cat $commits); do
   3.177  			echo "cook:$pkg" > $command
   3.178  			cook $pkg || broken
   3.179  			sed -i /^${pkg}$/d $commits
   3.180 @@ -185,15 +196,17 @@
   3.181  	fi
   3.182  }
   3.183  
   3.184 +
   3.185  # Cook all packages in a cooklist.
   3.186 +
   3.187  cook_list() {
   3.188 -	for pkg in $(cat $cooklist)
   3.189 -	do
   3.190 +	for pkg in $(cat $cooklist); do
   3.191  		cook $pkg || broken
   3.192  		sed -i /^${pkg}$/d $cooklist
   3.193  	done
   3.194  }
   3.195  
   3.196 +
   3.197  # Create a arch.$ARCH file for each package cooked for the target host
   3.198  # architecture
   3.199  #
   3.200 @@ -202,13 +215,13 @@
   3.201  # packages to provide one full featured desktop, servers and goodies useful
   3.202  # for the host system.
   3.203  #
   3.204 +
   3.205  arch_db() {
   3.206  	count=0
   3.207  	echo "Cleaning packages DB : arch.$ARCH"
   3.208  	rm -f $wok/*/arch.$ARCH && cd $wok
   3.209  	echo "Creating $ARCH packages DB..."
   3.210 -	for pkg in *
   3.211 -	do
   3.212 +	for pkg in *; do
   3.213  		HOST_ARCH=
   3.214  		. $wok/$pkg/receipt
   3.215  		if [ -n "$HOST_ARCH" ]; then
   3.216 @@ -220,7 +233,7 @@
   3.217  			unset HOST_ARCH
   3.218  		else
   3.219  			# HOST_ARCH not set --> in i486
   3.220 -			if [ "$ARCH" == "i486" ]; then
   3.221 +			if [ "$ARCH" == 'i486' ]; then
   3.222  				count=$(($count + 1))
   3.223  				echo "Adding: $pkg"
   3.224  				touch $pkg/arch.$ARCH
   3.225 @@ -230,40 +243,49 @@
   3.226  	echo "Packages for $ARCH : $count"
   3.227  }
   3.228  
   3.229 +
   3.230  #
   3.231  # Commands
   3.232  #
   3.233 +
   3.234  case "$1" in
   3.235  	usage|help|-u|-h)
   3.236  		usage ;;
   3.237 +
   3.238  	setup|-s)
   3.239  		# Setup the Cooker environment.
   3.240 -		echo -e "\nSetting up the Cooker"
   3.241 +		echo -e '\nSetting up the Cooker'
   3.242  		mkdir -p $CACHE
   3.243  		echo "Cooker setup using: $SLITAZ" | log
   3.244  		separator
   3.245 -		for pkg in $SETUP_PKGS mercurial rsync tazlito
   3.246 -		do
   3.247 +		for pkg in $SETUP_PKGS mercurial rsync tazlito; do
   3.248  			[ ! -d "$INSTALLED/$pkg" ] && tazpkg get-install $pkg
   3.249  		done
   3.250  		mkdir -p $SLITAZ && cd $SLITAZ
   3.251 -		[ -d "${wok}-hg" ] && echo -e "Hg wok already exists.\n" && exit 1
   3.252 -		[ -d "$wok" ] && echo -e "Build wok already exists.\n" && exit 1
   3.253 +		if [ -d "${wok}-hg" ]; then
   3.254 +			echo -e 'Hg wok already exists.\n'
   3.255 +			exit 1
   3.256 +		fi
   3.257 +		if [ -d "$wok" ]; then
   3.258 +			echo -e 'Build wok already exists.\n'
   3.259 +			exit 1
   3.260 +		fi
   3.261  
   3.262  		# Directories and files
   3.263  		echo "mkdir's and touch files in: $SLITAZ"
   3.264  		mkdir -p $PKGS $LOGS $FEEDS $CACHE $SRC
   3.265 -		for f in $activity $blocked $broken $commits $cooklist $command
   3.266 -		do
   3.267 +		for f in $activity $blocked $broken $commits $cooklist $command; do
   3.268  			touch $f
   3.269  		done
   3.270  		hg clone $WOK_URL ${wok}-hg || exit 1
   3.271  		[ -d "$flavors" ] || hg clone $FLAVORS_URL flavors
   3.272  		cp -a ${wok}-hg $wok
   3.273 -		separator && newline ;;
   3.274 +		separator; newline ;;
   3.275 +
   3.276  	arch-db)
   3.277  		# Manually create arch packages DB.
   3.278  		arch_db ;;
   3.279 +
   3.280  	setup-cron)
   3.281  		# Create cron job for the cooker.
   3.282  		[ "$2" ] || hours=2
   3.283 @@ -275,132 +297,158 @@
   3.284  			echo "0 */$hours * * *  /usr/bin/cooker --output=html" >> $crontabs
   3.285  			killall crond 2>/dev/null && /etc/init.d/crond start
   3.286  		fi ;;
   3.287 +
   3.288  	check-cron)
   3.289 -		[ -f "$crontabs" ] || \
   3.290 -			echo "There is no $crontabs here. Use setup-cron option." && exit 1
   3.291 +		if [ ! -f "$crontabs" ]; then
   3.292 +			echo "There is no $crontabs here. Use setup-cron option."
   3.293 +			exit 1
   3.294 +		fi
   3.295  		fgrep /usr/bin/cooker $crontabs ;;
   3.296 +
   3.297  	note|-n)
   3.298 -		# Blocked a pkg and want others to know why ? Post a note!
   3.299 -		note="$2"
   3.300 -		date=$(date "+%Y-%m-%d %H:%M")
   3.301 -		[ "$note" ] && echo "$date : $note" >> $cooknotes ;;
   3.302 +		# Blocked a pkg and want others to know why? Post a note!
   3.303 +		[ -n "$2" ] && echo "$(date '+%F %R') : $2" >> $cooknotes ;;
   3.304 +
   3.305  	notes|-ns)
   3.306  		# View cooknotes.
   3.307 -		echo -e "\nCooknotes"
   3.308 +		echo -e '\nCooknotes'
   3.309  		separator
   3.310  		cat $cooknotes
   3.311 -		separator && newline ;;
   3.312 +		separator; newline ;;
   3.313 +
   3.314  	block|-b)
   3.315  		# Block a package.
   3.316  		[ "$pkg" ] && cook $pkg --block ;;
   3.317 +
   3.318  	unblock|-ub)
   3.319  		# Unblock a package.
   3.320  		[ "$pkg" ] && cook $pkg --unblock ;;
   3.321 +
   3.322  	reverse|-r)
   3.323  		# Cook all reverse dependencies for a package. This command lets us
   3.324  		# control the Cooker manually for commits that will cook a lot of packages.
   3.325  		#
   3.326 -		# Use hg commit ? Ex: hg commit -m "Message bla bla | cooker:reverse"
   3.327 +		# Use hg commit? Ex: hg commit -m "Message bla bla | cooker:reverse"
   3.328  		#
   3.329 -		[ ! -d "$wok/$pkg" ] && echo -e "\nNo package $2 found.\n" && exit 0
   3.330 -		rm -f $cooklist && touch $cooklist && cd $wok
   3.331 +		if [ ! -d "$wok/$pkg" ]; then
   3.332 +			echo -e "\nNo package $2 found.\n"
   3.333 +			exit 0
   3.334 +		fi
   3.335 +		rm -f $cooklist; touch $cooklist
   3.336  		echo -e "\nReverse cooklist for: $pkg"
   3.337 -		separator && cd $wok
   3.338 -		for rev in *
   3.339 -		do
   3.340 -			unset WANTED DEPENDS BUILD_DEPENDS && . $wok/$rev/receipt
   3.341 +		separator
   3.342 +
   3.343 +		cd $wok
   3.344 +		for rev in *; do
   3.345 +			unset WANTED DEPENDS BUILD_DEPENDS; . $wok/$rev/receipt
   3.346  			if echo "$WANTED $DEPENDS $BUILD_DEPENDS" | fgrep -q $pkg; then
   3.347  				echo "$rev" | tee -a $cooklist
   3.348  			fi
   3.349 -		done && separator
   3.350 +		done
   3.351 +		separator
   3.352  		echo -e "Reverse dependencies found: $(cat $cooklist | wc -l)\n"
   3.353  		strip_blocked
   3.354  		cook_order | tee $LOGS/cookorder.log
   3.355  		cook_list ;;
   3.356 +
   3.357  	pkg|-p)
   3.358  		# Same as 'cook pkg' but with log for web interface.
   3.359  		cook $pkg || broken
   3.360  		clean_exit ;;
   3.361 +
   3.362  	cat|-c)
   3.363  		# Cook all packages of a category.
   3.364  		cat="$2"
   3.365 -		rm -f $cooklist && touch $cooklist && cd $wok
   3.366 -		for pkg in *
   3.367 -		do
   3.368 -			unset CATEGORY && . $pkg/receipt
   3.369 +		rm -f $cooklist; touch $cooklist
   3.370 +
   3.371 +		cd $wok
   3.372 +		for pkg in *; do
   3.373 +			unset CATEGORY; . $pkg/receipt
   3.374  			[ "$CATEGORY" == "$cat" ] && echo $pkg >> $cooklist
   3.375  		done
   3.376  		strip_blocked
   3.377  		cook_order | tee $LOGS/cookorder.log
   3.378  		cook_list ;;
   3.379 +
   3.380  	flavor|-f)
   3.381  		# Cook all packages of a flavor.
   3.382  		name="$2"
   3.383 -		[ ! -d "$flavors/$name" ] && \
   3.384 -			echo -e "\nSpecified flavor does not exist: $name\n" && exit 1
   3.385 -		[ -d "$flavors/.hg" ] && cd $flavors && hg pull -u
   3.386 -		list=$flavors/$name/packages.list
   3.387 +		if [ ! -d "$flavors/$name" ]; then
   3.388 +			echo -e "\nSpecified flavor does not exist: $name\n"
   3.389 +			exit 1
   3.390 +		fi
   3.391 +		if [ -d "$flavors/.hg" ]; then
   3.392 +			cd $flavors; hg pull -u
   3.393 +		fi
   3.394 +		list="$flavors/$name/packages.list"
   3.395  		cp -a $list $cooklist
   3.396  		strip_blocked
   3.397  		cook_order | tee $LOGS/cookorder.log
   3.398  		cook_list ;;
   3.399 +
   3.400  	list|-l)
   3.401  		# Cook a list of packages given in argument.
   3.402  		list="$2"
   3.403 -		[ ! -f "$list" ] && \
   3.404 -			echo -e "\nSpecified list does not exist: $list\n" && exit 1
   3.405 +		if [ ! -f "$list" ]; then
   3.406 +			echo -e "\nSpecified list does not exist: $list\n"
   3.407 +			exit 1
   3.408 +		fi
   3.409  		cp -a $list $cooklist
   3.410  		strip_blocked
   3.411  		cook_order | tee $LOGS/cookorder.log
   3.412  		cook_list ;;
   3.413 +
   3.414  	rev|-r)
   3.415  		# Cook or recook a specific Hg revision.
   3.416  		rev="$2"
   3.417  		[ "$rev" ] || exit 0
   3.418 +		rm -f $cooklist; touch $cooklist
   3.419 +
   3.420  		cd $wok
   3.421 -		rm -f $cooklist && touch $cooklist
   3.422 -		for pkg in $(hg log --rev=$rev --template "{files}")
   3.423 -		do
   3.424 -			echo "$pkg" | cut -d "/" -f 1 >> $cooklist
   3.425 +		for pkg in $(hg log --rev=$rev --template "{files}"); do
   3.426 +			echo "$pkg" | cut -d/ -f1 >> $cooklist
   3.427  		done
   3.428  		strip_blocked
   3.429  		cook_order | tee $LOGS/cookorder.log
   3.430  		cook_list ;;
   3.431 +
   3.432  	all|-a)
   3.433  		# Try to build all unbuilt packages except blocked's.
   3.434 -		echo "cooker:all" > $command
   3.435 -		rm -f $cooklist && touch $cooklist
   3.436 -		newline && cd $wok
   3.437 -		echo "Cooker cooklist"
   3.438 +		echo 'cooker:all' > $command
   3.439 +		rm -f $cooklist; touch $cooklist
   3.440 +		newline
   3.441 +		echo 'Cooker cooklist'
   3.442  		separator
   3.443  
   3.444  		# Find all unbuilt packages. Get EXTRAVERSION from packed receipt
   3.445  		# if it exists since extra version is added when packing the package.
   3.446 -		echo "Searching for all unbuilt packages" | log
   3.447 -		for pkg in *
   3.448 -		do
   3.449 +		echo 'Searching for all unbuilt packages' | log
   3.450 +
   3.451 +		cd $wok
   3.452 +		for pkg in *; do
   3.453  			unset EXTRAVERSION
   3.454  			. $pkg/receipt
   3.455  			[ -f "$pkg/taz/$PACKAGE-$VERSION/receipt" ] && \
   3.456  				. $pkg/taz/$PACKAGE-$VERSION/receipt
   3.457 -			if [ ! -f "$PKGS/$PACKAGE-${VERSION}${EXTRAVERSION}.tazpkg" ]
   3.458 -			then
   3.459 -				echo $pkg && echo $pkg >> $cooklist
   3.460 +			if [ ! -f "$PKGS/$PACKAGE-$VERSION$EXTRAVERSION.tazpkg" ]; then
   3.461 +				echo $pkg; echo $pkg >> $cooklist
   3.462  			fi
   3.463  		done
   3.464  		strip_blocked
   3.465  		cook_order | tee $LOGS/cookorder.log
   3.466  		echo "Packages to cook: $(cat $cooklist | wc -l)" | log
   3.467  		cook_list ;;
   3.468 +
   3.469  	*)
   3.470  		# Default is to cook all commits if not yet running.
   3.471 -		[ "$1" ] && usage
   3.472 +		[ -n "$1" ] && usage
   3.473  		cooklist=$commits
   3.474  		if [ -f "$pidfile" ]; then
   3.475  			pid=$(cat $pidfile)
   3.476  			if [ -s /proc/$pid/status ]; then
   3.477 -				gettext -e "\nStill cooking latest commits with pid:"
   3.478 -				echo -e " $pid\n" && exit 0
   3.479 +				echo -e "\nStill cooking latest commits with pid:"
   3.480 +				echo -e " $pid\n"
   3.481 +				exit 0
   3.482  			fi
   3.483  			rm -f "$pidfile"
   3.484  		fi
   3.485 @@ -408,7 +456,7 @@
   3.486  		# Start and get a PID file.
   3.487  		rm -f $LOGS/commits.log
   3.488  		newline
   3.489 -		echo "Checking for commits" | log_commits
   3.490 +		echo 'Checking for commits' | log_commits
   3.491  		separator | tee -a $LOGS/commits.log
   3.492  
   3.493  		echo $$ > $pidfile
   3.494 @@ -416,7 +464,7 @@
   3.495  			rm -f $pidfile $command && exit 1' INT TERM
   3.496  
   3.497  		echo "Cooker PID   : $$" | log_commits
   3.498 -		echo "Cooker date  : $(date '+%Y-%m-%d %H:%M:%S')" | log_commits
   3.499 +		echo "Cooker date  : $(date '+%F %T')" | log_commits
   3.500  
   3.501  		# Get revisions. Here we have 2 echoes since we want a msg on screen,
   3.502  		# in commits log and activity DB without a space before.
   3.503 @@ -424,8 +472,8 @@
   3.504  		cur=$(hg head --template '{rev}\n')
   3.505  		echo "Updating wok : ${wok}-hg (rev $cur)" | log_commits
   3.506  		echo "Updating wok: ${wok}-hg" | log
   3.507 -		echo "hg:pull" > $command
   3.508 -		cd ${wok}-hg && hg pull -u | log_commits
   3.509 +		echo 'hg:pull' > $command
   3.510 +		cd $wok-hg; hg pull -u | log_commits
   3.511  		new=$(hg head --template '{rev}\n')
   3.512  		# Store last rev to be used by CGI so it doesn't need to call hg head
   3.513  		# on each load.
   3.514 @@ -435,25 +483,24 @@
   3.515  		# files as before.
   3.516  		if [ "$new" -gt "$cur" ]; then
   3.517  			echo "Changes found from: $cur to $new" | log
   3.518 -			echo "Syncing build wok with Hg wok..." | log_commits
   3.519 -			rsync -r -t -c -l -u -v -D -E ${wok}-hg/ $wok/ | \
   3.520 +			echo 'Syncing build wok with Hg wok...' | log_commits
   3.521 +			rsync -r -t -c -l -u -v -D -E $wok-hg/ $wok/ | \
   3.522  				sed '/^$/'d | log_commits
   3.523  		else
   3.524  			echo "No revision changes: $cur vs $new" | log
   3.525  			separator | log_commits
   3.526 -			clean_exit && newline && exit 0
   3.527 +			clean_exit; newline
   3.528 +			exit 0
   3.529  		fi
   3.530  
   3.531  		# Get and display modifications.
   3.532 -		cd ${wok}-hg
   3.533 +		cd $wok-hg
   3.534  		commits_summary | log_commits
   3.535  		cur=$(($cur + 1))
   3.536 -		rm -f $commits.tmp && touch $commits.tmp
   3.537 -		for rev in $(seq $cur $new)
   3.538 -		do
   3.539 -			for file in $(hg log --rev=$rev --template "{files}")
   3.540 -			do
   3.541 -				pkg=$(echo $file | cut -d "/" -f 1)
   3.542 +		rm -f $commits.tmp; touch $commits.tmp
   3.543 +		for rev in $(seq $cur $new); do
   3.544 +			for file in $(hg log --rev=$rev --template "{files}"); do
   3.545 +				pkg=$(echo $file | cut -d/ -f1)
   3.546  				desc=$(hg log --rev=$rev --template "{desc}" $file)
   3.547  				echo "Committed package : $pkg - $desc" | log_commits
   3.548  				echo $pkg >> $commits.tmp
   3.549 @@ -463,8 +510,7 @@
   3.550  		# We may have deleted packages and files in stuff/. Remove it and
   3.551  		# clean DB as well as log file.
   3.552  		cd $wok
   3.553 -		for pkg in *
   3.554 -		do
   3.555 +		for pkg in *; do
   3.556  			if [ ! -d "${wok}-hg/$pkg" ]; then
   3.557  				echo "Removing package: $pkg" | log_commits
   3.558  				. $wok/$pkg/receipt
   3.559 @@ -475,13 +521,12 @@
   3.560  
   3.561  		# Keep previous commit and discard duplicate lines
   3.562  		cat $commits $commits.tmp | sed /"^$"/d > $commits.new
   3.563 -		uniq $commits.new > $commits && rm $commits.*
   3.564 +		uniq $commits.new > $commits; rm $commits.*
   3.565  
   3.566  		# Handle cross compilation. Create arch packages DB and remove pkgs
   3.567  		# not cooked for this arch from the commits list.
   3.568  		arch_db
   3.569 -		for pkg in $(cat $commits)
   3.570 -		do
   3.571 +		for pkg in $(cat $commits); do
   3.572  			if [ ! -f "$wok/$pkg/arch.$ARCH" ]; then
   3.573  				echo "Cooker arch : skip $pkg (not included in: $ARCH)" | \
   3.574  					log_commits
   3.575 @@ -490,7 +535,7 @@
   3.576  				echo "Cooker arch : $ARCH" | log_commits
   3.577  			fi
   3.578  		done
   3.579 -		
   3.580 +
   3.581  		# Stats
   3.582  		pkgs=$(cat $commits | wc -l)
   3.583  		echo "Packages to cook: $pkgs" | log
     4.1 --- a/cookiso	Sun May 03 19:43:46 2015 +0300
     4.2 +++ b/cookiso	Thu May 07 15:11:47 2015 +0300
     4.3 @@ -9,23 +9,24 @@
     4.4  # SSH/RSA configuration to upload on a server.
     4.5  # Assign this before cook.conf so it can be
     4.6  # reassigned in cook.conf.
     4.7 -SSH_CMD="dbclient -i /root/.ssh/id_rsa.dropbear"
     4.8 -SSH_ISO="/var/www/slitaz/mirror/iso"
     4.9 -SSH_HOST="slitaz@mirror1.slitaz.org"
    4.10 +SSH_CMD='dbclient -i /root/.ssh/id_rsa.dropbear'
    4.11 +SSH_ISO='/var/www/slitaz/mirror/iso'
    4.12 +SSH_HOST='slitaz@mirror1.slitaz.org'
    4.13  #BWLIMIT="--bwlimit=40"
    4.14  
    4.15  . /usr/lib/slitaz/libcook.sh
    4.16  
    4.17 +
    4.18  # Parse cmdline options.
    4.19 -for opt in "$@"
    4.20 -do
    4.21 +
    4.22 +for opt in "$@"; do
    4.23  	case "$opt" in
    4.24  		--force)
    4.25 -			force="yes" ;;
    4.26 +			force='yes' ;;
    4.27  		--pkgdb)
    4.28  			cook pkgdb --flavors ;;
    4.29  		--push)
    4.30 -			push="yes" ;;
    4.31 +			push='yes' ;;
    4.32  		--flavors=*)
    4.33  			flavors=${opt#--flavors=} ;;
    4.34  		--version=*)
    4.35 @@ -33,31 +34,32 @@
    4.36  	esac
    4.37  done
    4.38  
    4.39 +
    4.40  # Default to rolling, or: cookiso [cmd] --version=stable
    4.41 +
    4.42  case "$version" in
    4.43 -	stable)
    4.44 -		string=stable ;;
    4.45 -	cooking)
    4.46 -		string=cooking ;;
    4.47 -	*)
    4.48 -		version=cooking
    4.49 -		string=rolling ;;
    4.50 +	stable)  string='stable' ;;
    4.51 +	cooking) string='cooking' ;;
    4.52 +	*)       string='rolling'; version='cooking' ;;
    4.53  esac
    4.54  
    4.55 +
    4.56  # Running command
    4.57 +
    4.58  [ -d "$cache" ] && echo "$@" > $command
    4.59  trap 'rm -f $command && exit 1' INT TERM
    4.60  
    4.61 +
    4.62  #
    4.63  # Functions
    4.64  #
    4.65  
    4.66  usage() {
    4.67 -	cat << EOT
    4.68 +	cat <<EOT
    4.69  
    4.70 -$(echo -e "\033[1mUsage:\033[0m") cookiso [command] [--option]
    4.71 +$(boldify "Usage:") cookiso [command] [--option]
    4.72  
    4.73 -$(echo -e "\033[1mCommands:\033[0m")
    4.74 +$(boldify "Commands:")
    4.75    usage         Display this short usage.
    4.76    setup         Setup Cookiso build environment.
    4.77    push          Manually push ISO to a server via SSH.
    4.78 @@ -65,7 +67,7 @@
    4.79    4in1          Generate all 4in1 flavors.
    4.80    rolling       Build the rolling ISOs if any changes.
    4.81  
    4.82 -$(echo -e "\033[1mOptions:\033[0m")
    4.83 +$(boldify "Options:")
    4.84    --force       Build ISO rolling anyway.
    4.85    --pkgdb       Generate packages DB before building ISO.
    4.86    --push        Upload freshly generated ISO to a server.
    4.87 @@ -75,51 +77,56 @@
    4.88  EOT
    4.89  }
    4.90  
    4.91 +
    4.92  spider() {
    4.93 -	echo '  //  \\'
    4.94 -	echo ' _\\()//_'
    4.95 -	echo '/ //  \\ \\'
    4.96 -	echo ' | \__/ |'
    4.97 +	echo -e '  //  \\\\\n _\\\\()//_\n/ //  \\\\ \\\n | \\__/ |'
    4.98  }
    4.99  
   4.100 +
   4.101  # Check for some flavors on cmdline
   4.102 +
   4.103  flavors_list() {
   4.104 -	if [ "$flavors" == "all" ]; then
   4.105 +	if [ "$flavors" == 'all' ]; then
   4.106  		flavors=$(ls $SLITAZ/flavors)
   4.107  	fi
   4.108 -	if [ ! "$flavors" ]; then
   4.109 -		echo "No flavor specified on cmdline. Use: --flavors="
   4.110 -		rm -f $command && exit 0
   4.111 +	if [ -z "$flavors" ]; then
   4.112 +		echo 'No flavor specified on cmdline. Use: --flavors='
   4.113 +		rm -f $command
   4.114 +		exit 0
   4.115  	fi
   4.116  }
   4.117  
   4.118 +
   4.119  # Log activities, we want first letter capitalized.
   4.120 +
   4.121  log() {
   4.122  	grep ^[A-Z] | \
   4.123 -		sed s"#^[A-Z]\([^']*\)#$(date '+%Y-%m-%d %H:%M') : \0#" >> $activity
   4.124 +		sed s"#^[A-Z]\([^']*\)#$(date '+%F %R') : \0#" >> $activity
   4.125  }
   4.126  
   4.127 +
   4.128  log_bot() {
   4.129  	sed '/^.\//'d | sed '/^.hg/'d | tee -a $rollog
   4.130  }
   4.131  
   4.132 +
   4.133  # Generate requested flavors.
   4.134 +
   4.135  gen_flavors() {
   4.136  	cd $SLITAZ/flavors
   4.137  	[ -d ".hg" ] && hg pull -u
   4.138 -	mkdir -p $cache && cd $cache
   4.139 +	mkdir -p $cache; cd $cache
   4.140  	rm -rf *.flavor *.list *.conf *.sh
   4.141 -	for flavor in $flavors
   4.142 -	do
   4.143 -		if [ "$flavor" != "core-4in1" ]; then
   4.144 +	for flavor in $flavors; do
   4.145 +		if [ "$flavor" != 'core-4in1' ]; then
   4.146  			name="slitaz-$string-$flavor"
   4.147  		else
   4.148  			name="slitaz-$string"
   4.149  		fi
   4.150 -		log=$iso/$name.log
   4.151 -		rm -f $log && touch $log
   4.152 +		log="$iso/$name.log"
   4.153 +		rm -f $log; touch $log
   4.154  		echo "Building $string <a href='?distro=$string-$flavor'>$flavor</a>" | log
   4.155 -		echo "Cookiso started: $(date '+%Y-%m-%d %H:%M')" | tee -a $log
   4.156 +		echo "Cookiso started: $(date '+%F %R')" | tee -a $log
   4.157  		tazlito pack-flavor $flavor | tee -a $log
   4.158  		tazlito get-flavor $flavor | tee -a $log
   4.159  		# BUG: script sometimes screws up conspy on Tank
   4.160 @@ -128,26 +135,30 @@
   4.161  		# Rename ISO and md5
   4.162  		echo "Moving ISO to: $iso/$name.iso" | tee -a $log
   4.163  		mv -f $SLITAZ/distro/slitaz-$flavor.iso $iso/$name.iso
   4.164 -		cd $iso && md5sum $name.iso > $name.md5
   4.165 -		echo "Cookiso ended: $(date '+%Y-%m-%d %H:%M')" | tee -a $log
   4.166 -	done && echo ""
   4.167 +		cd $iso; md5sum $name.iso > $name.md5
   4.168 +		echo "Cookiso ended: $(date '+%F %R')" | tee -a $log
   4.169 +	done
   4.170 +	newline
   4.171 +
   4.172  	# Push ISO to mirror if requested.
   4.173 -	[ "$push" ] && push_iso
   4.174 +	[ -n "$push" ] && push_iso
   4.175  }
   4.176  
   4.177 +
   4.178  # Push an ISO to a server.
   4.179 +
   4.180  push_iso() {
   4.181  	echo "Pushing to host: ${SSH_HOST}"
   4.182  	export DROPBEAR_PASSWORD=none
   4.183 -	for flavor in $flavors
   4.184 -	do
   4.185 -		distro=slitaz-${string}-$flavor
   4.186 -		file=${distro%-core-4in1}
   4.187 +	for flavor in $flavors; do
   4.188 +		distro="slitaz-${string}-$flavor"
   4.189 +		file="${distro%-core-4in1}"
   4.190  		rsync $BWLIMIT -vtP -e "$SSH_CMD" $iso/$file.* \
   4.191  			${SSH_HOST}:$SSH_ISO/$string 2>&1 | tee $synclog
   4.192  	done
   4.193  }
   4.194  
   4.195 +
   4.196  #
   4.197  # Commands
   4.198  #
   4.199 @@ -165,34 +176,39 @@
   4.200  					hg clone $FLAVORS_URL-stable flavors ;;
   4.201  			esac
   4.202  		fi
   4.203 +
   4.204  		# Needed packages
   4.205 -		for pkg in mercurial tazlito rsync dropbear
   4.206 -		do
   4.207 -			[ -d "$INSTALLED/$pkg" ] || tazpkg -gi $pkg
   4.208 +		for pkg in mercurial tazlito rsync dropbear; do
   4.209 +			[ ! -d "$INSTALLED/$pkg" ] && tazpkg -gi $pkg
   4.210  		done
   4.211 -		echo "Creating directories and files..."
   4.212 +
   4.213 +		echo 'Creating directories and files...'
   4.214  		mkdir -p $cache $iso
   4.215  		touch $activity
   4.216 -		sed -i s'/^WORK_DIR=.*/WORK_DIR="\/home\/slitaz"/' \
   4.217 +		sed -i s'/^WORK_DIR=.*/WORK_DIR="\/home\/slitaz"/' 
   4.218  			/etc/tazlito/tazlito.conf
   4.219 -		echo ""
   4.220 +		newline
   4.221  		echo "Flavors files : $SLITAZ/flavors"
   4.222  		echo "Cache files   : $cache"
   4.223  		echo "ISO images    : $iso"
   4.224 -		echo "" ;;
   4.225 +		mewline ;;
   4.226 +
   4.227  	push)
   4.228  		# Manually upload an ISO to a server.
   4.229  		flavors_list
   4.230  		push_iso ;;
   4.231 +
   4.232  	gen)
   4.233  		# Build one or more flavors.
   4.234  		flavors_list
   4.235  		echo -e "\nGenerating flavors:\n$flavors"
   4.236  		gen_flavors ;;
   4.237 +
   4.238  	4in1)
   4.239  		echo -e "\nGenerating 4in1 distros..."
   4.240  		flavors="base justx gtkonly core core-4in1"
   4.241  		gen_flavors ;;
   4.242 +
   4.243  	rolling)
   4.244  		#
   4.245  		# Official SliTaz rolling release flavors are automatically built.
   4.246 @@ -200,50 +216,47 @@
   4.247  		# Check if packages list was modified or if any commits have been
   4.248  		# done in one of the rolling flavors and rebuild ISOs if needed.
   4.249  		#
   4.250 -		pkgs=$SLITAZ/packages/packages.md5
   4.251 -		last=$cache/packages.md5
   4.252 -		diff=$cache/packages.diff
   4.253 +		pkgs="$SLITAZ/packages/packages.md5"
   4.254 +		last="$cache/packages.md5"
   4.255 +		diff="$cache/packages.diff"
   4.256  		cook="preinit core-4in1 core core64"
   4.257 -		
   4.258 +
   4.259  		# Log stuff
   4.260 -		rm -f $rollog && touch $rollog
   4.261 -		rm -f $commit $commits.tmp && touch $commits.tmp
   4.262 -		echo "Rolling tracking for changes" | log
   4.263 -		echo "Cookiso rolling started: $(date '+%Y-%m-%d %H:%M')" | log_bot
   4.264 -		
   4.265 +		rm -f $rollog; touch $rollog
   4.266 +		rm -f $commit $commits.tmp; touch $commits.tmp
   4.267 +		echo 'Rolling tracking for changes' | log
   4.268 +		echo "Cookiso rolling started: $(date '+%F %R')" | log_bot
   4.269 +
   4.270  		# Packages changes
   4.271 -		[ -f "$last" ] || cp -f $pkgs $cache
   4.272 -		diff $last $pkgs > $diff 
   4.273 +		[ ! -f "$last" ] && cp -f $pkgs $cache
   4.274 +		diff $last $pkgs > $diff
   4.275  		if [ "$force" ] || [ -s "$diff" ]; then
   4.276 -			echo "Found new or rebuilt packages" | log_bot
   4.277 +			echo 'Found new or rebuilt packages' | log_bot
   4.278  			cat $diff | grep "^+" >> $rollog
   4.279  			#
   4.280  			# TODO: Check new pkg and see if it's part of one of the rolling
   4.281  			# flavors, if not we have nothing to build.
   4.282  			#
   4.283 -			for flavor in $cook
   4.284 -			do
   4.285 +			for flavor in $cook; do
   4.286  				echo "$flavor" >> $commits.tmp
   4.287  				echo "New packages for : $flavor" | log_bot
   4.288  			done
   4.289  		else
   4.290 -			echo "No changes found in packages MD5 sum" | log_bot
   4.291 -			echo "" > $commits.tmp
   4.292 +			echo 'No changes found in packages MD5 sum' | log_bot
   4.293 +			echo '' > $commits.tmp
   4.294  		fi
   4.295  		cp -f $pkgs $cache
   4.296 -		
   4.297 +
   4.298  		# Hg changes
   4.299  		cd $repo || exit 1
   4.300  		cur=$(hg head --template '{rev}\n')
   4.301 -		echo "Updating wok : $repo (rev $cur)" | log_bot 
   4.302 -		cd $repo && hg pull -u | log_bot 
   4.303 -		new=$(hg head --template '{rev}\n') 
   4.304 +		echo "Updating wok : $repo (rev $cur)" | log_bot
   4.305 +		cd $repo; hg pull -u | log_bot
   4.306 +		new=$(hg head --template '{rev}\n')
   4.307  		cur=$(($cur + 1))
   4.308 -		for rev in $(seq $cur $new)
   4.309 -		do
   4.310 -			for file in $(hg log --rev=$rev --template "{files}")
   4.311 -			do
   4.312 -				flavor=$(echo $file | cut -d "/" -f 1)
   4.313 +		for rev in $(seq $cur $new); do
   4.314 +			for file in $(hg log --rev=$rev --template "{files}"); do
   4.315 +				flavor=$(echo $file | cut -d/ -f1)
   4.316  				desc=$(hg log --rev=$rev --template "{desc}" $file)
   4.317  				echo "Committed flavor  : $flavor - $desc" | log_bot
   4.318  				# Build only rolling flavor
   4.319 @@ -252,7 +265,7 @@
   4.320  				fi
   4.321  			done
   4.322  		done
   4.323 -		
   4.324 +
   4.325  		# Keep previous commit and discard duplicate lines
   4.326  		cat $commits.tmp | sed /"^$"/d > $commits.new
   4.327  		uniq $commits.new > $commits && rm $commits.*
   4.328 @@ -260,9 +273,11 @@
   4.329  		echo "Flavors to cook  : $nb" | log_bot
   4.330  		flavors=$(cat $commits) 
   4.331  		gen_flavors ;;
   4.332 +
   4.333  	spider)
   4.334  		# SliTaz Easter egg command :-)
   4.335  		spider ;;
   4.336 +
   4.337  	*)
   4.338  		usage ;;
   4.339  esac
     5.1 --- a/cooklinux	Sun May 03 19:43:46 2015 +0300
     5.2 +++ b/cooklinux	Thu May 07 15:11:47 2015 +0300
     5.3 @@ -4,28 +4,31 @@
     5.4  # No patches, aufs and co, keep it simple. The goal is to let users build
     5.5  # a custom and optimized kernel in a few commands
     5.6  #
     5.7 -# Copyright (C) 2014 SliTaz GNU/Linux - BSD License
     5.8 +# Copyright (C) 2014-15 SliTaz GNU/Linux - BSD License
     5.9  #
    5.10  # Author: Christophe Lincoln <pankso@slitaz.org>
    5.11  #
    5.12 +
    5.13  . /lib/libtaz.sh
    5.14  . /etc/slitaz/slitaz.conf
    5.15  
    5.16  version="$1"
    5.17 -cookdir="/home/slitaz/src"
    5.18 -srcurl="https://www.kernel.org/pub/linux/kernel"
    5.19 +cookdir='/home/slitaz/src'
    5.20 +srcurl='https://www.kernel.org/pub/linux/kernel'
    5.21  
    5.22  check_root
    5.23  
    5.24 +
    5.25  # Help and usage
    5.26 +
    5.27  usage() {
    5.28 -	cat << EOT
    5.29 +	cat <<EOT
    5.30  
    5.31  SliTaz Linux Kernel cooker
    5.32  
    5.33 -$(boldify "Usage:") $(basename $0) [version] [--options]
    5.34 +$(boldify 'Usage:') $(basename $0) [version] [--options]
    5.35  
    5.36 -$(boldify "Options:")
    5.37 +$(boldify 'Options:')
    5.38    --clean        Remove various generated files but keep the config
    5.39    --mrproper     Remove all generated files + config + backup files
    5.40    --defconfig    New config with default from ARCH supplied defconfig
    5.41 @@ -38,45 +41,53 @@
    5.42    --bzImage      Build the compressed kernel image
    5.43    --modules      Build all kernel modules
    5.44  
    5.45 -$(boldify "Examples:")
    5.46 +$(boldify 'Examples:')
    5.47    $(basename $0) 3.8.3 --defconfig --menuconfig --bzImage
    5.48    $(basename $0) 3.2.14 --tazconfig --bzImage --modules
    5.49  
    5.50  EOT
    5.51  }
    5.52  
    5.53 +
    5.54  # Check and install a packages
    5.55 +
    5.56  check_pkg() {
    5.57  	if [ ! -f "$PKGS_DB/installed/$1/receipt" ]; then
    5.58 -		echo -n "Installing package:" && colorize 34 " $1"
    5.59 +		echo -n "Installing package:"; colorize 34 " $1"
    5.60  		tazpkg -gi $1 2>/dev/null >/dev/null
    5.61  	fi
    5.62  }
    5.63  
    5.64 +
    5.65  #
    5.66  # Commands/help - Support 3.x 2.6 and 2.4 kernels.
    5.67  #
    5.68 +
    5.69  case "$1" in
    5.70 -	3.*) wgeturl="${srcurl}/v3.0/" ;;
    5.71 +	3.*)   wgeturl="${srcurl}/v3.0/" ;;
    5.72  	2.6.*) wgeturl="${srcurl}/v2.6/" ;;
    5.73  	2.4.*) wgeturl="${srcurl}/v2.4/" ;;
    5.74  	-h|-u|help|usage|"")
    5.75 -		usage && exit 0 ;;
    5.76 +		usage; exit 0 ;;
    5.77  esac
    5.78  
    5.79 +
    5.80  # Sanity check
    5.81 -[ ! "$wgeturl" ] && echo "Unable to set download url" && exit 0
    5.82 +if [ -z "$wgeturl" ]; then
    5.83 +	echo 'Unable to set download url';
    5.84 +	exit 0
    5.85 +fi
    5.86 +
    5.87  
    5.88  #
    5.89  # Build start
    5.90  #
    5.91  
    5.92 -echo -n "Building Linux kernel:" && colorize 32 " $version"
    5.93 -echo -n "Source directory:" && colorize 30 " $cookdir"
    5.94 +echo -n 'Building Linux kernel:'; colorize 32 " $version"
    5.95 +echo -n 'Source directory:'; colorize 30 " $cookdir"
    5.96  
    5.97  # Install needed packages to compile.
    5.98 -for pkg in slitaz-toolchain perl xz lzma patch tar bc
    5.99 -do
   5.100 +for pkg in slitaz-toolchain perl xz lzma patch tar bc; do
   5.101  	check_pkg $pkg
   5.102  done
   5.103  
   5.104 @@ -88,98 +99,100 @@
   5.105  fi
   5.106  if [ ! -d "linux-$version" ]; then
   5.107  	echo "Extracting: linux-$version.tar.xz"
   5.108 -	unxz -c linux-$version.tar.xz | tar xf -
   5.109 +	unxz -c linux-$version.tar.xz | tar -xf -
   5.110  fi
   5.111  
   5.112  # Clean-up and get or update config
   5.113  cd linux-$version
   5.114  
   5.115 -if [ "$clean" ]; then
   5.116 +if [ -n "$clean" ]; then
   5.117  	make clean
   5.118  	rm -rf slitaz
   5.119  fi
   5.120  
   5.121 -if [ "$mrproper" ]; then
   5.122 +if [ -n "$mrproper" ]; then
   5.123  	make mrproper
   5.124  	rm -rf slitaz
   5.125  fi
   5.126  
   5.127  # Get SliTaz current config.
   5.128 -if [ "$tazconfig" ]; then
   5.129 -	echo "Using current SliTaz config: /proc/config.gz"
   5.130 +if [ -n "$tazconfig" ]; then
   5.131 +	echo 'Using current SliTaz config: /proc/config.gz'
   5.132  	zcat /proc/config.gz > .config
   5.133  	yes '' | make oldconfig
   5.134  fi
   5.135  
   5.136  # Create a new default config.
   5.137 -if [ "$defconfig" ]; then
   5.138 +if [ -n "$defconfig" ]; then
   5.139  	make defconfig
   5.140  fi
   5.141  
   5.142  # Update config and wipe out unloaded modules.
   5.143 -if [ "$localmod" ]; then
   5.144 +if [ -n "$localmod" ]; then
   5.145  	make localmodconfig
   5.146  fi
   5.147  
   5.148 +
   5.149  #
   5.150  # Configurators text/ncurses/Qt/GTK
   5.151  #
   5.152  
   5.153 -if [ "$config" ]; then
   5.154 -	echo "Starting Text mode configuration tool..."
   5.155 +if [ -n "$config" ]; then
   5.156 +	echo 'Starting Text mode configuration tool...'
   5.157  	make config
   5.158  fi
   5.159  
   5.160 -if [ "$menuconfig" ]; then
   5.161 -	echo "Starting Ncurses configuration tool..."
   5.162 +if [ -n "$menuconfig" ]; then
   5.163 +	echo 'Starting Ncurses configuration tool...'
   5.164  	check_pkg ncurses-dev
   5.165  	make menuconfig
   5.166  fi
   5.167  
   5.168 -if [ "$xconfig" ]; then
   5.169 -	echo "Starting QT configuration tool..."
   5.170 +if [ -n "$xconfig" ]; then
   5.171 +	echo 'Starting Qt configuration tool...'
   5.172  	check_pkg qt-4
   5.173  	make xconfig
   5.174  fi
   5.175  
   5.176 -if [ "$gconfig" ]; then
   5.177 -	echo "Starting GTK+ configuration tool..."
   5.178 +if [ -n "$gconfig" ]; then
   5.179 +	echo 'Starting GTK+ configuration tool...'
   5.180  	check_pkg gtk+-dev
   5.181  	check_pkg libglade-dev
   5.182  	make gconfig
   5.183  fi
   5.184  
   5.185 -if [ "$bzImage" ]; then
   5.186 -	echo "Building bzImage..."
   5.187 +if [ -n "$bzImage" ]; then
   5.188 +	echo 'Building bzImage...'
   5.189  	make bzImage || exit 1
   5.190  	mkdir -p slitaz/linux-custom-$version/fs/boot
   5.191  	cp -f arch/x86/boot/bzImage \
   5.192  		slitaz/linux-custom-$version/fs/boot/vmlinuz-$version
   5.193  fi
   5.194 -		
   5.195 -if [ "$modules" ]; then
   5.196 -	echo "Building modules..."
   5.197 +
   5.198 +if [ -n "$modules" ]; then
   5.199 +	echo 'Building modules...'
   5.200  	make modules || exit 1
   5.201  	make INSTALL_MOD_PATH=slitaz/linux-custom-$version/fs modules_install
   5.202  	rm -f slitaz/linux-custom-$version/fs/lib/modules/$version/build
   5.203  	rm -f slitaz/linux-custom-$version/fs/lib/modules/$version/source
   5.204  fi
   5.205  
   5.206 +
   5.207  #
   5.208  # Packaging
   5.209  #
   5.210  
   5.211  if [ -d "slitaz/linux-custom-$version/fs" ]; then
   5.212 -	echo "Packing Linux..."
   5.213 +	echo 'Packing Linux...'
   5.214  	cd slitaz
   5.215  else
   5.216 -	echo -n "Packing Linux:" && colorize 31 " not yet built"
   5.217 +	echo -n 'Packing Linux:'; colorize 31 ' not yet built'
   5.218  	exit 0
   5.219  fi
   5.220  
   5.221  # Receipt.
   5.222 -echo "Creating the receipt..."
   5.223 -cat > linux-custom-$version/receipt << EOF
   5.224 +echo 'Creating the receipt...'
   5.225 +cat > linux-custom-$version/receipt <<EOF
   5.226  # SliTaz package receipt.
   5.227  
   5.228  PACKAGE="linux-custom"
   5.229 @@ -225,7 +238,7 @@
   5.230  tazpkg pack linux-custom-$version
   5.231  
   5.232  # Install the new kernel.
   5.233 -if [ "$install" ]; then
   5.234 +if [ -n "$install" ]; then
   5.235  	cd $cookdir/linux-$version/slitaz
   5.236  	tazpkg -i linux-custom-$version.tazpkg --forced
   5.237  fi
     6.1 --- a/cross	Sun May 03 19:43:46 2015 +0300
     6.2 +++ b/cross	Thu May 07 15:11:47 2015 +0300
     6.3 @@ -2,22 +2,27 @@
     6.4  #
     6.5  # Cross - Help build a cross toolchain on SliTaz.
     6.6  #
     6.7 -# Copyright 2012-2014 (C) SliTaz GNU/Linux - BSD License
     6.8 +# Copyright 2012-2015 (C) SliTaz GNU/Linux - BSD License
     6.9  # Author: Christophe Lincoln <pankso@slitaz.org>
    6.10  #
    6.11 +
    6.12  . /lib/libtaz.sh
    6.13  
    6.14  [ -f "/etc/slitaz/cross.conf" ] && . /etc/slitaz/cross.conf
    6.15  [ -f "cross.conf" ] && . ./cross.conf
    6.16  
    6.17 +
    6.18  # Handle --config=/path/to/cross.conf
    6.19 +
    6.20  [ "$config" ] && . $config
    6.21 -source=$WORK/source
    6.22 -tools=$WORK/tools
    6.23 -sysroot=$WORK/sysroot
    6.24 -logdir=$WORK/log
    6.25 +source="$WORK/source"
    6.26 +tools="$WORK/tools"
    6.27 +sysroot="$WORK/sysroot"
    6.28 +logdir="$WORK/log"
    6.29 +
    6.30  
    6.31  # Cross-tools tarballs
    6.32 +
    6.33  binutils_tarball="binutils-$BINUTILS_VERSION.tar.bz2"
    6.34  linux_tarball="linux-$LINUX_VERSION.tar.xz"
    6.35  glibc_tarball="glibc-$GLIBC_VERSION.tar.bz2"
    6.36 @@ -25,7 +30,9 @@
    6.37  gcc_tarball="gcc-$GCC_VERSION.tar.bz2"
    6.38  libtool_tarball="libtool-$LIBTOOL_VERSION.tar.gz"
    6.39  
    6.40 +
    6.41  # Cross-tools URLs
    6.42 +
    6.43  binutils_wget="http://ftp.gnu.org/gnu/binutils/$binutils_tarball"
    6.44  linux_wget="http://www.kernel.org/pub/linux/kernel/v3.x/$linux_tarball"
    6.45  glibc_wget="http://ftp.gnu.org/gnu/libc/$glibc_tarball"
    6.46 @@ -34,9 +41,11 @@
    6.47  gcc_wget="http://ftp.gnu.org/gnu/gcc/gcc-$GCC_VERSION/$gcc_tarball"
    6.48  libtool_wget="ftp://sunsite.cnlab-switch.ch/mirror/gnu/libtool/$libtool_tarball"
    6.49  
    6.50 +
    6.51  # Help and usage.
    6.52 +
    6.53  usage() {
    6.54 -	cat << EOT
    6.55 +	cat <<EOT
    6.56  
    6.57  Usage: $(basename $0) command --option
    6.58  
    6.59 @@ -62,10 +71,12 @@
    6.60  EOT
    6.61  }
    6.62  
    6.63 +
    6.64  # Prebuilt README
    6.65 +
    6.66  prebuilt_readme() {
    6.67 -	echo -n "Creating toolchain README..."
    6.68 -	cat >> $package/README << EOT
    6.69 +	echo -n 'Creating toolchain README...'
    6.70 +	cat >> $package/README <<EOT
    6.71  
    6.72  SliTaz Prebuilt $ARCH cross toolchain
    6.73  ================================================================================
    6.74 @@ -85,7 +96,9 @@
    6.75  	status
    6.76  }
    6.77  
    6.78 +
    6.79  # Make sure we have all directories.
    6.80 +
    6.81  init_compile() {
    6.82  	unset CFLAGS CXXFLAGS
    6.83  	export LC_ALL=POSIX LANG=POSIX
    6.84 @@ -97,32 +110,38 @@
    6.85  	cd $source
    6.86  }
    6.87  
    6.88 +
    6.89  # Some arch may need custom CFLAGS to build Glibc/Eglibc
    6.90 +
    6.91  init_cflags() {
    6.92  	case "$ARCH" in
    6.93  		arm|armv6) export CFLAGS="-O2 -march=armv6" ;;
    6.94 -		armv6hf) export CFLAGS="-O2 -march=armv6j" ;;
    6.95 -		armv7) export CFLAGS="-Os -march=armv7-a" ;;
    6.96 +		armv6hf)   export CFLAGS="-O2 -march=armv6j" ;;
    6.97 +		armv7)     export CFLAGS="-Os -march=armv7-a" ;;
    6.98  	esac
    6.99  }
   6.100  
   6.101 +
   6.102  # Get source if not yet in $SRC.
   6.103 +
   6.104  download_src() {
   6.105 -	mkdir -p $SRC && cd $SRC
   6.106 +	mkdir -p $SRC; cd $SRC
   6.107  	[ -f "$binutils_tarball" ] || wget $binutils_wget
   6.108 -	[ -f "$linux_tarball" ] || wget --no-check-certificate $linux_wget
   6.109 -	[ -f "$glibc_tarball" ] || wget $glibc_wget
   6.110 -	[ -f "$eglibc_tarball" ] || wget $eglibc_wget
   6.111 -	[ -f "$gcc_tarball" ] || wget $gcc_wget
   6.112 -	[ -f "$libtool_tarball" ] || wget $libtool_wget
   6.113 +	[ -f "$linux_tarball" ]    || wget --no-check-certificate $linux_wget
   6.114 +	[ -f "$glibc_tarball" ]    || wget $glibc_wget
   6.115 +	[ -f "$eglibc_tarball" ]   || wget $eglibc_wget
   6.116 +	[ -f "$gcc_tarball" ]      || wget $gcc_wget
   6.117 +	[ -f "$libtool_tarball" ]  || wget $libtool_wget
   6.118  }
   6.119  
   6.120 +
   6.121  # 1. Binutils
   6.122 +
   6.123  binutils() {
   6.124  	init_compile
   6.125  	rm -rf binutils-$BINUTILS_VERSION
   6.126  	echo "Extracting: $binutils_tarball"
   6.127 -	tar xjf $SRC/$binutils_tarball
   6.128 +	tar -xjf $SRC/$binutils_tarball
   6.129  	echo "Configure: $BINUTILS_ARGS"
   6.130  	cd binutils-$BINUTILS_VERSION
   6.131  	./configure \
   6.132 @@ -138,16 +157,18 @@
   6.133  	echo "cross: binutils compiled on: $(date)"
   6.134  }
   6.135  
   6.136 +
   6.137  # 2. Kernel headers could use CROSS_COMPILE but gcc is not yet built.
   6.138 +
   6.139  linux_headers() {
   6.140  	init_compile
   6.141  	if [ ! -d "linux-$LINUX_VERSION" ]; then
   6.142  		echo "Extracting: $linux_tarball"
   6.143 -		tar xJf $SRC/$linux_tarball
   6.144 +		tar -xJf $SRC/$linux_tarball
   6.145  	fi
   6.146  	case "$ARCH" in
   6.147 -		armv6hf) KARCH="arm" ;;
   6.148 -		*) KARCH="$ARCH" ;;
   6.149 +		armv6hf) KARCH='arm' ;;
   6.150 +		*)       KARCH="$ARCH" ;;
   6.151  	esac
   6.152  	rm -rf linux-headers
   6.153  	cd linux-$LINUX_VERSION
   6.154 @@ -161,13 +182,15 @@
   6.155  	cp -a $source/linux-headers/* $sysroot/usr
   6.156  }
   6.157  
   6.158 +
   6.159  # 2.1 Glibc headers needed to compile x86_64 gcc-static.
   6.160 +
   6.161  glibc_headers() {
   6.162  	init_compile
   6.163  	echo "Extracting: $glibc_tarball"
   6.164 -	tar xjf $SRC/$glibc_tarball
   6.165 +	tar -xjf $SRC/$glibc_tarball
   6.166  	rm -rf glibc-headers
   6.167 -	mkdir glibc-headers && cd glibc-headers
   6.168 +	mkdir glibc-headers; cd glibc-headers
   6.169  	libc_cv_forced_unwind=yes \
   6.170  	libc_cv_c_cleanup=yes \
   6.171  	../glibc-$GLIBC_VERSION/configure \
   6.172 @@ -181,20 +204,22 @@
   6.173  	# Fixes
   6.174  	mkdir -p $sysroot/usr/include/gnu
   6.175  	touch $sysroot/usr/include/gnu/stubs.h
   6.176 -	
   6.177 +
   6.178  	# Fixe error: bits/stdio_lim.h not found
   6.179  	#cp bits/stdio_lim.h $sysroot/usr/include/bits
   6.180  	cp /usr/include/bits/stdio_lim.h $sysroot/usr/include/bits
   6.181  }
   6.182  
   6.183 +
   6.184  # 3. GCC static (first pass)
   6.185 +
   6.186  gcc_static() {
   6.187  	init_compile
   6.188  	echo "Extracting: $gcc_tarball"
   6.189 -	tar xjf $SRC/$gcc_tarball
   6.190 +	tar -xjf $SRC/$gcc_tarball
   6.191  	echo "Configure: $GCC_STATIC_ARGS"
   6.192  	rm -rf gcc-static
   6.193 -	mkdir gcc-static && cd gcc-static
   6.194 +	mkdir gcc-static; cd gcc-static
   6.195  	../gcc-$GCC_VERSION/configure \
   6.196  		--prefix=$tools \
   6.197  		--libexec=$tools/lib \
   6.198 @@ -213,28 +238,30 @@
   6.199  	echo "cross: gcc-static compiled on: $(date)"
   6.200  }
   6.201  
   6.202 +
   6.203  # 4. GNU Glibc: TODO Improve ARM support
   6.204 +
   6.205  glibc() {
   6.206  	init_compile
   6.207  	echo "Extracting: $glibc_tarball"
   6.208 -	tar xjf $SRC/$glibc_tarball
   6.209 +	tar -xjf $SRC/$glibc_tarball
   6.210  	echo "Configure: $GLIBC_ARGS"
   6.211  	# Some arch may need glibc-ports and custom CFLAGS
   6.212  	case "$ARCH" in
   6.213  		arm*)
   6.214 -			export CFLAGS="-march=armv6 -O2"
   6.215 +			export CFLAGS='-march=armv6 -O2'
   6.216  			[ -f "$SRC/glibc-ports-$GLIBC_VERSION.tar.bz2" ] || wget \
   6.217  				http://ftp.gnu.org/gnu/libc/glibc-ports-$GLIBC_VERSION.tar.bz2 \
   6.218  				-O $SRC/glibc-ports-$GLIBC_VERSION.tar.bz2 || exit 1
   6.219  			echo "Extracting: glibc-ports-$GLIBC_VERSION.tar.bz2"
   6.220  			rm -rf glibc-$GLIBC_VERSION/ports
   6.221 -			tar xjf $SRC/glibc-ports-$GLIBC_VERSION.tar.bz2
   6.222 +			tar -xjf $SRC/glibc-ports-$GLIBC_VERSION.tar.bz2
   6.223  			mv glibc-ports-$GLIBC_VERSION glibc-$GLIBC_VERSION/ports
   6.224 -			libexec=/usr/lib/glibc ;;
   6.225 +			libexec='/usr/lib/glibc' ;;
   6.226  		x86_64)
   6.227  			#export CFLAGS="-02 -march=generic -pipe"
   6.228 -			ccflags="-m64"
   6.229 -			libexec=/usr/lib64/glibc ;;
   6.230 +			ccflags='-m64'
   6.231 +			libexec='/usr/lib64/glibc' ;;
   6.232  	esac
   6.233  	# Disable linking to libgcc_eh
   6.234  	cd glibc-$GLIBC_VERSION
   6.235 @@ -243,7 +270,7 @@
   6.236  	cd ..
   6.237  	echo "CFLAGS: $CFLAGS"
   6.238  	rm -rf glibc-build
   6.239 -	mkdir -p glibc-build && cd glibc-build
   6.240 +	mkdir -p glibc-build; cd glibc-build
   6.241  	BUILD_CC="gcc" \
   6.242  	CC="${TARGET}-gcc $ccflags" \
   6.243  	AR="${TARGET}-ar" \
   6.244 @@ -264,13 +291,15 @@
   6.245  	case "$ARCH" in
   6.246  		x86_64)
   6.247  			rm -f $sysroot/lib $sysroot/usr/lib
   6.248 -			cd $sysroot && ln -s lib64 lib
   6.249 -			cd usr && ln -s lib64 lib ;;
   6.250 +			cd $sysroot; ln -s lib64 lib
   6.251 +			cd usr;      ln -s lib64 lib ;;
   6.252  	esac
   6.253  	echo "cross: glibc compiled on: $(date)"
   6.254  }
   6.255  
   6.256 +
   6.257  # 4. eglibc: always use --prefix=/usr
   6.258 +
   6.259  eglibc() {
   6.260  	init_compile
   6.261  	init_cflags
   6.262 @@ -280,7 +309,7 @@
   6.263  		exit 1
   6.264  	fi
   6.265  	echo "Extracting: $eglibc_tarball"
   6.266 -	tar xjf $SRC/$eglibc_tarball || exit 1
   6.267 +	tar -xjf $SRC/$eglibc_tarball || exit 1
   6.268  	case "$ARCH" in
   6.269  		arm*)
   6.270  			if [ ! -d "$source/eglibc-ports-$EGLIBC_VERSION" ]; then
   6.271 @@ -288,11 +317,11 @@
   6.272  				svn co $eglibc_svn/ports eglibc-ports-$EGLIBC_VERSION >/dev/null
   6.273  			fi
   6.274  			cp -a eglibc-ports-$EGLIBC_VERSION eglibc-$EGLIBC_VERSION/ports
   6.275 -			libexec=/usr/lib/eglibc ;;
   6.276 +			libexec='/usr/lib/eglibc' ;;
   6.277  		x86_64)
   6.278  			#export CFLAGS="-march=nocona -O2 -pipe"
   6.279 -			ccflags="-m64"
   6.280 -			libexec=/usr/lib64/eglibc ;;
   6.281 +			ccflags='-m64'
   6.282 +			libexec='/usr/lib64/eglibc' ;;
   6.283  	esac
   6.284  	# Disable linking to libgcc_eh
   6.285  	cd eglibc-$EGLIBC_VERSION
   6.286 @@ -300,14 +329,14 @@
   6.287  	sed -e 's/-lgcc_eh//g' Makeconfig.orig > Makeconfig
   6.288  	cd ..
   6.289  	echo "CFLAGS: $CFLAGS"
   6.290 -	mkdir -p eglibc-build && cd eglibc-build
   6.291 +	mkdir -p eglibc-build; cd eglibc-build
   6.292  	# config.cache
   6.293 -	cat > config.cache << EOT
   6.294 +	cat > config.cache <<EOT
   6.295  libc_cv_forced_unwind=yes
   6.296  libc_cv_c_cleanup=yes
   6.297  libc_cv_gnu89_inline=yes
   6.298  EOT
   6.299 -	BUILD_CC="gcc" \
   6.300 +	BUILD_CC='gcc' \
   6.301  	CC="${TARGET}-gcc $ccflags" \
   6.302  	AR="${TARGET}-ar" \
   6.303  	RANLIB="${TARGET}-ranlib" \
   6.304 @@ -330,16 +359,18 @@
   6.305  	echo "cross: eglibc compiled on: $(date)"
   6.306  }
   6.307  
   6.308 +
   6.309  # 5. GCC final
   6.310 +
   6.311  gcc_final() {
   6.312  	init_compile
   6.313  	if [ ! -d "gcc-$GCC_VERSION" ]; then
   6.314  		echo "Extracting: $gcc_tarball"
   6.315 -		tar xjf $SRC/$gcc_tarball
   6.316 +		tar -xjf $SRC/$gcc_tarball
   6.317  	fi
   6.318  	echo "Configure: $GCC_FINAL_ARGS"
   6.319  	rm -rf gcc-build
   6.320 -	mkdir -p gcc-build && cd gcc-build
   6.321 +	mkdir -p gcc-build; cd gcc-build
   6.322  	AR=ar \
   6.323  	../gcc-$GCC_VERSION/configure \
   6.324  		--prefix=$tools \
   6.325 @@ -365,13 +396,15 @@
   6.326  	echo "cross: GCC final compiled on: $(date)"
   6.327  }
   6.328  
   6.329 +
   6.330  # A cross libtool should avoid some shared libs path/format bugs
   6.331 +
   6.332  cross_libtool() {
   6.333  	init_compile
   6.334  	[ "$clean" ] && rm -rf libtool-${LIBTOOL_VERSION}
   6.335  	if [ ! -d "libtool-$LIBTOOL_VERSION" ]; then
   6.336  		echo "Extracting: $libtool_tarball"
   6.337 -		tar xzf $SRC/$libtool_tarball
   6.338 +		tar -xzf $SRC/$libtool_tarball
   6.339  	fi
   6.340  	cd libtool-${LIBTOOL_VERSION}
   6.341  	./configure \
   6.342 @@ -383,21 +416,23 @@
   6.343  	echo "cross: Cross libtool compiled on: $(date)"
   6.344  }
   6.345  
   6.346 +
   6.347  #
   6.348  # Commands
   6.349  #
   6.350  
   6.351  case "$1" in
   6.352  	howto|man)
   6.353 -		doc=/usr/share/doc/cookutils/cross.txt
   6.354 +		doc='/usr/share/doc/cookutils/cross.txt'
   6.355  		[ -f "$doc" ] && less -E $doc ;;
   6.356 +
   6.357  	info)
   6.358  		init_compile
   6.359  		init_cflags
   6.360  		CC=${TARGET}-gcc
   6.361 -		echo -e "\nCross Toolchain information" && separator
   6.362 +		echo -e '\nCross Toolchain information'; separator
   6.363  		[ "$config" ] && echo "Config file     : $config"
   6.364 -		cat << EOT
   6.365 +		cat <<EOT
   6.366  Target arch     : $ARCH
   6.367  C Compiler      : $CC
   6.368  CFLAGS          : $CFLAGS
   6.369 @@ -405,15 +440,16 @@
   6.370  Tools prefix    : $tools/bin
   6.371  Arch sysroot    : $sysroot
   6.372  EOT
   6.373 -		separator && echo ""
   6.374 -		echo "GCC version" && separator
   6.375 +		separator; newline
   6.376 +		echo 'GCC version'; separator
   6.377  		if [ -x "$tools/bin/$CC" ]; then
   6.378  			$CC -v
   6.379  		else
   6.380 -			echo "No C compiler. To build a toolchain run: cross compile"
   6.381 +			echo 'No C compiler. To build a toolchain run: cross compile'
   6.382  			echo "Missing: $tools/bin/$CC"
   6.383  		fi
   6.384 -		separator && echo "" ;;
   6.385 +		separator; newline ;;
   6.386 +
   6.387  	testsuite)
   6.388  		init_compile
   6.389  		echo "[COMPILING] $TARGET-gcc -v -Wall -o test.out test.c" \
   6.390 @@ -426,12 +462,13 @@
   6.391  		fi
   6.392  		echo -e "\n[CHECKING] readelf -h test.out" | tee -a $logdir/testsuite.log
   6.393  		readelf -h test.out | tee -a $logdir/testsuite.log ;;
   6.394 +
   6.395  	*setup)
   6.396 -		data="/usr/share/cross"
   6.397 +		data='/usr/share/cross'
   6.398  		arch=${1%-setup}
   6.399 -		[ "$arch" == "setup" ] && arch="arm"
   6.400 -		newline
   6.401 -		echo "Checking: build system packages"
   6.402 +		[ "$arch" == 'setup' ] && arch="arm"
   6.403 +
   6.404 +		newline; echo 'Checking: build system packages'
   6.405  		for pkg in slitaz-toolchain mpfr mpfr-dev gmp gmp-dev mpc-library \
   6.406  			gawk autoconf; do
   6.407  			if [ ! -d "/var/lib/tazpkg/installed/$pkg" ]; then
   6.408 @@ -447,30 +484,41 @@
   6.409  		cp -f ${data}/cross-${arch}.conf /etc/slitaz/cross.conf
   6.410  		cook ${arch}-setup
   6.411  		newline ;;
   6.412 +
   6.413  	download)
   6.414  		download_src ;;
   6.415 +
   6.416  	show-log)
   6.417  		pkg=$2
   6.418  		log=$logdir/$pkg.log
   6.419  		if [ ! -f "$log" ]; then
   6.420 -			echo "No log file found for: $pkg" && exit 1
   6.421 +			echo "No log file found for: $pkg"
   6.422 +			exit 1
   6.423  		fi
   6.424  		less -E $log ;;
   6.425 +
   6.426  	binutils)
   6.427  		rm -f $logdir/binutils.log
   6.428  		binutils 2>&1 | tee $logdir/binutils.log ;;
   6.429 +
   6.430  	linux-headers)
   6.431  		linux_headers 2>&1 | tee $logdir/linux-headers.log ;;
   6.432 +
   6.433  	glibc-headers)
   6.434  		glibc_headers 2>&1 | tee $logdir/glibc-headers.log ;;
   6.435 +
   6.436  	gcc-static)
   6.437  		gcc_static 2>&1 | tee $logdir/gcc-static.log ;;
   6.438 +
   6.439  	glibc)
   6.440  		glibc 2>&1 | tee $logdir/glibc.log ;;
   6.441 +
   6.442  	eglibc)
   6.443  		eglibc 2>&1 | tee $logdir/eglibc.log ;;
   6.444 +
   6.445  	gcc-final)
   6.446  		gcc_final 2>&1 | tee $logdir/gcc-final.log ;;
   6.447 +
   6.448  	compile)
   6.449  		# Compile the full toolchain.
   6.450  		time=$(date +%s)
   6.451 @@ -484,11 +532,11 @@
   6.452  		linux_headers 2>&1 | tee $logdir/linux-headers.log
   6.453  		gcc_static 2>&1 | tee $logdir/gcc-static.log
   6.454  		case "$ARCH" in
   6.455 -			arm*) eglibc 2>&1 | tee $logdir/eglibc.log ;;
   6.456 +			arm*)  eglibc 2>&1 | tee $logdir/eglibc.log ;;
   6.457  			x86_64) glibc 2>&1 | tee $logdir/glibc.log ;;
   6.458  		esac
   6.459  		gcc_final 2>&1 | tee $logdir/gcc-final.log
   6.460 -		echo ""
   6.461 +		newline
   6.462  		echo "Compile end  : $(date)" | tee -a $logdir/compile.log
   6.463  		time=$(($(date +%s) - $time))
   6.464  		sec=$time
   6.465 @@ -496,40 +544,43 @@
   6.466  		[ "$div" != 0 ] && min="~ ${div}m"
   6.467  		echo "Build time   : ${sec}s $min" | tee -a $logdir/compile.log
   6.468  		echo "" ;;
   6.469 +
   6.470  	libtool)
   6.471  		cross_libtool 2>&1 | tee $logdir/libtool.log ;;
   6.472 +
   6.473  	libhack)
   6.474  		# Some libxx.la files have libdir='/usr/lib' and make packages 
   6.475  		# cross compilation fail. Some receipts may have got hacked to force
   6.476  		# use of libs in sysroot but 'cross libhack' should be preferred.
   6.477  		echo "Libdir: $sysroot/usr/lib" 
   6.478 -		for la in $(fgrep -l libdir= $sysroot/usr/lib/*.la 2>/dev/null)
   6.479 -		do
   6.480 +		for la in $(fgrep -l libdir= $sysroot/usr/lib/*.la 2>/dev/null); do
   6.481  			if fgrep -q "libdir='/usr/lib'" ${la}; then
   6.482  				echo "Cross fixing: $(basename $la)"
   6.483  				sed -i s"#libdir=.*#libdir='/cross/$ARCH/sysroot/usr/lib'#" ${la}
   6.484  			fi
   6.485  		done ;;
   6.486 +
   6.487  	clean)
   6.488 -		echo -n "Removing all source files..."
   6.489 -		rm -rf $WORK/source && status
   6.490 +		echo -n 'Removing all source files...'
   6.491 +		rm -rf $WORK/source; status
   6.492  		[ "$log" ] && rm -f $WORK/log/*.log ;;
   6.493 +
   6.494  	clean-tools)
   6.495  		# Remove crap :-)
   6.496  		init_compile
   6.497  		echo "Cleaning   : $tools ($(du -sh $tools | awk '{print $1}'))"
   6.498 -		for file in share/info share/man share/local
   6.499 -		do
   6.500 +		for file in share/info share/man share/local; do
   6.501  			echo -n "Removing   : $file"
   6.502 -			rm -rf $tools/$file && status
   6.503 +			rm -rf $tools/$file; status
   6.504  		done
   6.505  		echo -n "Stripping  : shared libs and binaries"
   6.506 -		find $tools/bin -type f -exec strip -s '{}' 2>/dev/null \;
   6.507 -		find $tools/lib -name cc1* -exec strip -s '{}' 2>/dev/null \;
   6.508 -		find $tools/lib -name lto* -exec strip -s '{}' 2>/dev/null \;
   6.509 +		find $tools/bin -type f     -exec strip -s '{}' 2>/dev/null \;
   6.510 +		find $tools/lib -name cc1*  -exec strip -s '{}' 2>/dev/null \;
   6.511 +		find $tools/lib -name lto*  -exec strip -s '{}' 2>/dev/null \;
   6.512  		find $sysroot -name "*.so*" -exec ${TARGET}-strip -s '{}' 2>/dev/null \;
   6.513 -		sleep 1 && status
   6.514 -		echo -n "Tools size : " && du -sh $tools | awk '{print $1}' ;;
   6.515 +		sleep 1; status
   6.516 +		echo -n "Tools size : "; du -sh $tools | awk '{print $1}' ;;
   6.517 +
   6.518  	gen-prebuilt)
   6.519  		# Create a prebuilt cross toolchain tarball.
   6.520  		init_compile
   6.521 @@ -538,20 +589,21 @@
   6.522  		tarball="$package.tar.bz2"
   6.523  		cd /cross
   6.524  		mkdir -p $package/$ARCH || exit 1
   6.525 -		echo ""
   6.526 +		newline
   6.527  		echo -n "Copying $ARCH to: $package"
   6.528  		cp -a $ARCH/tools $package/$ARCH
   6.529  		cp -a $ARCH/sysroot $package/$ARCH
   6.530  		status
   6.531  		prebuilt_readme
   6.532  		echo -n "Creating prebuilt $ARCH toolchain tarball..."
   6.533 -		tar cjf $tarball $package
   6.534 +		tar -cjf $tarball $package
   6.535  		status
   6.536  		rm -rf $package
   6.537  		size=$(du -sh $tarball | awk '{print $1}')
   6.538  		echo "Tarball path: $(pwd)/$tarball"
   6.539  		echo "Tarball size: $size"
   6.540 -		echo "" ;;
   6.541 +		newline ;;
   6.542 +
   6.543  	*)
   6.544  		usage ;;
   6.545  esac
     7.1 --- a/lib/libcook.sh	Sun May 03 19:43:46 2015 +0300
     7.2 +++ b/lib/libcook.sh	Thu May 07 15:11:47 2015 +0300
     7.3 @@ -10,13 +10,17 @@
     7.4  . /usr/lib/slitaz/libpkg.sh
     7.5  . /etc/slitaz/slitaz.conf
     7.6  
     7.7 +
     7.8  # System wide config can be overwritten by a cook.conf in current path.
     7.9 +
    7.10  [ -f "/etc/slitaz/cook.conf" ] && . /etc/slitaz/cook.conf
    7.11  [ -f "cook.conf" ] && . ./cook.conf
    7.12  
    7.13 +
    7.14  # Shared DB between Cook, the Cooker and Cookiso.
    7.15  # In cookiso: repo= --> flavors
    7.16 -if [ "$(basename $0)" = "cookiso" ]; then
    7.17 +
    7.18 +if [ "$(basename $0)" = 'cookiso' ]; then
    7.19  	cache="$CACHE/cookiso"
    7.20  	#cookiso variables
    7.21  	repo="$SLITAZ/flavors"
    7.22 @@ -39,19 +43,25 @@
    7.23  cooknotes="$cache/cooknotes"
    7.24  crontabs="/var/spool/cron/crontabs/root"
    7.25  
    7.26 +
    7.27  # Lograte activity.
    7.28 +
    7.29  [ -s "$activity" ] && tail -n 60 $activity > /tmp/tail-$$ && \
    7.30  	mv -f /tmp/tail-$$ $activity
    7.31  
    7.32 +
    7.33  # Log activities, we want first letter capitalized.
    7.34  # TODO: use /lib/libtaz.sh log() but need to change all:
    7.35  # echo "Message" | log --> log "Message"
    7.36 +
    7.37  log() {
    7.38  	grep ^[A-Z] | \
    7.39 -		sed s"#^[A-Z]\([^']*\)#$(date '+%Y-%m-%d %H:%M') : \0#" >> $activity
    7.40 +		sed s"#^[A-Z]\([^']*\)#$(date '+%F %R') : \0#" >> $activity
    7.41  }
    7.42  
    7.43 +
    7.44  # Log broken packages.
    7.45 +
    7.46  broken() {
    7.47  	if ! grep -q "^$pkg$" $broken; then
    7.48  		echo "$pkg" >> $broken
     8.1 --- a/po/cook.pot	Sun May 03 19:43:46 2015 +0300
     8.2 +++ b/po/cook.pot	Thu May 07 15:11:47 2015 +0300
     8.3 @@ -8,7 +8,7 @@
     8.4  msgstr ""
     8.5  "Project-Id-Version: Cook 3.2\n"
     8.6  "Report-Msgid-Bugs-To: \n"
     8.7 -"POT-Creation-Date: 2014-03-05 15:28+0200\n"
     8.8 +"POT-Creation-Date: 2015-05-07 12:52+0300\n"
     8.9  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    8.10  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
    8.11  "Language-Team: LANGUAGE <LL@li.org>\n"
    8.12 @@ -16,13 +16,18 @@
    8.13  "MIME-Version: 1.0\n"
    8.14  "Content-Type: text/plain; charset=CHARSET\n"
    8.15  "Content-Transfer-Encoding: 8bit\n"
    8.16 +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
    8.17  
    8.18  #: cook:32
    8.19 -msgid "\\033[1mUsage:\\033[0m cook [package|command] [list|--option]"
    8.20 +msgid "Usage:"
    8.21 +msgstr ""
    8.22 +
    8.23 +#: cook:32
    8.24 +msgid "cook [package|command] [list|--option]"
    8.25  msgstr ""
    8.26  
    8.27  #: cook:34
    8.28 -msgid "\\033[1mCommands:\\033[0m"
    8.29 +msgid "Commands:"
    8.30  msgstr ""
    8.31  
    8.32  #: cook:35
    8.33 @@ -37,910 +42,798 @@
    8.34  msgid "Setup a cross environment."
    8.35  msgstr ""
    8.36  
    8.37 -#: cook:38
    8.38 +#: cook:39
    8.39  msgid "Test environment and cook a package."
    8.40  msgstr ""
    8.41  
    8.42 -#: cook:39
    8.43 +#: cook:40
    8.44  msgid "List packages in the wok."
    8.45  msgstr ""
    8.46  
    8.47 -#: cook:40
    8.48 +#: cook:41
    8.49  msgid "Simple packages search function."
    8.50  msgstr ""
    8.51  
    8.52 -#: cook:41
    8.53 +#: cook:42
    8.54  msgid "Create a new package with a receipt."
    8.55  msgstr ""
    8.56  
    8.57 -#: cook:42
    8.58 +#: cook:43
    8.59  msgid "Cook a list of packages."
    8.60  msgstr ""
    8.61  
    8.62 -#: cook:43
    8.63 +#: cook:44
    8.64  msgid "Clean-up all packages files."
    8.65  msgstr ""
    8.66  
    8.67 -#: cook:44
    8.68 +#: cook:45
    8.69  msgid "Clean-up all packages sources."
    8.70  msgstr ""
    8.71  
    8.72 -#: cook:45
    8.73 +#: cook:46
    8.74 +msgid "Check for uncooked packages"
    8.75 +msgstr ""
    8.76 +
    8.77 +#: cook:47
    8.78  msgid "Create packages DB lists and flavors."
    8.79  msgstr ""
    8.80  
    8.81 -#: cook:47
    8.82 -msgid "\\033[1mOptions:\\033[0m"
    8.83 +#: cook:49
    8.84 +msgid "Options:"
    8.85  msgstr ""
    8.86  
    8.87 -#: cook:48
    8.88 +#: cook:51
    8.89  msgid "clean the package in the wok."
    8.90  msgstr ""
    8.91  
    8.92 -#: cook:49
    8.93 +#: cook:52
    8.94  msgid "cook and install the package."
    8.95  msgstr ""
    8.96  
    8.97 -#: cook:50
    8.98 +#: cook:53
    8.99  msgid "get the package source tarball."
   8.100  msgstr ""
   8.101  
   8.102 -#: cook:51
   8.103 +#: cook:54
   8.104  msgid "block a package so cook will skip it."
   8.105  msgstr ""
   8.106  
   8.107 -#: cook:52
   8.108 +#: cook:55
   8.109  msgid "unblock a blocked package."
   8.110  msgstr ""
   8.111  
   8.112 -#: cook:53
   8.113 +#: cook:56
   8.114  msgid "check dependencies of cooked package."
   8.115  msgstr ""
   8.116  
   8.117 -#: cook:54
   8.118 +#: cook:57
   8.119  msgid "repack an already built package."
   8.120  msgstr ""
   8.121  
   8.122 -#: cook:55
   8.123 +#: cook:58
   8.124 +msgid "display debugging messages."
   8.125 +msgstr ""
   8.126 +
   8.127 +#: cook:59
   8.128 +msgid "continue running compile_rules."
   8.129 +msgstr ""
   8.130 +
   8.131 +#: cook:61
   8.132  msgid "create a receipt interactively."
   8.133  msgstr ""
   8.134  
   8.135 -#: cook:56
   8.136 +#: cook:63
   8.137  msgid "clone the cooking wok from Hg repo."
   8.138  msgstr ""
   8.139  
   8.140 -#: cook:57
   8.141 +#: cook:64
   8.142  msgid "clone the stable wok from Hg repo."
   8.143  msgstr ""
   8.144  
   8.145 -#: cook:58
   8.146 +#: cook:65
   8.147  msgid "clone the undigest wok from Hg repo."
   8.148  msgstr ""
   8.149  
   8.150 -#: cook:59
   8.151 +#: cook:66
   8.152  msgid "clone the tiny SliTaz wok from Hg repo."
   8.153  msgstr ""
   8.154  
   8.155 -#: cook:60
   8.156 +#: cook:67
   8.157  msgid "force reinstall of chroot packages."
   8.158  msgstr ""
   8.159  
   8.160 -#: cook:61
   8.161 +#: cook:69
   8.162  msgid "create up-to-date flavors files."
   8.163  msgstr ""
   8.164  
   8.165 -#: cook:76
   8.166 -#, sh-format
   8.167 -msgid "Unable to find package in the wok: $pkg"
   8.168 +#: cook:88
   8.169 +msgid "Unable to find package \"%s\" in the wok"
   8.170  msgstr ""
   8.171  
   8.172  #. L10n: QA is quality assurance
   8.173 -#: cook:84
   8.174 -#, sh-format
   8.175 -msgid "QA: empty variable: ${var}=\"\""
   8.176 +#: cook:97
   8.177 +msgid "QA: empty variable: %s"
   8.178  msgstr ""
   8.179  
   8.180 -#: cook:91
   8.181 -#, sh-format
   8.182 -msgid "Creating directories structure in: $SLITAZ"
   8.183 +#: cook:106
   8.184 +msgid "Creating directories structure in \"%s\""
   8.185  msgstr ""
   8.186  
   8.187 -#: cook:93
   8.188 -#, sh-format
   8.189 -msgid "Creating DB files in: $CACHE"
   8.190 +#: cook:108
   8.191 +msgid "Creating DB files in \"%s\""
   8.192  msgstr ""
   8.193  
   8.194 -#: cook:102
   8.195 +#: cook:118
   8.196  msgid "QA: checking package receipt..."
   8.197  msgstr ""
   8.198  
   8.199 -#: cook:118
   8.200 -#, sh-format
   8.201 -msgid "QA: unknown category: $value"
   8.202 +#: cook:133
   8.203 +msgid "QA: unknown category \"%s\""
   8.204  msgstr ""
   8.205  
   8.206 -#: cook:119
   8.207 -#, sh-format
   8.208 -msgid "Please, use one of: $valid"
   8.209 +#: cook:134
   8.210 +msgid "Please, use one of: %s"
   8.211  msgstr ""
   8.212  
   8.213 -#: cook:128
   8.214 -#, sh-format
   8.215 -msgid "QA: unable to reach: $value"
   8.216 +#: cook:144
   8.217 +msgid "QA: unable to reach \"%s\""
   8.218  msgstr ""
   8.219  
   8.220 -#: cook:184
   8.221 -#, sh-format
   8.222 -msgid "Creating tarball: $tarball"
   8.223 +#: cook:204
   8.224 +msgid "Creating tarball \"%s\""
   8.225  msgstr ""
   8.226  
   8.227 -#: cook:207 cook:211
   8.228 -#, sh-format
   8.229 -msgid "ERROR: wget $WGET_URL"
   8.230 +#: cook:229 cook:234 cook:248 cook:250 cook:260 cook:330
   8.231 +msgid "ERROR: %s"
   8.232  msgstr ""
   8.233  
   8.234 -#: cook:218
   8.235 -msgid "Getting source from Hg..."
   8.236 +#: cook:242 cook:257 cook:272 cook:285 cook:296 cook:328
   8.237 +msgid "Getting source from %s..."
   8.238  msgstr ""
   8.239  
   8.240 -#: cook:219 cook:233 cook:245 cook:257
   8.241 -#, sh-format
   8.242 -msgid "URL: $url"
   8.243 +#: cook:243 cook:258 cook:273 cook:286 cook:329
   8.244 +msgid "URL: %s"
   8.245  msgstr ""
   8.246  
   8.247 -#: cook:220
   8.248 -#, sh-format
   8.249 -msgid "Cloning to: $pwd/$pkgsrc"
   8.250 -msgstr ""
   8.251 -
   8.252 -#: cook:222
   8.253 -#, sh-format
   8.254 -msgid "Hg branch: $BRANCH"
   8.255 -msgstr ""
   8.256 -
   8.257 -#: cook:224
   8.258 -#, sh-format
   8.259 -msgid "ERROR: hg clone $url --rev $BRANCH"
   8.260 -msgstr ""
   8.261 -
   8.262 -#: cook:226
   8.263 -#, sh-format
   8.264 -msgid "ERROR: hg clone $url"
   8.265 -msgstr ""
   8.266 -
   8.267 -#: cook:232
   8.268 -msgid "Getting source from Git..."
   8.269 -msgstr ""
   8.270 -
   8.271 -#: cook:234
   8.272 -#, sh-format
   8.273 -msgid "ERROR: git clone $url"
   8.274 -msgstr ""
   8.275 -
   8.276 -#: cook:236
   8.277 -#, sh-format
   8.278 -msgid "Git branch: $BRANCH"
   8.279 -msgstr ""
   8.280 -
   8.281 -#: cook:244
   8.282 -msgid "Getting source from CVS..."
   8.283 +#: cook:244 cook:275
   8.284 +msgid "Cloning to \"%s\""
   8.285  msgstr ""
   8.286  
   8.287  #: cook:246
   8.288 -#, sh-format
   8.289 -msgid "CVS module: $mod"
   8.290 +msgid "Hg branch: %s"
   8.291  msgstr ""
   8.292  
   8.293 -#: cook:247
   8.294 -#, sh-format
   8.295 -msgid "Cloning to: $pwd/$mod"
   8.296 +#: cook:262
   8.297 +msgid "Git branch: %s"
   8.298  msgstr ""
   8.299  
   8.300 -#: cook:256
   8.301 -msgid "Getting source from SVN..."
   8.302 +#: cook:274
   8.303 +msgid "CVS module: %s"
   8.304  msgstr ""
   8.305  
   8.306 -#: cook:266
   8.307 -msgid "Getting source from bazaar..."
   8.308 -msgstr ""
   8.309 -
   8.310 -#: cook:276
   8.311 +#: cook:306
   8.312  msgid "Don't forget to add to receipt:"
   8.313  msgstr ""
   8.314  
   8.315 -#: cook:283
   8.316 -#, sh-format
   8.317 -msgid "ERROR: Unable to handle: $WGET_URL"
   8.318 +#: cook:314
   8.319 +msgid "ERROR: Unable to handle \"%s\""
   8.320  msgstr ""
   8.321  
   8.322 -#: cook:295
   8.323 -#, sh-format
   8.324 -msgid "Getting source from mirror: $url"
   8.325 +#: cook:332
   8.326 +msgid "Extracting source archive \"%s\""
   8.327  msgstr ""
   8.328  
   8.329 -#: cook:296
   8.330 -#, sh-format
   8.331 -msgid "ERROR: wget $url"
   8.332 +#. L10n: 'm' is for minutes (approximate cooking time)
   8.333 +#: cook:367
   8.334 +msgid "~ %dm"
   8.335  msgstr ""
   8.336  
   8.337 -#: cook:298
   8.338 -#, sh-format
   8.339 -msgid "Extracting: $TARBALL"
   8.340 +#: cook:370
   8.341 +msgid "Summary for: %s"
   8.342 +msgstr ""
   8.343 +
   8.344 +#. L10n: keep the same width of translations to get a consistent view
   8.345 +#: cook:374
   8.346 +msgid "Source dir  : %s"
   8.347 +msgstr ""
   8.348 +
   8.349 +#: cook:375
   8.350 +msgid "Src file    : %s"
   8.351 +msgstr ""
   8.352 +
   8.353 +#: cook:376
   8.354 +msgid "Src size    : %s"
   8.355 +msgstr ""
   8.356 +
   8.357 +#: cook:377
   8.358 +msgid "Produced    : %s"
   8.359 +msgstr ""
   8.360 +
   8.361 +#: cook:378
   8.362 +msgid "Packed      : %s"
   8.363 +msgstr ""
   8.364 +
   8.365 +#: cook:379
   8.366 +msgid "Compressed  : %s"
   8.367 +msgstr ""
   8.368 +
   8.369 +#: cook:380
   8.370 +msgid "Files       : %s"
   8.371 +msgstr ""
   8.372 +
   8.373 +#. L10n: 's' is for seconds (cooking time)
   8.374 +#: cook:382
   8.375 +msgid "Cook time   : %ds %s"
   8.376 +msgstr ""
   8.377 +
   8.378 +#: cook:383
   8.379 +msgid "Cook date   : %s"
   8.380 +msgstr ""
   8.381 +
   8.382 +#: cook:383 cook:395 cook:1448 cook:1602
   8.383 +msgid "+%%F %%R"
   8.384 +msgstr ""
   8.385 +
   8.386 +#: cook:384
   8.387 +msgid "Host arch   : %s"
   8.388 +msgstr ""
   8.389 +
   8.390 +#: cook:392
   8.391 +msgid "Debug information"
   8.392  msgstr ""
   8.393  
   8.394  #. L10n: specify your format of date and time (to help: man date)
   8.395  #. L10n: not bad one is '+%x %R'
   8.396 -#: cook:322 cook:349 cook:1277 cook:1384
   8.397 -msgid "+%Y-%m-%d %H:%M"
   8.398 +#: cook:395
   8.399 +msgid "Cook date: %s"
   8.400  msgstr ""
   8.401  
   8.402 -#. L10n: 'm' is for minutes (approximate cooking time)
   8.403 -#: cook:326
   8.404 -#, sh-format
   8.405 -msgid "~ ${div}m"
   8.406 +#. L10n: Please, translate all messages beginning with ERROR in a same way
   8.407 +#: cook:397 cook:661 cook:765 cook:799 cook:889 cook:1766
   8.408 +msgid "ERROR"
   8.409  msgstr ""
   8.410  
   8.411 -#: cook:327
   8.412 -#, sh-format
   8.413 -msgid "Summary for: $PACKAGE $VERSION"
   8.414 +#: cook:484
   8.415 +msgid "Executing strip on all files..."
   8.416 +msgstr ""
   8.417 +
   8.418 +#: cook:496
   8.419 +msgid "Removing Python compiled files..."
   8.420 +msgstr ""
   8.421 +
   8.422 +#: cook:503
   8.423 +msgid "Removing Perl compiled files..."
   8.424 +msgstr ""
   8.425 +
   8.426 +#: cook:518 cook:647
   8.427 +msgid "Build dependencies to remove:"
   8.428 +msgstr ""
   8.429 +
   8.430 +#: cook:520 cook:648
   8.431 +msgid "Removing:"
   8.432 +msgstr ""
   8.433 +
   8.434 +#: cook:535
   8.435 +msgid "Cook: %s"
   8.436 +msgstr ""
   8.437 +
   8.438 +#: cook:549
   8.439 +msgid "%s sysroot: %s"
   8.440 +msgstr ""
   8.441 +
   8.442 +#: cook:550
   8.443 +msgid "Adding \"%s\" to PATH"
   8.444 +msgstr ""
   8.445 +
   8.446 +#: cook:554
   8.447 +msgid "Using cross-tools: %s"
   8.448 +msgstr ""
   8.449 +
   8.450 +#: cook:578
   8.451 +msgid "Disabling -pipe compile flag: %d RAM free"
   8.452 +msgstr ""
   8.453 +
   8.454 +#: cook:594
   8.455 +msgid "Checking build dependencies..."
   8.456 +msgstr ""
   8.457 +
   8.458 +#: cook:595
   8.459 +msgid "Using packages DB: %s"
   8.460 +msgstr ""
   8.461 +
   8.462 +#: cook:619
   8.463 +msgid "Missing dep (wok/pkg): %s"
   8.464 +msgstr ""
   8.465 +
   8.466 +#: cook:627
   8.467 +msgid "ERROR: unknown dep \"%s\""
   8.468 +msgstr ""
   8.469 +
   8.470 +#: cook:641
   8.471 +msgid "Auto cook config is set: %s"
   8.472 +msgstr ""
   8.473 +
   8.474 +#: cook:644
   8.475 +msgid "Building dep (wok/pkg)    : %s"
   8.476 +msgstr ""
   8.477 +
   8.478 +#: cook:649
   8.479 +msgid "ERROR: can't cook dep \"%s\""
   8.480 +msgstr ""
   8.481 +
   8.482 +#: cook:664
   8.483 +msgid "ERROR: missing %d dependency"
   8.484 +msgid_plural "ERROR: missing %d dependencies"
   8.485 +msgstr[0] ""
   8.486 +msgstr[1] ""
   8.487 +
   8.488 +#: cook:671
   8.489 +msgid "Installing dep (pkg/local): %s"
   8.490 +msgstr ""
   8.491 +
   8.492 +#: cook:678
   8.493 +msgid "Installing dep (web/cache): %s"
   8.494 +msgstr ""
   8.495 +
   8.496 +#: cook:734 cook:789
   8.497 +msgid "Executing: %s"
   8.498 +msgstr ""
   8.499 +
   8.500 +#: cook:751
   8.501 +msgid "Running testsuite"
   8.502 +msgstr ""
   8.503 +
   8.504 +#: cook:762
   8.505 +msgid "ERROR: cook failed"
   8.506 +msgstr ""
   8.507 +
   8.508 +#: cook:786
   8.509 +msgid "Pack: %s"
   8.510 +msgstr ""
   8.511 +
   8.512 +#: cook:791
   8.513 +msgid "ERROR: genpkg_rules failed"
   8.514 +msgstr ""
   8.515 +
   8.516 +#: cook:794
   8.517 +msgid "No packages rules: meta package"
   8.518 +msgstr ""
   8.519 +
   8.520 +#: cook:807
   8.521 +msgid "Copying \"%s\"..."
   8.522 +msgstr ""
   8.523 +
   8.524 +#: cook:816
   8.525 +msgid "Creating the list of files..."
   8.526 +msgstr ""
   8.527 +
   8.528 +#: cook:824
   8.529 +msgid "Creating md5sum of files..."
   8.530 +msgstr ""
   8.531 +
   8.532 +#: cook:839
   8.533 +msgid "Compressing the FS..."
   8.534 +msgstr ""
   8.535 +
   8.536 +#: cook:847
   8.537 +msgid "Updating receipt sizes..."
   8.538 +msgstr ""
   8.539 +
   8.540 +#: cook:855
   8.541 +msgid "Updating receipt EXTRAVERSION: %s"
   8.542 +msgstr ""
   8.543 +
   8.544 +#: cook:862
   8.545 +msgid "Creating full cpio archive..."
   8.546 +msgstr ""
   8.547 +
   8.548 +#: cook:867
   8.549 +msgid "Restoring original package tree..."
   8.550 +msgstr ""
   8.551 +
   8.552 +#: cook:876
   8.553 +msgid "Package \"%s\" created"
   8.554 +msgstr ""
   8.555 +
   8.556 +#: cook:895
   8.557 +msgid "QA: checking for empty package..."
   8.558 +msgstr ""
   8.559 +
   8.560 +#: cook:898
   8.561 +msgid "ERROR: empty package"
   8.562 +msgstr ""
   8.563 +
   8.564 +#: cook:906
   8.565 +msgid "Removing old package \"%s\""
   8.566 +msgstr ""
   8.567 +
   8.568 +#: cook:940
   8.569 +msgid "Unable to install package, build has failed."
   8.570 +msgstr ""
   8.571 +
   8.572 +#: cook:949
   8.573 +msgid "Updating %s chroot environment..."
   8.574 +msgstr ""
   8.575 +
   8.576 +#: cook:950
   8.577 +msgid "Updating chroot: %s"
   8.578 +msgstr ""
   8.579 +
   8.580 +#: cook:982
   8.581 +msgid "Setup aufs chroot..."
   8.582 +msgstr ""
   8.583 +
   8.584 +#: cook:994
   8.585 +msgid "Aufs mount failure"
   8.586 +msgstr ""
   8.587 +
   8.588 +#: cook:1006
   8.589 +msgid "Leaving aufs chroot..."
   8.590 +msgstr ""
   8.591 +
   8.592 +#: cook:1075
   8.593 +msgid "Multiple choice:"
   8.594 +msgstr ""
   8.595 +
   8.596 +#: cook:1076
   8.597 +msgid "Select one [%s]: "
   8.598 +msgstr ""
   8.599 +
   8.600 +#: cook:1117
   8.601 +msgid "Getting standard devel files..."
   8.602 +msgstr ""
   8.603 +
   8.604 +#: cook:1134
   8.605 +msgid "List of %s packages in \"%s\""
   8.606 +msgstr ""
   8.607 +
   8.608 +#: cook:1150
   8.609 +msgid "%s package"
   8.610 +msgid_plural "%s packages"
   8.611 +msgstr[0] ""
   8.612 +msgstr[1] ""
   8.613 +
   8.614 +#: cook:1159
   8.615 +msgid "Search results for \"%s\""
   8.616 +msgstr ""
   8.617 +
   8.618 +#: cook:1166
   8.619 +msgid "Cook: setup environment"
   8.620 +msgstr ""
   8.621 +
   8.622 +#: cook:1167
   8.623 +msgid "Setting up your environment"
   8.624 +msgstr ""
   8.625 +
   8.626 +#: cook:1170
   8.627 +msgid "Checking for packages to install..."
   8.628 +msgstr ""
   8.629 +
   8.630 +#: cook:1176
   8.631 +msgid "ERROR: %s is not installed"
   8.632 +msgstr ""
   8.633 +
   8.634 +#: cook:1179
   8.635 +msgid "Using config file: %s"
   8.636 +msgstr ""
   8.637 +
   8.638 +#: cook:1200
   8.639 +msgid "Adding group \"%s\""
   8.640 +msgstr ""
   8.641 +
   8.642 +#: cook:1203
   8.643 +msgid "Setting permissions for group \"%s\"..."
   8.644 +msgstr ""
   8.645 +
   8.646 +#: cook:1206
   8.647 +msgid "All done, ready to cook packages :-)"
   8.648 +msgstr ""
   8.649 +
   8.650 +#: cook:1221
   8.651 +msgid "Cook: setup %s cross environment"
   8.652 +msgstr ""
   8.653 +
   8.654 +#: cook:1222
   8.655 +msgid "Setting up your %s cross environment"
   8.656  msgstr ""
   8.657  
   8.658  #. L10n: keep the same width of translations to get a consistent view
   8.659 -#: cook:330
   8.660 -#, sh-format
   8.661 -msgid "Source dir  : $srcdir"
   8.662 +#: cook:1251
   8.663 +msgid "Target arch     : %s"
   8.664  msgstr ""
   8.665  
   8.666 -#: cook:331
   8.667 -#, sh-format
   8.668 -msgid "Src file    : $TARBALL"
   8.669 +#: cook:1252
   8.670 +msgid "Configure args  : %s"
   8.671  msgstr ""
   8.672  
   8.673 -#: cook:332
   8.674 -#, sh-format
   8.675 -msgid "Src size    : $srcsize"
   8.676 +#: cook:1253
   8.677 +msgid "Build flags     : %s"
   8.678  msgstr ""
   8.679  
   8.680 -#: cook:333
   8.681 -#, sh-format
   8.682 -msgid "Produced    : $prod"
   8.683 +#: cook:1254
   8.684 +msgid "Arch sysroot    : %s"
   8.685  msgstr ""
   8.686  
   8.687 -#: cook:334
   8.688 -#, sh-format
   8.689 -msgid "Packed      : $fs"
   8.690 +#: cook:1255
   8.691 +msgid "Tools prefix    : %s"
   8.692  msgstr ""
   8.693  
   8.694 -#: cook:335
   8.695 -#, sh-format
   8.696 -msgid "Compressed  : $size"
   8.697 +#: cook:1257
   8.698 +msgid "Packages DB     : %s"
   8.699  msgstr ""
   8.700  
   8.701 -#: cook:336
   8.702 -#, sh-format
   8.703 -msgid "Files       : $files"
   8.704 +#: cook:1268
   8.705 +msgid "WARNING: %s is not installed in sysroot"
   8.706  msgstr ""
   8.707  
   8.708 -#. L10n: 's' is for seconds (cooking time)
   8.709 -#: cook:338
   8.710 -#, sh-format
   8.711 -msgid "Cook time   : ${sec}s $min"
   8.712 +#: cook:1272
   8.713 +msgid "Cross compiler  : %s"
   8.714  msgstr ""
   8.715  
   8.716 -#: cook:339
   8.717 -#, sh-format
   8.718 -msgid "Cook date   : $cookdate"
   8.719 +#: cook:1274
   8.720 +msgid "C compiler \"%s\" is missing"
   8.721  msgstr ""
   8.722  
   8.723 -#: cook:340
   8.724 -#, sh-format
   8.725 -msgid "Host arch   : $ARCH"
   8.726 +#: cook:1275
   8.727 +msgid "Run \"%s\" to cook a toolchain"
   8.728  msgstr ""
   8.729  
   8.730 -#: cook:346
   8.731 -msgid "Debug information"
   8.732 -msgstr ""
   8.733 -
   8.734 -#: cook:350
   8.735 -#, sh-format
   8.736 -msgid "Cook date: $datenow"
   8.737 -msgstr ""
   8.738 -
   8.739 -#. L10n: Please, translate all messages beginning with ERROR in a same way
   8.740 -#: cook:352 cook:614 cook:711 cook:742 cook:828 cook:1527
   8.741 -msgid "ERROR"
   8.742 -msgstr ""
   8.743 -
   8.744 -#: cook:437
   8.745 -msgid "Executing strip on all files..."
   8.746 -msgstr ""
   8.747 -
   8.748 -#: cook:450
   8.749 -msgid "Removing Python compiled files..."
   8.750 -msgstr ""
   8.751 -
   8.752 -#: cook:458
   8.753 -msgid "Removing Perl compiled files..."
   8.754 -msgstr ""
   8.755 -
   8.756 -#: cook:472 cook:600
   8.757 -msgid "Build dependencies to remove: "
   8.758 -msgstr ""
   8.759 -
   8.760 -#: cook:473 cook:601
   8.761 -msgid "Removing:"
   8.762 -msgstr ""
   8.763 -
   8.764 -#: cook:487
   8.765 -#, sh-format
   8.766 -msgid "Cook: $PACKAGE $VERSION"
   8.767 -msgstr ""
   8.768 -
   8.769 -#: cook:501
   8.770 -#, sh-format
   8.771 -msgid "$ARCH sysroot: $sysroot"
   8.772 -msgstr ""
   8.773 -
   8.774 -#: cook:502
   8.775 -#, sh-format
   8.776 -msgid "Adding $tools/bin to PATH"
   8.777 -msgstr ""
   8.778 -
   8.779 -#: cook:506
   8.780 -#, sh-format
   8.781 -msgid "Using cross-tools: $CROSS_COMPILE"
   8.782 -msgstr ""
   8.783 -
   8.784 -#: cook:528
   8.785 -#, sh-format
   8.786 -msgid "Disabling -pipe compile flag: $free RAM"
   8.787 -msgstr ""
   8.788 -
   8.789 -#: cook:545
   8.790 -msgid "Checking build dependencies..."
   8.791 -msgstr ""
   8.792 -
   8.793 -#: cook:546
   8.794 -#, sh-format
   8.795 -msgid "Using packages DB: ${root}$DB"
   8.796 -msgstr ""
   8.797 -
   8.798 -#: cook:572
   8.799 -#, sh-format
   8.800 -msgid "Missing dep (wok/pkg): $i $vers"
   8.801 -msgstr ""
   8.802 -
   8.803 -#: cook:580
   8.804 -#, sh-format
   8.805 -msgid "ERROR: unknown dep $i"
   8.806 -msgstr ""
   8.807 -
   8.808 -#: cook:593
   8.809 -msgid "Auto cook config is set: AUTO_COOK"
   8.810 -msgstr ""
   8.811 -
   8.812 -#: cook:597
   8.813 -#, sh-format
   8.814 -msgid "Building dep (wok/pkg)    : $i $vers"
   8.815 -msgstr ""
   8.816 -
   8.817 -#: cook:602
   8.818 -#, sh-format
   8.819 -msgid "ERROR: can't cook dep '$i'"
   8.820 -msgstr ""
   8.821 -
   8.822 -#: cook:617
   8.823 -#, sh-format
   8.824 -msgid "ERROR: missing dep $nb"
   8.825 -msgstr ""
   8.826 -
   8.827 -#: cook:624
   8.828 -#, sh-format
   8.829 -msgid "Installing dep (pkg/local): $i"
   8.830 -msgstr ""
   8.831 -
   8.832 -#: cook:632
   8.833 -#, sh-format
   8.834 -msgid "Installing dep (web/cache): $i"
   8.835 -msgstr ""
   8.836 -
   8.837 -#: cook:682
   8.838 -msgid "Executing: compile_rules"
   8.839 -msgstr ""
   8.840 -
   8.841 -#: cook:699
   8.842 -msgid "Running testsuite"
   8.843 -msgstr ""
   8.844 -
   8.845 -#: cook:708
   8.846 -msgid "ERROR: cook failed"
   8.847 -msgstr ""
   8.848 -
   8.849 -#: cook:729
   8.850 -#, sh-format
   8.851 -msgid "Pack: $PACKAGE ${VERSION}${arch}"
   8.852 -msgstr ""
   8.853 -
   8.854 -#: cook:732
   8.855 -msgid "Executing: genpkg_rules"
   8.856 -msgstr ""
   8.857 -
   8.858 -#: cook:734
   8.859 -msgid "ERROR: genpkg_rules failed"
   8.860 -msgstr ""
   8.861 -
   8.862 -#: cook:737
   8.863 -msgid "No packages rules: meta package"
   8.864 -msgstr ""
   8.865 -
   8.866 -#: cook:751
   8.867 -#, sh-format
   8.868 -msgid "Copying $file..."
   8.869 -msgstr ""
   8.870 -
   8.871 -#: cook:757
   8.872 -msgid "Creating the list of files..."
   8.873 -msgstr ""
   8.874 -
   8.875 -#: cook:768
   8.876 -msgid "Creating md5sum of files..."
   8.877 -msgstr ""
   8.878 -
   8.879 -#: cook:783
   8.880 -msgid "Compressing the fs..."
   8.881 -msgstr ""
   8.882 -
   8.883 -#: cook:790
   8.884 -msgid "Updating receipt sizes..."
   8.885 -msgstr ""
   8.886 -
   8.887 -#: cook:798
   8.888 -#, sh-format
   8.889 -msgid "Updating receipt EXTRAVERSION: $EXTRAVERSION"
   8.890 -msgstr ""
   8.891 -
   8.892 -#: cook:805
   8.893 -msgid "Creating full cpio archive..."
   8.894 -msgstr ""
   8.895 -
   8.896 -#: cook:809
   8.897 -msgid "Restoring original package tree..."
   8.898 -msgstr ""
   8.899 -
   8.900 -#: cook:817
   8.901 -#, sh-format
   8.902 -msgid "Package: $tazpkg"
   8.903 -msgstr ""
   8.904 -
   8.905 -#: cook:833
   8.906 -msgid "QA: checking for empty package..."
   8.907 -msgstr ""
   8.908 -
   8.909 -#: cook:836
   8.910 -msgid "ERROR: empty package"
   8.911 -msgstr ""
   8.912 -
   8.913 -#: cook:844
   8.914 -#, sh-format
   8.915 -msgid "Removing old: $old_pkg"
   8.916 -msgstr ""
   8.917 -
   8.918 -#: cook:874
   8.919 -msgid "Unable to install package, build has failed."
   8.920 -msgstr ""
   8.921 -
   8.922 -#: cook:883
   8.923 -#, sh-format
   8.924 -msgid "Updating $ARCH chroot environment..."
   8.925 -msgstr ""
   8.926 -
   8.927 -#: cook:884
   8.928 -#, sh-format
   8.929 -msgid "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
   8.930 -msgstr ""
   8.931 -
   8.932 -#: cook:905
   8.933 -msgid "Setup aufs chroot..."
   8.934 -msgstr ""
   8.935 -
   8.936 -#: cook:917
   8.937 -msgid "Aufs mountage failure"
   8.938 -msgstr ""
   8.939 -
   8.940 -#: cook:928
   8.941 -msgid "Leaving aufs chroot..."
   8.942 -msgstr ""
   8.943 -
   8.944 -#: cook:1030
   8.945 -#, sh-format
   8.946 -msgid "List of $ARCH packages in: $WOK"
   8.947 -msgstr ""
   8.948 -
   8.949 -#: cook:1046
   8.950 -msgid "Packages:"
   8.951 -msgstr ""
   8.952 -
   8.953 -#: cook:1053
   8.954 -#, sh-format
   8.955 -msgid "Search results for: $query"
   8.956 -msgstr ""
   8.957 -
   8.958 -#: cook:1059
   8.959 -msgid "Cook: setup environment"
   8.960 -msgstr ""
   8.961 -
   8.962 -#: cook:1060
   8.963 -msgid "Setting up your environment"
   8.964 -msgstr ""
   8.965 -
   8.966 -#: cook:1063
   8.967 -msgid "Checking for packages to install..."
   8.968 -msgstr ""
   8.969 -
   8.970 -#: cook:1069
   8.971 -msgid "ERROR: cross is not installed"
   8.972 -msgstr ""
   8.973 -
   8.974 -#: cook:1072
   8.975 -msgid "Using config file: /etc/slitaz/cross.conf"
   8.976 -msgstr ""
   8.977 -
   8.978 -#: cook:1097
   8.979 -msgid "Adding group: slitaz"
   8.980 -msgstr ""
   8.981 -
   8.982 -#: cook:1100
   8.983 -msgid "Setting permissions for slitaz group..."
   8.984 -msgstr ""
   8.985 -
   8.986 -#: cook:1103
   8.987 -msgid "All done, ready to cook packages :-)"
   8.988 -msgstr ""
   8.989 -
   8.990 -#: cook:1116
   8.991 -#, sh-format
   8.992 -msgid "Cook: setup $arch cross environment"
   8.993 -msgstr ""
   8.994 -
   8.995 -#: cook:1117
   8.996 -#, sh-format
   8.997 -msgid "Setting up your $arch cross environment"
   8.998 -msgstr ""
   8.999 -
  8.1000 -#. L10n: keep the same width of translations to get a consistent view
  8.1001 -#: cook:1148
  8.1002 -#, sh-format
  8.1003 -msgid "Target arch     : $ARCH"
  8.1004 -msgstr ""
  8.1005 -
  8.1006 -#: cook:1149
  8.1007 -#, sh-format
  8.1008 -msgid "Configure args  : $CONFIGURE_ARGS"
  8.1009 -msgstr ""
  8.1010 -
  8.1011 -#: cook:1150
  8.1012 -#, sh-format
  8.1013 -msgid "Build flags     : $flags"
  8.1014 -msgstr ""
  8.1015 -
  8.1016 -#: cook:1151
  8.1017 -#, sh-format
  8.1018 -msgid "Arch sysroot    : $sysroot"
  8.1019 -msgstr ""
  8.1020 -
  8.1021 -#: cook:1152
  8.1022 -#, sh-format
  8.1023 -msgid "Tools prefix    : $tools/bin"
  8.1024 -msgstr ""
  8.1025 -
  8.1026 -#: cook:1154
  8.1027 -#, sh-format
  8.1028 -msgid "Packages DB     : ${root}$DB"
  8.1029 -msgstr ""
  8.1030 -
  8.1031 -#: cook:1165
  8.1032 -msgid "WARNING: (e)glibc-base is not installed in sysroot"
  8.1033 -msgstr ""
  8.1034 -
  8.1035 -#: cook:1169
  8.1036 -#, sh-format
  8.1037 -msgid "Cross compiler  : ${HOST_SYSTEM}-gcc"
  8.1038 -msgstr ""
  8.1039 -
  8.1040 -#: cook:1171
  8.1041 -#, sh-format
  8.1042 -msgid "C compiler is missing: ${HOST_SYSTEM}-gcc"
  8.1043 -msgstr ""
  8.1044 -
  8.1045 -#: cook:1172
  8.1046 -msgid "Run 'cross compile' to cook a toolchain"
  8.1047 -msgstr ""
  8.1048 -
  8.1049 -#: cook:1177
  8.1050 +#: cook:1281
  8.1051  msgid "Cook test: testing the cook environment"
  8.1052  msgstr ""
  8.1053  
  8.1054 -#: cook:1187
  8.1055 -#, sh-format
  8.1056 -msgid "$pkg package already exists."
  8.1057 +#: cook:1292
  8.1058 +msgid "Package \"%s\" already exists."
  8.1059  msgstr ""
  8.1060  
  8.1061 -#: cook:1190
  8.1062 -#, sh-format
  8.1063 -msgid "Creating $WOK/$pkg"
  8.1064 +#: cook:1296
  8.1065 +msgid "Creating folder \"%s\""
  8.1066  msgstr ""
  8.1067  
  8.1068 -#: cook:1192
  8.1069 +#: cook:1299
  8.1070  msgid "Preparing the package receipt..."
  8.1071  msgstr ""
  8.1072  
  8.1073 -#: cook:1200
  8.1074 +#: cook:1307
  8.1075  msgid "Entering interactive mode..."
  8.1076  msgstr ""
  8.1077  
  8.1078 -#: cook:1202
  8.1079 -#, sh-format
  8.1080 -msgid "Package       : $pkg"
  8.1081 +#: cook:1309
  8.1082 +msgid "Package       : %s"
  8.1083  msgstr ""
  8.1084  
  8.1085 -#: cook:1203
  8.1086 +#: cook:1311
  8.1087  msgid "Version       : "
  8.1088  msgstr ""
  8.1089  
  8.1090 -#: cook:1205
  8.1091 +#: cook:1314
  8.1092  msgid "Category      : "
  8.1093  msgstr ""
  8.1094  
  8.1095  #. L10n: Short description
  8.1096 -#: cook:1208
  8.1097 +#: cook:1318
  8.1098  msgid "Short desc    : "
  8.1099  msgstr ""
  8.1100  
  8.1101 -#: cook:1210
  8.1102 +#: cook:1321
  8.1103  msgid "Maintainer    : "
  8.1104  msgstr ""
  8.1105  
  8.1106 -#: cook:1212
  8.1107 +#: cook:1324
  8.1108  msgid "License       : "
  8.1109  msgstr ""
  8.1110  
  8.1111 -#: cook:1214
  8.1112 +#: cook:1327
  8.1113  msgid "Web site      : "
  8.1114  msgstr ""
  8.1115  
  8.1116 -#: cook:1218
  8.1117 +#: cook:1332
  8.1118  msgid "Wget URL to download source tarball."
  8.1119  msgstr ""
  8.1120  
  8.1121 -#: cook:1219
  8.1122 +#: cook:1333
  8.1123  msgid "Example  : "
  8.1124  msgstr ""
  8.1125  
  8.1126 -#: cook:1220
  8.1127 +#: cook:1334
  8.1128  msgid "Wget url : "
  8.1129  msgstr ""
  8.1130  
  8.1131 -#: cook:1223
  8.1132 -msgid "Do you need a stuff directory? (y/N) : "
  8.1133 +#: cook:1338
  8.1134 +msgid "Do you need a stuff directory? (y/N)"
  8.1135  msgstr ""
  8.1136  
  8.1137 -#: cook:1225
  8.1138 +#: cook:1340
  8.1139  msgid "Creating the stuff directory..."
  8.1140  msgstr ""
  8.1141  
  8.1142 -#: cook:1229
  8.1143 -msgid "Are you going to write a description? (y/N) : "
  8.1144 +#: cook:1345
  8.1145 +msgid "Are you going to write a description? (y/N)"
  8.1146  msgstr ""
  8.1147  
  8.1148 -#: cook:1231
  8.1149 -msgid "Creating the description.txt file..."
  8.1150 +#: cook:1347
  8.1151 +msgid "Creating the \"%s\" file..."
  8.1152  msgstr ""
  8.1153  
  8.1154 -#: cook:1234
  8.1155 +#: cook:1351
  8.1156  msgid "Receipt is ready to use."
  8.1157  msgstr ""
  8.1158  
  8.1159 -#: cook:1240
  8.1160 +#: cook:1359
  8.1161  msgid "No list in argument."
  8.1162  msgstr ""
  8.1163  
  8.1164 -#: cook:1242
  8.1165 -#, sh-format
  8.1166 -msgid "No list found: $list2"
  8.1167 +#: cook:1363
  8.1168 +msgid "List \"%s\" not found."
  8.1169  msgstr ""
  8.1170  
  8.1171 -#: cook:1243
  8.1172 -#, sh-format
  8.1173 -msgid "Cook list starting: $list2"
  8.1174 +#: cook:1367
  8.1175 +msgid "Starting cooking the list \"%s\""
  8.1176  msgstr ""
  8.1177  
  8.1178 -#: cook:1250
  8.1179 +#: cook:1375
  8.1180  msgid "Cleaning all packages files..."
  8.1181  msgstr ""
  8.1182  
  8.1183 -#: cook:1255
  8.1184 +#: cook:1381
  8.1185  msgid "Cleaning all packages sources..."
  8.1186  msgstr ""
  8.1187  
  8.1188 -#: cook:1268
  8.1189 -msgid "Packages directory doesn't exist"
  8.1190 +#: cook:1388
  8.1191 +msgid "Checking for uncooked packages"
  8.1192  msgstr ""
  8.1193  
  8.1194 -#: cook:1275
  8.1195 +#: cook:1401
  8.1196 +msgid "Package \"%s\""
  8.1197 +msgstr ""
  8.1198 +
  8.1199 +#: cook:1420
  8.1200 +msgid "%s uncooked package"
  8.1201 +msgid_plural "%s uncooked packages"
  8.1202 +msgstr[0] ""
  8.1203 +msgstr[1] ""
  8.1204 +
  8.1205 +#: cook:1422
  8.1206 +msgid "All packages are cooked :-)"
  8.1207 +msgstr ""
  8.1208 +
  8.1209 +#: cook:1435
  8.1210 +msgid "Packages directory \"%s\" doesn't exist"
  8.1211 +msgstr ""
  8.1212 +
  8.1213 +#: cook:1445
  8.1214  msgid "Cook pkgdb: Creating all packages lists"
  8.1215  msgstr ""
  8.1216  
  8.1217 -#: cook:1276
  8.1218 -#, sh-format
  8.1219 -msgid "Creating lists for: $PKGS"
  8.1220 +#: cook:1446
  8.1221 +msgid "Creating lists for \"%s\""
  8.1222  msgstr ""
  8.1223  
  8.1224 -#: cook:1278
  8.1225 -#, sh-format
  8.1226 -msgid "Cook pkgdb started: $datenow"
  8.1227 +#: cook:1448
  8.1228 +msgid "Cook pkgdb started: %s"
  8.1229  msgstr ""
  8.1230  
  8.1231 -#: cook:1281
  8.1232 -msgid "Creating: packages.list"
  8.1233 +#: cook:1454 cook:1457 cook:1523 cook:1535 cook:1540
  8.1234 +msgid "Creating file \"%s\""
  8.1235  msgstr ""
  8.1236  
  8.1237 -#: cook:1283
  8.1238 -msgid "Creating: packages.md5"
  8.1239 +#: cook:1463
  8.1240 +msgid "Creating lists from \"%s\""
  8.1241  msgstr ""
  8.1242  
  8.1243 -#: cook:1286
  8.1244 -#, sh-format
  8.1245 -msgid "Creating lists from: $WOK"
  8.1246 -msgstr ""
  8.1247 -
  8.1248 -#: cook:1328
  8.1249 -msgid "Done: packages.desc"
  8.1250 -msgstr ""
  8.1251 -
  8.1252 -#: cook:1329
  8.1253 -msgid "Done: packages.txt"
  8.1254 -msgstr ""
  8.1255 -
  8.1256 -#: cook:1330
  8.1257 -msgid "Done: packages.equiv"
  8.1258 -msgstr ""
  8.1259 -
  8.1260 -#: cook:1333
  8.1261 -msgid "Creating: files.list.lzma"
  8.1262 +#: cook:1516 cook:1517 cook:1518 cook:1529 cook:1547
  8.1263 +msgid "Done: %s (%s)"
  8.1264  msgstr ""
  8.1265  
  8.1266  #. L10n: 's' is for seconds (cooking time)
  8.1267 -#: cook:1342
  8.1268 -#, sh-format
  8.1269 -msgid "Packages: $nb - Time: ${time}s"
  8.1270 +#: cook:1554
  8.1271 +msgid "Packages: %s - Time: %ss"
  8.1272  msgstr ""
  8.1273  
  8.1274 -#: cook:1348
  8.1275 -#, sh-format
  8.1276 -msgid "Missing flavors: $flavors"
  8.1277 +#: cook:1563
  8.1278 +msgid "Missing flavors folder \"%s\""
  8.1279  msgstr ""
  8.1280  
  8.1281 -#: cook:1350
  8.1282 -#, sh-format
  8.1283 -msgid "Creating flavors files in: $live"
  8.1284 +#: cook:1568
  8.1285 +msgid "Creating flavors files in \"%s\""
  8.1286  msgstr ""
  8.1287  
  8.1288 -#: cook:1351
  8.1289 +#: cook:1569
  8.1290  msgid "Cook pkgdb: Creating all flavors"
  8.1291  msgstr ""
  8.1292  
  8.1293 -#: cook:1353
  8.1294 +#: cook:1572
  8.1295  msgid "Recharging lists to use latest packages..."
  8.1296  msgstr ""
  8.1297  
  8.1298 -#: cook:1358
  8.1299 -msgid "Creating configuration file: tazlito.conf"
  8.1300 +#: cook:1577
  8.1301 +msgid "Creating configuration file \"%s\""
  8.1302  msgstr ""
  8.1303  
  8.1304 -#: cook:1368
  8.1305 +#: cook:1589
  8.1306  msgid "Starting to generate flavors..."
  8.1307  msgstr ""
  8.1308  
  8.1309 -#: cook:1373
  8.1310 -#, sh-format
  8.1311 -msgid "Packing flavor: $fl"
  8.1312 +#: cook:1593
  8.1313 +msgid "Packing flavor \"%s\""
  8.1314  msgstr ""
  8.1315  
  8.1316 -#: cook:1381
  8.1317 -#, sh-format
  8.1318 -msgid "Flavors size: $fl_size"
  8.1319 +#: cook:1599
  8.1320 +msgid "Total flavors size: %s"
  8.1321  msgstr ""
  8.1322  
  8.1323 -#: cook:1385
  8.1324 -#, sh-format
  8.1325 -msgid "Cook pkgdb end: $datenow"
  8.1326 +#: cook:1602
  8.1327 +msgid "Cook pkgdb end: %s"
  8.1328  msgstr ""
  8.1329  
  8.1330 -#: cook:1412
  8.1331 -#, sh-format
  8.1332 -msgid "cook: HOST_ARCH is not set in $pkg receipt"
  8.1333 +#: cook:1622
  8.1334 +msgid "cook: HOST_ARCH is not set in \"%s\" receipt"
  8.1335  msgstr ""
  8.1336  
  8.1337 -#: cook:1413
  8.1338 -#, sh-format
  8.1339 -msgid "cook: This package is not included in: $ARCH"
  8.1340 +#: cook:1623
  8.1341 +msgid "package \"%s\" is not included in %s"
  8.1342  msgstr ""
  8.1343  
  8.1344 -#: cook:1414 cook:1425
  8.1345 -#, sh-format
  8.1346 -msgid "bugs: $CROSS_BUGS"
  8.1347 +#: cook:1624 cook:1637 cook:1639
  8.1348 +msgid "cook: %s"
  8.1349  msgstr ""
  8.1350  
  8.1351 -#: cook:1415
  8.1352 -#, sh-format
  8.1353 -msgid "Cook skip: $pkg is not included in: $ARCH"
  8.1354 +#: cook:1625 cook:1640
  8.1355 +msgid "bugs: %s"
  8.1356  msgstr ""
  8.1357  
  8.1358 -#: cook:1423
  8.1359 -#, sh-format
  8.1360 -msgid "cook: HOST_ARCH=$HOST_ARCH"
  8.1361 +#: cook:1626 cook:1641
  8.1362 +msgid "Cook skip: %s"
  8.1363  msgstr ""
  8.1364  
  8.1365 -#: cook:1424
  8.1366 -#, sh-format
  8.1367 -msgid "cook: $pkg doesn't cook or is not included in: $ARCH"
  8.1368 +#: cook:1634
  8.1369 +msgid "Host arch %s"
  8.1370  msgstr ""
  8.1371  
  8.1372 -#: cook:1426
  8.1373 -#, sh-format
  8.1374 -msgid "Cook skip: $pkg doesn't cook or is not included in: $ARCH"
  8.1375 +#: cook:1638
  8.1376 +msgid "package \"%s\" doesn't cook or is not included in %s"
  8.1377  msgstr ""
  8.1378  
  8.1379 -#: cook:1432
  8.1380 -#, sh-format
  8.1381 -msgid "Blocked package: $pkg"
  8.1382 +#: cook:1649
  8.1383 +msgid "Package \"%s\" is blocked"
  8.1384  msgstr ""
  8.1385  
  8.1386 -#: cook:1439
  8.1387 -#, sh-format
  8.1388 -msgid "Cook started for: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
  8.1389 +#: cook:1656
  8.1390 +msgid "Cook started for: %s"
  8.1391  msgstr ""
  8.1392  
  8.1393 -#: cook:1450
  8.1394 -#, sh-format
  8.1395 -msgid "Cleaning: $pkg"
  8.1396 +#: cook:1667
  8.1397 +msgid "Cleaning \"%s\""
  8.1398  msgstr ""
  8.1399  
  8.1400 -#: cook:1456
  8.1401 -#, sh-format
  8.1402 -msgid "Getting source for: $pkg"
  8.1403 +#: cook:1676
  8.1404 +msgid "Getting source for \"%s\""
  8.1405  msgstr ""
  8.1406  
  8.1407 -#: cook:1458
  8.1408 -#, sh-format
  8.1409 -msgid "Tarball: $SRC/$TARBALL"
  8.1410 +#: cook:1678
  8.1411 +msgid "Tarball: %s"
  8.1412  msgstr ""
  8.1413  
  8.1414 -#: cook:1461
  8.1415 -#, sh-format
  8.1416 -msgid "Blocking: $pkg"
  8.1417 +#: cook:1682
  8.1418 +msgid "Blocking package \"%s\""
  8.1419  msgstr ""
  8.1420  
  8.1421 -#: cook:1465
  8.1422 -#, sh-format
  8.1423 -msgid "Unblocking: $pkg"
  8.1424 +#: cook:1688
  8.1425 +msgid "Unblocking package \"%s\""
  8.1426  msgstr ""
  8.1427  
  8.1428 -#: cook:1475 cook:1479
  8.1429 -#, sh-format
  8.1430 -msgid "Need to build $pkg."
  8.1431 +#: cook:1700 cook:1707
  8.1432 +msgid "Need to build \"%s\""
  8.1433  msgstr ""
  8.1434  
  8.1435 -#: cook:1480
  8.1436 +#: cook:1711
  8.1437  msgid "Checking depends"
  8.1438  msgstr ""
  8.1439  
  8.1440 -#: cook:1507
  8.1441 -#, sh-format
  8.1442 -msgid "WANTED package is blocked: $wanted"
  8.1443 +#: cook:1742
  8.1444 +msgid "WANTED package \"%s\" is blocked"
  8.1445  msgstr ""
  8.1446  
  8.1447 -#: cook:1511
  8.1448 -#, sh-format
  8.1449 -msgid "WANTED package is broken: $wanted"
  8.1450 +#: cook:1748
  8.1451 +msgid "WANTED package \"%s\" is broken"
  8.1452  msgstr ""
     9.1 --- a/po/pt_BR.po	Sun May 03 19:43:46 2015 +0300
     9.2 +++ b/po/pt_BR.po	Thu May 07 15:11:47 2015 +0300
     9.3 @@ -7,7 +7,7 @@
     9.4  msgstr ""
     9.5  "Project-Id-Version: Cook 3.1.4\n"
     9.6  "Report-Msgid-Bugs-To: \n"
     9.7 -"POT-Creation-Date: 2014-03-05 15:28+0200\n"
     9.8 +"POT-Creation-Date: 2015-05-07 12:52+0300\n"
     9.9  "PO-Revision-Date: 2014-03-07 23:29-0300\n"
    9.10  "Last-Translator: Claudinei Pereira <claudinei@slitaz.org>\n"
    9.11  "Language-Team: Brazilian Portuguese <i18n@slitaz.org>\n"
    9.12 @@ -18,12 +18,16 @@
    9.13  "Plural-Forms: nplurals=2; plural=(n > 1);\n"
    9.14  
    9.15  #: cook:32
    9.16 -msgid "\\033[1mUsage:\\033[0m cook [package|command] [list|--option]"
    9.17 -msgstr "\\033[1mUtilização:\\033[0m cook [pacote|comando] [lista|--opções]"
    9.18 +msgid "Usage:"
    9.19 +msgstr "Utilização:"
    9.20 +
    9.21 +#: cook:32
    9.22 +msgid "cook [package|command] [list|--option]"
    9.23 +msgstr "cook [pacote|comando] [lista|--opções]"
    9.24  
    9.25  #: cook:34
    9.26 -msgid "\\033[1mCommands:\\033[0m"
    9.27 -msgstr "\\033[1mComandos:\\033[0m"
    9.28 +msgid "Commands:"
    9.29 +msgstr "Comandos:"
    9.30  
    9.31  #: cook:35
    9.32  msgid "Display this short usage."
    9.33 @@ -37,910 +41,799 @@
    9.34  msgid "Setup a cross environment."
    9.35  msgstr "Configura seu ambiente de desenvolvimento cruzado."
    9.36  
    9.37 -#: cook:38
    9.38 +#: cook:39
    9.39  msgid "Test environment and cook a package."
    9.40  msgstr "Testa o ambiente e compila o pacote."
    9.41  
    9.42 -#: cook:39
    9.43 +#: cook:40
    9.44  msgid "List packages in the wok."
    9.45  msgstr "Lista pacotes no wok."
    9.46  
    9.47 -#: cook:40
    9.48 +#: cook:41
    9.49  msgid "Simple packages search function."
    9.50  msgstr "Função simples de busca de pacotes."
    9.51  
    9.52 -#: cook:41
    9.53 +#: cook:42
    9.54  msgid "Create a new package with a receipt."
    9.55  msgstr "Cria um novo pacote a partir de um arquivo receipt."
    9.56  
    9.57 -#: cook:42
    9.58 +#: cook:43
    9.59  msgid "Cook a list of packages."
    9.60  msgstr "Compila uma lista de pacotes."
    9.61  
    9.62 -#: cook:43
    9.63 +#: cook:44
    9.64  msgid "Clean-up all packages files."
    9.65  msgstr "Limpa todos os arquivos de pacotes."
    9.66  
    9.67 -#: cook:44
    9.68 +#: cook:45
    9.69  msgid "Clean-up all packages sources."
    9.70  msgstr "Limpa todos os fontes de pacotes."
    9.71  
    9.72 -#: cook:45
    9.73 +#: cook:46
    9.74 +msgid "Check for uncooked packages"
    9.75 +msgstr ""
    9.76 +
    9.77 +#: cook:47
    9.78  msgid "Create packages DB lists and flavors."
    9.79  msgstr "Cria a lista de banco de dados de pacotes e variantes."
    9.80  
    9.81 -#: cook:47
    9.82 -msgid "\\033[1mOptions:\\033[0m"
    9.83 -msgstr "\\033[1mOpções:\\033[0m"
    9.84 +#: cook:49
    9.85 +msgid "Options:"
    9.86 +msgstr "Opções:"
    9.87  
    9.88 -#: cook:48
    9.89 +#: cook:51
    9.90  msgid "clean the package in the wok."
    9.91  msgstr "Limpa o pacote no wok."
    9.92  
    9.93 -#: cook:49
    9.94 +#: cook:52
    9.95  msgid "cook and install the package."
    9.96  msgstr "Compila e instala o pacote."
    9.97  
    9.98 -#: cook:50
    9.99 +#: cook:53
   9.100  msgid "get the package source tarball."
   9.101  msgstr "Baixa os fontes do pacote."
   9.102  
   9.103 -#: cook:51
   9.104 +#: cook:54
   9.105  msgid "block a package so cook will skip it."
   9.106  msgstr "bloqueia um pacote, ignorando-o."
   9.107  
   9.108 -#: cook:52
   9.109 +#: cook:55
   9.110  msgid "unblock a blocked package."
   9.111  msgstr "desbloqueia um pacote."
   9.112  
   9.113 -#: cook:53
   9.114 +#: cook:56
   9.115  msgid "check dependencies of cooked package."
   9.116  msgstr "Checa as dependências de um pacote compilado."
   9.117  
   9.118 -#: cook:54
   9.119 +#: cook:57
   9.120  msgid "repack an already built package."
   9.121  msgstr "reempacote um pacote já compilado."
   9.122  
   9.123 -#: cook:55
   9.124 +#: cook:58
   9.125 +msgid "display debugging messages."
   9.126 +msgstr ""
   9.127 +
   9.128 +#: cook:59
   9.129 +msgid "continue running compile_rules."
   9.130 +msgstr ""
   9.131 +
   9.132 +#: cook:61
   9.133  msgid "create a receipt interactively."
   9.134  msgstr "Cria interativamente um arquivo receipt."
   9.135  
   9.136 -#: cook:56
   9.137 +#: cook:63
   9.138  msgid "clone the cooking wok from Hg repo."
   9.139  msgstr "Clona o wok cooking a partir do repositório HG."
   9.140  
   9.141 -#: cook:57
   9.142 +#: cook:64
   9.143  msgid "clone the stable wok from Hg repo."
   9.144  msgstr "Clona o wok stable a partir do repositório HG."
   9.145  
   9.146 -#: cook:58
   9.147 +#: cook:65
   9.148  msgid "clone the undigest wok from Hg repo."
   9.149  msgstr "Clona o wok undigest a partir do repositório HG."
   9.150  
   9.151 -#: cook:59
   9.152 +#: cook:66
   9.153  msgid "clone the tiny SliTaz wok from Hg repo."
   9.154  msgstr "Clona o wok tiny a partir do repositório HG."
   9.155  
   9.156 -#: cook:60
   9.157 +#: cook:67
   9.158  msgid "force reinstall of chroot packages."
   9.159  msgstr "Força a reinstalação de pacotes no chroot."
   9.160  
   9.161 -#: cook:61
   9.162 +#: cook:69
   9.163  msgid "create up-to-date flavors files."
   9.164  msgstr "Cria uma lista atualizada de variantes."
   9.165  
   9.166 -#: cook:76
   9.167 -#, sh-format
   9.168 -msgid "Unable to find package in the wok: $pkg"
   9.169 -msgstr "Impossível encontrar o pacote no wok: $pkg"
   9.170 +#: cook:88
   9.171 +msgid "Unable to find package \"%s\" in the wok"
   9.172 +msgstr "Impossível encontrar o pacote no wok: %s"
   9.173  
   9.174  #. L10n: QA is quality assurance
   9.175 -#: cook:84
   9.176 -#, sh-format
   9.177 -msgid "QA: empty variable: ${var}=\"\""
   9.178 -msgstr "QA: variável vazia: ${var}=\"\""
   9.179 +#: cook:97
   9.180 +msgid "QA: empty variable: %s"
   9.181 +msgstr "QA: variável vazia: %s"
   9.182  
   9.183 -#: cook:91
   9.184 -#, sh-format
   9.185 -msgid "Creating directories structure in: $SLITAZ"
   9.186 -msgstr "Criando estrutura de diretórios em: $SLITAZ"
   9.187 +#: cook:106
   9.188 +msgid "Creating directories structure in \"%s\""
   9.189 +msgstr "Criando estrutura de diretórios em: %s"
   9.190  
   9.191 -#: cook:93
   9.192 -#, sh-format
   9.193 -msgid "Creating DB files in: $CACHE"
   9.194 -msgstr "Criando arquivo de banco de dados em: $CACHE"
   9.195 +#: cook:108
   9.196 +msgid "Creating DB files in \"%s\""
   9.197 +msgstr "Criando arquivo de banco de dados em: %s"
   9.198  
   9.199 -#: cook:102
   9.200 +#: cook:118
   9.201  msgid "QA: checking package receipt..."
   9.202  msgstr "QA: verificando arquivo receipt do pacote..."
   9.203  
   9.204 -#: cook:118
   9.205 -#, sh-format
   9.206 -msgid "QA: unknown category: $value"
   9.207 -msgstr "QA: categoria desconhecida: $value"
   9.208 +#: cook:133
   9.209 +msgid "QA: unknown category \"%s\""
   9.210 +msgstr "QA: categoria desconhecida: %s"
   9.211  
   9.212 -#: cook:119
   9.213 -#, sh-format
   9.214 -msgid "Please, use one of: $valid"
   9.215 -msgstr "Por favor, utilize uma de: $valid"
   9.216 +#: cook:134
   9.217 +msgid "Please, use one of: %s"
   9.218 +msgstr "Por favor, utilize uma de: %s"
   9.219  
   9.220 -#: cook:128
   9.221 -#, sh-format
   9.222 -msgid "QA: unable to reach: $value"
   9.223 -msgstr "QA: não foi possível encontrar: $value"
   9.224 +#: cook:144
   9.225 +msgid "QA: unable to reach \"%s\""
   9.226 +msgstr "QA: não foi possível encontrar: %s"
   9.227  
   9.228 -#: cook:184
   9.229 -#, sh-format
   9.230 -msgid "Creating tarball: $tarball"
   9.231 -msgstr "Criando arquivo tar: $tarball"
   9.232 +#: cook:204
   9.233 +msgid "Creating tarball \"%s\""
   9.234 +msgstr "Criando arquivo tar: %s"
   9.235  
   9.236 -#: cook:207 cook:211
   9.237 -#, sh-format
   9.238 -msgid "ERROR: wget $WGET_URL"
   9.239 -msgstr "ERRO: wget $WGET_URL"
   9.240 +#: cook:229 cook:234 cook:248 cook:250 cook:260 cook:330
   9.241 +msgid "ERROR: %s"
   9.242 +msgstr "ERRO: %s"
   9.243  
   9.244 -#: cook:218
   9.245 -msgid "Getting source from Hg..."
   9.246 -msgstr "Obtendo fonte do repositório HG..."
   9.247 +#: cook:242 cook:257 cook:272 cook:285 cook:296 cook:328
   9.248 +msgid "Getting source from %s..."
   9.249 +msgstr "Obtendo fonte do repositório %s..."
   9.250  
   9.251 -#: cook:219 cook:233 cook:245 cook:257
   9.252 -#, sh-format
   9.253 -msgid "URL: $url"
   9.254 -msgstr "URL: $url"
   9.255 +#: cook:243 cook:258 cook:273 cook:286 cook:329
   9.256 +msgid "URL: %s"
   9.257 +msgstr "URL: %s"
   9.258  
   9.259 -#: cook:220
   9.260 -#, sh-format
   9.261 -msgid "Cloning to: $pwd/$pkgsrc"
   9.262 -msgstr "Clonando para: $pwd/$pkgsrc"
   9.263 -
   9.264 -#: cook:222
   9.265 -#, sh-format
   9.266 -msgid "Hg branch: $BRANCH"
   9.267 -msgstr "Hg branch: $BRANCH"
   9.268 -
   9.269 -#: cook:224
   9.270 -#, sh-format
   9.271 -msgid "ERROR: hg clone $url --rev $BRANCH"
   9.272 -msgstr "ERRO: hg clone $url --rev $BRANCH"
   9.273 -
   9.274 -#: cook:226
   9.275 -#, sh-format
   9.276 -msgid "ERROR: hg clone $url"
   9.277 -msgstr "ERRO: hg clone $url"
   9.278 -
   9.279 -#: cook:232
   9.280 -msgid "Getting source from Git..."
   9.281 -msgstr "Obtendo fonte do Git..."
   9.282 -
   9.283 -#: cook:234
   9.284 -#, sh-format
   9.285 -msgid "ERROR: git clone $url"
   9.286 -msgstr "ERRO: git clone $url"
   9.287 -
   9.288 -#: cook:236
   9.289 -#, sh-format
   9.290 -msgid "Git branch: $BRANCH"
   9.291 -msgstr "Git branch: $BRANCH"
   9.292 -
   9.293 -#: cook:244
   9.294 -msgid "Getting source from CVS..."
   9.295 -msgstr "Obtendo fonte do CVS..."
   9.296 +#: cook:244 cook:275
   9.297 +msgid "Cloning to \"%s\""
   9.298 +msgstr "Clonando para: %s"
   9.299  
   9.300  #: cook:246
   9.301 -#, sh-format
   9.302 -msgid "CVS module: $mod"
   9.303 -msgstr "Módulo CVS: $mod"
   9.304 +msgid "Hg branch: %s"
   9.305 +msgstr "Hg branch: %s"
   9.306  
   9.307 -#: cook:247
   9.308 -#, sh-format
   9.309 -msgid "Cloning to: $pwd/$mod"
   9.310 -msgstr "Clonando para: $pwd/$mod"
   9.311 +#: cook:262
   9.312 +msgid "Git branch: %s"
   9.313 +msgstr "Git branch: %s"
   9.314  
   9.315 -#: cook:256
   9.316 -msgid "Getting source from SVN..."
   9.317 -msgstr "Obtendo fonte do SVN..."
   9.318 +#: cook:274
   9.319 +msgid "CVS module: %s"
   9.320 +msgstr "Módulo CVS: %s"
   9.321  
   9.322 -#: cook:266
   9.323 -msgid "Getting source from bazaar..."
   9.324 -msgstr "Obtendo fonte do bazaar..."
   9.325 -
   9.326 -#: cook:276
   9.327 +#: cook:306
   9.328  msgid "Don't forget to add to receipt:"
   9.329  msgstr "Não se esqueça de adicionar arquivo receipt:"
   9.330  
   9.331 -#: cook:283
   9.332 -#, sh-format
   9.333 -msgid "ERROR: Unable to handle: $WGET_URL"
   9.334 -msgstr "ERRO: não foi possível utilizar: $WGET_URL"
   9.335 +#: cook:314
   9.336 +msgid "ERROR: Unable to handle \"%s\""
   9.337 +msgstr "ERRO: não foi possível utilizar: %s"
   9.338  
   9.339 -#: cook:295
   9.340 -#, sh-format
   9.341 -msgid "Getting source from mirror: $url"
   9.342 -msgstr "Obtendo fonte a partir do mirror: $url"
   9.343 +#: cook:332
   9.344 +msgid "Extracting source archive \"%s\""
   9.345 +msgstr "Extraindo: %s"
   9.346  
   9.347 -#: cook:296
   9.348 -#, sh-format
   9.349 -msgid "ERROR: wget $url"
   9.350 -msgstr "ERRO: wget $url"
   9.351 +#. L10n: 'm' is for minutes (approximate cooking time)
   9.352 +#: cook:367
   9.353 +msgid "~ %dm"
   9.354 +msgstr "~ %dm"
   9.355  
   9.356 -#: cook:298
   9.357 -#, sh-format
   9.358 -msgid "Extracting: $TARBALL"
   9.359 -msgstr "Extraindo: $TARBALL"
   9.360 +#: cook:370
   9.361 +msgid "Summary for: %s"
   9.362 +msgstr "Resumo para: %s"
   9.363 +
   9.364 +#. L10n: keep the same width of translations to get a consistent view
   9.365 +#: cook:374
   9.366 +msgid "Source dir  : %s"
   9.367 +msgstr "Diretório fonte : %s"
   9.368 +
   9.369 +#: cook:375
   9.370 +msgid "Src file    : %s"
   9.371 +msgstr "Arquivo fonte   : %s"
   9.372 +
   9.373 +#: cook:376
   9.374 +msgid "Src size    : %s"
   9.375 +msgstr "Tamanho do fonte: %s"
   9.376 +
   9.377 +#: cook:377
   9.378 +msgid "Produced    : %s"
   9.379 +msgstr "Produzido       : %s"
   9.380 +
   9.381 +#: cook:378
   9.382 +msgid "Packed      : %s"
   9.383 +msgstr "Empacotado      : %s"
   9.384 +
   9.385 +#: cook:379
   9.386 +msgid "Compressed  : %s"
   9.387 +msgstr "Comprimido      : %s"
   9.388 +
   9.389 +#: cook:380
   9.390 +msgid "Files       : %s"
   9.391 +msgstr "Arquivos        : %s"
   9.392 +
   9.393 +#. L10n: 's' is for seconds (cooking time)
   9.394 +#: cook:382
   9.395 +msgid "Cook time   : %ds %s"
   9.396 +msgstr "Tempo utilizado : %ds %s"
   9.397 +
   9.398 +#: cook:383
   9.399 +msgid "Cook date   : %s"
   9.400 +msgstr "Data criação    : %s"
   9.401 +
   9.402 +#: cook:383 cook:395 cook:1448 cook:1602
   9.403 +msgid "+%%F %%R"
   9.404 +msgstr "+%%d-%%m-%%Y %%R"
   9.405 +
   9.406 +#: cook:384
   9.407 +msgid "Host arch   : %s"
   9.408 +msgstr "Arquitetura alvo: %s"
   9.409 +
   9.410 +#: cook:392
   9.411 +msgid "Debug information"
   9.412 +msgstr "Informação de debug"
   9.413  
   9.414  #. L10n: specify your format of date and time (to help: man date)
   9.415  #. L10n: not bad one is '+%x %R'
   9.416 -#: cook:322 cook:349 cook:1277 cook:1384
   9.417 -msgid "+%Y-%m-%d %H:%M"
   9.418 -msgstr "+%d-%m-%Y %H:%M"
   9.419 -
   9.420 -#. L10n: 'm' is for minutes (approximate cooking time)
   9.421 -#: cook:326
   9.422 -#, sh-format
   9.423 -msgid "~ ${div}m"
   9.424 -msgstr "~ ${div}m"
   9.425 -
   9.426 -#: cook:327
   9.427 -#, sh-format
   9.428 -msgid "Summary for: $PACKAGE $VERSION"
   9.429 -msgstr "Resumo para: $PACKAGE $VERSION"
   9.430 -
   9.431 -#. L10n: keep the same width of translations to get a consistent view
   9.432 -#: cook:330
   9.433 -#, sh-format
   9.434 -msgid "Source dir  : $srcdir"
   9.435 -msgstr "Diretório fonte : $srcdir"
   9.436 -
   9.437 -#: cook:331
   9.438 -#, sh-format
   9.439 -msgid "Src file    : $TARBALL"
   9.440 -msgstr "Arquivo fonte   : $TARBALL"
   9.441 -
   9.442 -#: cook:332
   9.443 -#, sh-format
   9.444 -msgid "Src size    : $srcsize"
   9.445 -msgstr "Tamanho do fonte: $srcsize"
   9.446 -
   9.447 -#: cook:333
   9.448 -#, sh-format
   9.449 -msgid "Produced    : $prod"
   9.450 -msgstr "Produzido       : $prod"
   9.451 -
   9.452 -#: cook:334
   9.453 -#, sh-format
   9.454 -msgid "Packed      : $fs"
   9.455 -msgstr "Empacotado      : $fs"
   9.456 -
   9.457 -#: cook:335
   9.458 -#, sh-format
   9.459 -msgid "Compressed  : $size"
   9.460 -msgstr "Comprimido      : $size"
   9.461 -
   9.462 -#: cook:336
   9.463 -#, sh-format
   9.464 -msgid "Files       : $files"
   9.465 -msgstr "Arquivos        : $files"
   9.466 -
   9.467 -#. L10n: 's' is for seconds (cooking time)
   9.468 -#: cook:338
   9.469 -#, sh-format
   9.470 -msgid "Cook time   : ${sec}s $min"
   9.471 -msgstr "Tempo utilizado : ${sec}s $min"
   9.472 -
   9.473 -#: cook:339
   9.474 -#, sh-format
   9.475 -msgid "Cook date   : $cookdate"
   9.476 -msgstr "Data criação    : $cookdate"
   9.477 -
   9.478 -#: cook:340
   9.479 -#, sh-format
   9.480 -msgid "Host arch   : $ARCH"
   9.481 -msgstr "Arquitetura alvo: $ARCH"
   9.482 -
   9.483 -#: cook:346
   9.484 -msgid "Debug information"
   9.485 -msgstr "Informação de debug"
   9.486 -
   9.487 -#: cook:350
   9.488 -#, sh-format
   9.489 -msgid "Cook date: $datenow"
   9.490 -msgstr "Data criação: $datenow"
   9.491 +#: cook:395
   9.492 +msgid "Cook date: %s"
   9.493 +msgstr "Data criação: %s"
   9.494  
   9.495  #. L10n: Please, translate all messages beginning with ERROR in a same way
   9.496 -#: cook:352 cook:614 cook:711 cook:742 cook:828 cook:1527
   9.497 +#: cook:397 cook:661 cook:765 cook:799 cook:889 cook:1766
   9.498  msgid "ERROR"
   9.499  msgstr "ERRO"
   9.500  
   9.501 -#: cook:437
   9.502 +#: cook:484
   9.503  msgid "Executing strip on all files..."
   9.504  msgstr "Executando comando strip em todos os arquivos..."
   9.505  
   9.506 -#: cook:450
   9.507 +#: cook:496
   9.508  msgid "Removing Python compiled files..."
   9.509 -msgstr "Removendo arquivos compilados do python..."
   9.510 +msgstr "Removendo arquivos compilados do Python..."
   9.511  
   9.512 -#: cook:458
   9.513 +#: cook:503
   9.514  msgid "Removing Perl compiled files..."
   9.515  msgstr "Removendo arquivos compilados do Perl..."
   9.516  
   9.517 -#: cook:472 cook:600
   9.518 -msgid "Build dependencies to remove: "
   9.519 +#: cook:518 cook:647
   9.520 +msgid "Build dependencies to remove:"
   9.521  msgstr "Dependências de compilação para remover:"
   9.522  
   9.523 -#: cook:473 cook:601
   9.524 +#: cook:520 cook:648
   9.525  msgid "Removing:"
   9.526  msgstr "Removendo:"
   9.527  
   9.528 -#: cook:487
   9.529 -#, sh-format
   9.530 -msgid "Cook: $PACKAGE $VERSION"
   9.531 -msgstr "Cook: $PACKAGE $VERSION"
   9.532 +#: cook:535
   9.533 +msgid "Cook: %s"
   9.534 +msgstr "Cook: %s"
   9.535  
   9.536 -#: cook:501
   9.537 -#, sh-format
   9.538 -msgid "$ARCH sysroot: $sysroot"
   9.539 -msgstr "$ARCH sysroot: $sysroot"
   9.540 +#: cook:549
   9.541 +msgid "%s sysroot: %s"
   9.542 +msgstr "%s sysroot: %s"
   9.543  
   9.544 -#: cook:502
   9.545 -#, sh-format
   9.546 -msgid "Adding $tools/bin to PATH"
   9.547 -msgstr "Adicionando $tools/bin ao PATH"
   9.548 +#: cook:550
   9.549 +msgid "Adding \"%s\" to PATH"
   9.550 +msgstr "Adicionando %s ao PATH"
   9.551  
   9.552 -#: cook:506
   9.553 -#, sh-format
   9.554 -msgid "Using cross-tools: $CROSS_COMPILE"
   9.555 -msgstr "Usando cross-tools: $CROSS_COMPILE"
   9.556 +#: cook:554
   9.557 +msgid "Using cross-tools: %s"
   9.558 +msgstr "Usando cross-tools: %s"
   9.559  
   9.560 -#: cook:528
   9.561 -#, sh-format
   9.562 -msgid "Disabling -pipe compile flag: $free RAM"
   9.563 -msgstr "Desabilitando flag de compilação -pipe: $free RAM"
   9.564 +#: cook:578
   9.565 +msgid "Disabling -pipe compile flag: %d RAM free"
   9.566 +msgstr "Desabilitando flag de compilação -pipe: %d RAM"
   9.567  
   9.568 -#: cook:545
   9.569 +#: cook:594
   9.570  msgid "Checking build dependencies..."
   9.571  msgstr "Verificando dependências de compilação..."
   9.572  
   9.573 -#: cook:546
   9.574 -#, sh-format
   9.575 -msgid "Using packages DB: ${root}$DB"
   9.576 -msgstr "Utilizando banco de dados de pacotes: ${root}/$DB"
   9.577 +#: cook:595
   9.578 +msgid "Using packages DB: %s"
   9.579 +msgstr "Utilizando banco de dados de pacotes: %s"
   9.580  
   9.581 -#: cook:572
   9.582 -#, sh-format
   9.583 -msgid "Missing dep (wok/pkg): $i $vers"
   9.584 -msgstr "Dependência requerida (wok/pgk): $i $vers"
   9.585 +#: cook:619
   9.586 +msgid "Missing dep (wok/pkg): %s"
   9.587 +msgstr "Dependência requerida (wok/pgk): %s"
   9.588  
   9.589 -#: cook:580
   9.590 -#, sh-format
   9.591 -msgid "ERROR: unknown dep $i"
   9.592 -msgstr "ERRO: dependência desconhecida $i"
   9.593 +#: cook:627
   9.594 +msgid "ERROR: unknown dep \"%s\""
   9.595 +msgstr "ERRO: dependência desconhecida %s"
   9.596  
   9.597 -#: cook:593
   9.598 -msgid "Auto cook config is set: AUTO_COOK"
   9.599 -msgstr "Configuração de auto compilação está ativa: AUTO_COOK"
   9.600 +#: cook:641
   9.601 +msgid "Auto cook config is set: %s"
   9.602 +msgstr "Configuração de auto compilação está ativa: %s"
   9.603  
   9.604 -#: cook:597
   9.605 -#, sh-format
   9.606 -msgid "Building dep (wok/pkg)    : $i $vers"
   9.607 -msgstr "Dependência de compilação (wok/pkg): $i $vers"
   9.608 +#: cook:644
   9.609 +msgid "Building dep (wok/pkg)    : %s"
   9.610 +msgstr "Dependência de compilação (wok/pkg): %s"
   9.611  
   9.612 -#: cook:602
   9.613 -#, sh-format
   9.614 -msgid "ERROR: can't cook dep '$i'"
   9.615 -msgstr "ERRO: impossível compilar dependência '$i'"
   9.616 +#: cook:649
   9.617 +msgid "ERROR: can't cook dep \"%s\""
   9.618 +msgstr "ERRO: impossível compilar dependência '%s'"
   9.619  
   9.620 -#: cook:617
   9.621 -#, sh-format
   9.622 -msgid "ERROR: missing dep $nb"
   9.623 -msgstr "ERRO: dependência desconhecida $nb"
   9.624 +#: cook:664
   9.625 +msgid "ERROR: missing %d dependency"
   9.626 +msgid_plural "ERROR: missing %d dependencies"
   9.627 +msgstr[0] "ERRO: dependência desconhecida %d"
   9.628 +msgstr[1] "ERRO: dependência desconhecida %d"
   9.629  
   9.630 -#: cook:624
   9.631 -#, sh-format
   9.632 -msgid "Installing dep (pkg/local): $i"
   9.633 -msgstr "Instalando dependência (pkg/local): $i"
   9.634 +#: cook:671
   9.635 +msgid "Installing dep (pkg/local): %s"
   9.636 +msgstr "Instalando dependência (pkg/local): %s"
   9.637  
   9.638 -#: cook:632
   9.639 -#, sh-format
   9.640 -msgid "Installing dep (web/cache): $i"
   9.641 -msgstr "Instalando dependência (web/cache): $i"
   9.642 +#: cook:678
   9.643 +msgid "Installing dep (web/cache): %s"
   9.644 +msgstr "Instalando dependência (web/cache): %s"
   9.645  
   9.646 -#: cook:682
   9.647 -msgid "Executing: compile_rules"
   9.648 -msgstr "Executando: compile_rules"
   9.649 +#: cook:734 cook:789
   9.650 +msgid "Executing: %s"
   9.651 +msgstr "Executando: %s"
   9.652  
   9.653 -#: cook:699
   9.654 +#: cook:751
   9.655  msgid "Running testsuite"
   9.656  msgstr "Executando testsuite"
   9.657  
   9.658 -#: cook:708
   9.659 +#: cook:762
   9.660  msgid "ERROR: cook failed"
   9.661  msgstr "ERRO: compilação falhou"
   9.662  
   9.663 -#: cook:729
   9.664 -#, sh-format
   9.665 -msgid "Pack: $PACKAGE ${VERSION}${arch}"
   9.666 -msgstr "Pack: $PACKAGE ${VERSION}${arch}"
   9.667 +#: cook:786
   9.668 +msgid "Pack: %s"
   9.669 +msgstr "Pack: %s"
   9.670  
   9.671 -#: cook:732
   9.672 -msgid "Executing: genpkg_rules"
   9.673 -msgstr "Executando: genpkg_rules"
   9.674 -
   9.675 -#: cook:734
   9.676 +#: cook:791
   9.677  msgid "ERROR: genpkg_rules failed"
   9.678  msgstr "ERRO: genpkg_rules falhou"
   9.679  
   9.680 -#: cook:737
   9.681 +#: cook:794
   9.682  msgid "No packages rules: meta package"
   9.683  msgstr "Sem regras para pacote: meta pacote"
   9.684  
   9.685 -#: cook:751
   9.686 -#, sh-format
   9.687 -msgid "Copying $file..."
   9.688 -msgstr "Copiando $file..."
   9.689 +#: cook:807
   9.690 +msgid "Copying \"%s\"..."
   9.691 +msgstr "Copiando %s..."
   9.692  
   9.693 -#: cook:757
   9.694 +#: cook:816
   9.695  msgid "Creating the list of files..."
   9.696  msgstr "Criando lista de arquivos..."
   9.697  
   9.698 -#: cook:768
   9.699 +#: cook:824
   9.700  msgid "Creating md5sum of files..."
   9.701  msgstr "Criando md5sum de arquivos..."
   9.702  
   9.703 -#: cook:783
   9.704 -msgid "Compressing the fs..."
   9.705 +#: cook:839
   9.706 +msgid "Compressing the FS..."
   9.707  msgstr "Comprimindo sistema de arquivos..."
   9.708  
   9.709 -#: cook:790
   9.710 +#: cook:847
   9.711  msgid "Updating receipt sizes..."
   9.712  msgstr "Atualizando tamanho do arquivo receipt..."
   9.713  
   9.714 -#: cook:798
   9.715 -#, sh-format
   9.716 -msgid "Updating receipt EXTRAVERSION: $EXTRAVERSION"
   9.717 -msgstr "Atualizando arquivo receipt EXTRAVERSION: $EXTRAVERSION"
   9.718 +#: cook:855
   9.719 +msgid "Updating receipt EXTRAVERSION: %s"
   9.720 +msgstr "Atualizando arquivo receipt EXTRAVERSION: %s"
   9.721  
   9.722 -#: cook:805
   9.723 +#: cook:862
   9.724  msgid "Creating full cpio archive..."
   9.725  msgstr "Criando arquivo cpio..."
   9.726  
   9.727 -#: cook:809
   9.728 +#: cook:867
   9.729  msgid "Restoring original package tree..."
   9.730  msgstr "Restaurando sistema de arquivos original do pacote..."
   9.731  
   9.732 -#: cook:817
   9.733 -#, sh-format
   9.734 -msgid "Package: $tazpkg"
   9.735 -msgstr "Pacote: $tazpkg"
   9.736 +#: cook:876
   9.737 +msgid "Package \"%s\" created"
   9.738 +msgstr "Pacote: %s"
   9.739  
   9.740 -#: cook:833
   9.741 +#: cook:895
   9.742  msgid "QA: checking for empty package..."
   9.743  msgstr "QA: chegando se pacote está vazio..."
   9.744  
   9.745 -#: cook:836
   9.746 +#: cook:898
   9.747  msgid "ERROR: empty package"
   9.748  msgstr "ERRO: pacote vazio"
   9.749  
   9.750 -#: cook:844
   9.751 -#, sh-format
   9.752 -msgid "Removing old: $old_pkg"
   9.753 -msgstr "Removendo antigo: $old_pkg"
   9.754 +#: cook:906
   9.755 +msgid "Removing old package \"%s\""
   9.756 +msgstr "Removendo antigo: %s"
   9.757  
   9.758 -#: cook:874
   9.759 +#: cook:940
   9.760  msgid "Unable to install package, build has failed."
   9.761  msgstr "Impossível instalar pacote, compilação falhou."
   9.762  
   9.763 -#: cook:883
   9.764 -#, sh-format
   9.765 -msgid "Updating $ARCH chroot environment..."
   9.766 -msgstr "Atualizando ambiente de desenvolvimento $ARCH..."
   9.767 +#: cook:949
   9.768 +msgid "Updating %s chroot environment..."
   9.769 +msgstr "Atualizando ambiente de desenvolvimento %s..."
   9.770  
   9.771 -#: cook:884
   9.772 -#, sh-format
   9.773 -msgid "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
   9.774 -msgstr "Atualizando chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
   9.775 +#: cook:950
   9.776 +msgid "Updating chroot: %s"
   9.777 +msgstr "Atualizando chroot: %s"
   9.778  
   9.779 -#: cook:905
   9.780 +#: cook:982
   9.781  msgid "Setup aufs chroot..."
   9.782  msgstr "Configurando aufs chroot..."
   9.783  
   9.784 -#: cook:917
   9.785 -msgid "Aufs mountage failure"
   9.786 +#: cook:994
   9.787 +msgid "Aufs mount failure"
   9.788  msgstr "Montagem aufs falhou"
   9.789  
   9.790 -#: cook:928
   9.791 +#: cook:1006
   9.792  msgid "Leaving aufs chroot..."
   9.793  msgstr "Deixando aufs chroot..."
   9.794  
   9.795 -#: cook:1030
   9.796 -#, sh-format
   9.797 -msgid "List of $ARCH packages in: $WOK"
   9.798 -msgstr "Lista de pacotes $ARCH em: $WOK"
   9.799 +#: cook:1075
   9.800 +msgid "Multiple choice:"
   9.801 +msgstr ""
   9.802  
   9.803 -#: cook:1046
   9.804 -msgid "Packages:"
   9.805 -msgstr "Pacote:"
   9.806 +#: cook:1076
   9.807 +msgid "Select one [%s]: "
   9.808 +msgstr ""
   9.809  
   9.810 -#: cook:1053
   9.811 -#, sh-format
   9.812 -msgid "Search results for: $query"
   9.813 -msgstr "Resultado de busca para: $query"
   9.814 +#: cook:1117
   9.815 +msgid "Getting standard devel files..."
   9.816 +msgstr ""
   9.817  
   9.818 -#: cook:1059
   9.819 +#: cook:1134
   9.820 +msgid "List of %s packages in \"%s\""
   9.821 +msgstr "Lista de pacotes %s em: %s"
   9.822 +
   9.823 +#: cook:1150
   9.824 +msgid "%s package"
   9.825 +msgid_plural "%s packages"
   9.826 +msgstr[0] "Pacote: %s"
   9.827 +msgstr[1] "Pacote: %s"
   9.828 +
   9.829 +#: cook:1159
   9.830 +msgid "Search results for \"%s\""
   9.831 +msgstr "Resultado de busca para: %s"
   9.832 +
   9.833 +#: cook:1166
   9.834  msgid "Cook: setup environment"
   9.835  msgstr "Cook: configuração de ambiente"
   9.836  
   9.837 -#: cook:1060
   9.838 +#: cook:1167
   9.839  msgid "Setting up your environment"
   9.840  msgstr "Configurando seu ambiente"
   9.841  
   9.842 -#: cook:1063
   9.843 +#: cook:1170
   9.844  msgid "Checking for packages to install..."
   9.845  msgstr "Verificando pacotes para instalar..."
   9.846  
   9.847 -#: cook:1069
   9.848 -msgid "ERROR: cross is not installed"
   9.849 -msgstr "ERRO: cross não está instalado"
   9.850 +#: cook:1176
   9.851 +msgid "ERROR: %s is not installed"
   9.852 +msgstr "ERRO: %s não está instalado"
   9.853  
   9.854 -#: cook:1072
   9.855 -msgid "Using config file: /etc/slitaz/cross.conf"
   9.856 -msgstr "Usando arquivo de configuração: /etc/slitaz/cross.conf"
   9.857 +#: cook:1179
   9.858 +msgid "Using config file: %s"
   9.859 +msgstr "Usando arquivo de configuração: %s"
   9.860  
   9.861 -#: cook:1097
   9.862 -msgid "Adding group: slitaz"
   9.863 -msgstr "Adicionando grupo: slitaz"
   9.864 +#: cook:1200
   9.865 +msgid "Adding group \"%s\""
   9.866 +msgstr "Adicionando grupo: %s"
   9.867  
   9.868 -#: cook:1100
   9.869 -msgid "Setting permissions for slitaz group..."
   9.870 -msgstr "Configurando permissões para o grupo slitaz..."
   9.871 +#: cook:1203
   9.872 +msgid "Setting permissions for group \"%s\"..."
   9.873 +msgstr "Configurando permissões para o grupo %s..."
   9.874  
   9.875 -#: cook:1103
   9.876 +#: cook:1206
   9.877  msgid "All done, ready to cook packages :-)"
   9.878  msgstr "Tudo pronto para compilar os pacotes :-)"
   9.879  
   9.880 -#: cook:1116
   9.881 -#, sh-format
   9.882 -msgid "Cook: setup $arch cross environment"
   9.883 -msgstr "Cook: configuração de ambiente de desenvolvimento cruzado $ARCH"
   9.884 +#: cook:1221
   9.885 +msgid "Cook: setup %s cross environment"
   9.886 +msgstr "Cook: configuração de ambiente de desenvolvimento cruzado %s"
   9.887  
   9.888 -#: cook:1117
   9.889 -#, sh-format
   9.890 -msgid "Setting up your $arch cross environment"
   9.891 -msgstr "Configurando seu ambiente de desenvolvimento cruzado $arch"
   9.892 +#: cook:1222
   9.893 +msgid "Setting up your %s cross environment"
   9.894 +msgstr "Configurando seu ambiente de desenvolvimento cruzado %s"
   9.895  
   9.896  #. L10n: keep the same width of translations to get a consistent view
   9.897 -#: cook:1148
   9.898 -#, sh-format
   9.899 -msgid "Target arch     : $ARCH"
   9.900 -msgstr "Arquitetura alvo          : $ARCH"
   9.901 +#: cook:1251
   9.902 +msgid "Target arch     : %s"
   9.903 +msgstr "Arquitetura alvo          : %s"
   9.904  
   9.905 -#: cook:1149
   9.906 -#, sh-format
   9.907 -msgid "Configure args  : $CONFIGURE_ARGS"
   9.908 -msgstr "Argumentos de configuração: $CONFIGURE_ARGS"
   9.909 +#: cook:1252
   9.910 +msgid "Configure args  : %s"
   9.911 +msgstr "Argumentos de configuração: %s"
   9.912  
   9.913 -#: cook:1150
   9.914 -#, sh-format
   9.915 -msgid "Build flags     : $flags"
   9.916 -msgstr "Flags de compilação: $flags"
   9.917 +#: cook:1253
   9.918 +msgid "Build flags     : %s"
   9.919 +msgstr "Flags de compilação: %s"
   9.920  
   9.921 -#: cook:1151
   9.922 -#, sh-format
   9.923 -msgid "Arch sysroot    : $sysroot"
   9.924 -msgstr "Arch sysroot              : $sysroot"
   9.925 +#: cook:1254
   9.926 +msgid "Arch sysroot    : %s"
   9.927 +msgstr "Arch sysroot              : %s"
   9.928  
   9.929 -#: cook:1152
   9.930 -#, sh-format
   9.931 -msgid "Tools prefix    : $tools/bin"
   9.932 -msgstr "Prefixo das ferramentas   : $tools/bin"
   9.933 +#: cook:1255
   9.934 +msgid "Tools prefix    : %s"
   9.935 +msgstr "Prefixo das ferramentas   : %s"
   9.936  
   9.937 -#: cook:1154
   9.938 -#, sh-format
   9.939 -msgid "Packages DB     : ${root}$DB"
   9.940 -msgstr "Bando de dados de pacotes : ${root}$DB"
   9.941 +#: cook:1257
   9.942 +msgid "Packages DB     : %s"
   9.943 +msgstr "Bando de dados de pacotes : %s"
   9.944  
   9.945 -#: cook:1165
   9.946 -msgid "WARNING: (e)glibc-base is not installed in sysroot"
   9.947 -msgstr "AVISO: (e)glibc-base não está instalado em sysroot"
   9.948 +#: cook:1268
   9.949 +msgid "WARNING: %s is not installed in sysroot"
   9.950 +msgstr "AVISO: %s não está instalado em sysroot"
   9.951  
   9.952 -#: cook:1169
   9.953 -#, sh-format
   9.954 -msgid "Cross compiler  : ${HOST_SYSTEM}-gcc"
   9.955 -msgstr "Compilador cruzado         : ${HOST_SYSTEM}-gcc"
   9.956 +#: cook:1272
   9.957 +msgid "Cross compiler  : %s"
   9.958 +msgstr "Compilador cruzado        : %s"
   9.959  
   9.960 -#: cook:1171
   9.961 -#, sh-format
   9.962 -msgid "C compiler is missing: ${HOST_SYSTEM}-gcc"
   9.963 -msgstr "Compilador C não enconrado : ${HOST_SYSTEM}-gcc"
   9.964 +#: cook:1274
   9.965 +msgid "C compiler \"%s\" is missing"
   9.966 +msgstr "Compilador C não enconrado : %s"
   9.967  
   9.968 -#: cook:1172
   9.969 -msgid "Run 'cross compile' to cook a toolchain"
   9.970 -msgstr "Execute 'cross compile' para compilar o toolchain"
   9.971 +#: cook:1275
   9.972 +msgid "Run \"%s\" to cook a toolchain"
   9.973 +msgstr "Execute '%s' para compilar o toolchain"
   9.974  
   9.975 -#: cook:1177
   9.976 +#: cook:1281
   9.977  msgid "Cook test: testing the cook environment"
   9.978  msgstr "Cook test: testando o ambiente de desenvolimento"
   9.979  
   9.980 -#: cook:1187
   9.981 -#, sh-format
   9.982 -msgid "$pkg package already exists."
   9.983 -msgstr "O pacote $pkg já existe."
   9.984 +#: cook:1292
   9.985 +msgid "Package \"%s\" already exists."
   9.986 +msgstr "O pacote %s já existe."
   9.987  
   9.988 -#: cook:1190
   9.989 -#, sh-format
   9.990 -msgid "Creating $WOK/$pkg"
   9.991 -msgstr "Criando $WOK/$pkg"
   9.992 +#: cook:1296
   9.993 +msgid "Creating folder \"%s\""
   9.994 +msgstr "Criando %s"
   9.995  
   9.996 -#: cook:1192
   9.997 +#: cook:1299
   9.998  msgid "Preparing the package receipt..."
   9.999  msgstr "Preparando arquivo receipt do pacote..."
  9.1000  
  9.1001 -#: cook:1200
  9.1002 +#: cook:1307
  9.1003  msgid "Entering interactive mode..."
  9.1004  msgstr "Entrando no modo interativo..."
  9.1005  
  9.1006 -#: cook:1202
  9.1007 -#, sh-format
  9.1008 -msgid "Package       : $pkg"
  9.1009 -msgstr "Pacote       : $pkg"
  9.1010 +#: cook:1309
  9.1011 +msgid "Package       : %s"
  9.1012 +msgstr "Pacote       : %s"
  9.1013  
  9.1014 -#: cook:1203
  9.1015 +#: cook:1311
  9.1016  msgid "Version       : "
  9.1017  msgstr "Versão       : "
  9.1018  
  9.1019 -#: cook:1205
  9.1020 +#: cook:1314
  9.1021  msgid "Category      : "
  9.1022  msgstr "Categoria    : "
  9.1023  
  9.1024  #. L10n: Short description
  9.1025 -#: cook:1208
  9.1026 +#: cook:1318
  9.1027  msgid "Short desc    : "
  9.1028  msgstr "Descrição    : "
  9.1029  
  9.1030 -#: cook:1210
  9.1031 +#: cook:1321
  9.1032  msgid "Maintainer    : "
  9.1033  msgstr "Mantenedor   : "
  9.1034  
  9.1035 -#: cook:1212
  9.1036 +#: cook:1324
  9.1037  msgid "License       : "
  9.1038  msgstr "Licença      : "
  9.1039  
  9.1040 -#: cook:1214
  9.1041 +#: cook:1327
  9.1042  msgid "Web site      : "
  9.1043  msgstr "Web site     : "
  9.1044  
  9.1045 -#: cook:1218
  9.1046 +#: cook:1332
  9.1047  msgid "Wget URL to download source tarball."
  9.1048  msgstr "Wget URL para baixar arquivo fonte."
  9.1049  
  9.1050 -#: cook:1219
  9.1051 +#: cook:1333
  9.1052  msgid "Example  : "
  9.1053  msgstr "Exemplo : "
  9.1054  
  9.1055 -#: cook:1220
  9.1056 +#: cook:1334
  9.1057  msgid "Wget url : "
  9.1058  msgstr "Wget url: "
  9.1059  
  9.1060 -#: cook:1223
  9.1061 -msgid "Do you need a stuff directory? (y/N) : "
  9.1062 -msgstr "Diretório 'stuff' necessário? (y/N) : "
  9.1063 +#: cook:1338
  9.1064 +msgid "Do you need a stuff directory? (y/N)"
  9.1065 +msgstr "Diretório 'stuff' necessário? (y/N)"
  9.1066  
  9.1067 -#: cook:1225
  9.1068 +#: cook:1340
  9.1069  msgid "Creating the stuff directory..."
  9.1070  msgstr "Criando diretório 'stuff'..."
  9.1071  
  9.1072 -#: cook:1229
  9.1073 -msgid "Are you going to write a description? (y/N) : "
  9.1074 -msgstr "Adicionar descrição? (y/N) : "
  9.1075 +#: cook:1345
  9.1076 +msgid "Are you going to write a description? (y/N)"
  9.1077 +msgstr "Adicionar descrição? (y/N)"
  9.1078  
  9.1079 -#: cook:1231
  9.1080 -msgid "Creating the description.txt file..."
  9.1081 -msgstr "Criando arquivo description.txt..."
  9.1082 +#: cook:1347
  9.1083 +msgid "Creating the \"%s\" file..."
  9.1084 +msgstr "Criando arquivo \"%s\"..."
  9.1085  
  9.1086 -#: cook:1234
  9.1087 +#: cook:1351
  9.1088  msgid "Receipt is ready to use."
  9.1089  msgstr "Arquivo receipt pronto para ser utilizado."
  9.1090  
  9.1091 -#: cook:1240
  9.1092 +#: cook:1359
  9.1093  msgid "No list in argument."
  9.1094  msgstr "Nenhuma lista no argumento."
  9.1095  
  9.1096 -#: cook:1242
  9.1097 -#, sh-format
  9.1098 -msgid "No list found: $list2"
  9.1099 -msgstr "Nenhuma lista encontrada: $list2"
  9.1100 +#: cook:1363
  9.1101 +msgid "List \"%s\" not found."
  9.1102 +msgstr "Nenhuma lista encontrada: %s"
  9.1103  
  9.1104 -#: cook:1243
  9.1105 -#, sh-format
  9.1106 -msgid "Cook list starting: $list2"
  9.1107 -msgstr "Iniciando lista de compilação: $list2"
  9.1108 +#: cook:1367
  9.1109 +msgid "Starting cooking the list \"%s\""
  9.1110 +msgstr "Iniciando lista de compilação: %s"
  9.1111  
  9.1112 -#: cook:1250
  9.1113 +#: cook:1375
  9.1114  msgid "Cleaning all packages files..."
  9.1115  msgstr "Limpando todos os arquivos de pacote..."
  9.1116  
  9.1117 -#: cook:1255
  9.1118 +#: cook:1381
  9.1119  msgid "Cleaning all packages sources..."
  9.1120  msgstr "Limpando todos os fontes de pacote..."
  9.1121  
  9.1122 -#: cook:1268
  9.1123 -msgid "Packages directory doesn't exist"
  9.1124 -msgstr "O diretório de pacote não existe"
  9.1125 +#: cook:1388
  9.1126 +msgid "Checking for uncooked packages"
  9.1127 +msgstr ""
  9.1128  
  9.1129 -#: cook:1275
  9.1130 +#: cook:1401
  9.1131 +msgid "Package \"%s\""
  9.1132 +msgstr ""
  9.1133 +
  9.1134 +#: cook:1420
  9.1135 +msgid "%s uncooked package"
  9.1136 +msgid_plural "%s uncooked packages"
  9.1137 +msgstr[0] ""
  9.1138 +msgstr[1] ""
  9.1139 +
  9.1140 +#: cook:1422
  9.1141 +msgid "All packages are cooked :-)"
  9.1142 +msgstr ""
  9.1143 +
  9.1144 +#: cook:1435
  9.1145 +msgid "Packages directory \"%s\" doesn't exist"
  9.1146 +msgstr "O diretório de pacote \"%s\" não existe"
  9.1147 +
  9.1148 +#: cook:1445
  9.1149  msgid "Cook pkgdb: Creating all packages lists"
  9.1150  msgstr "Cook pkgdb: criando todas as listas de pacote"
  9.1151  
  9.1152 -#: cook:1276
  9.1153 -#, sh-format
  9.1154 -msgid "Creating lists for: $PKGS"
  9.1155 -msgstr "Criando listas para: $PKGS"
  9.1156 +#: cook:1446
  9.1157 +msgid "Creating lists for \"%s\""
  9.1158 +msgstr "Criando listas para: %s"
  9.1159  
  9.1160 -#: cook:1278
  9.1161 -#, sh-format
  9.1162 -msgid "Cook pkgdb started: $datenow"
  9.1163 -msgstr "Cook pkgdb iniciada: $datenow"
  9.1164 +#: cook:1448
  9.1165 +msgid "Cook pkgdb started: %s"
  9.1166 +msgstr "Cook pkgdb iniciada: %s"
  9.1167  
  9.1168 -#: cook:1281
  9.1169 -msgid "Creating: packages.list"
  9.1170 -msgstr "Criando: packages.list"
  9.1171 +#: cook:1454 cook:1457 cook:1523 cook:1535 cook:1540
  9.1172 +msgid "Creating file \"%s\""
  9.1173 +msgstr "Criando: %s"
  9.1174  
  9.1175 -#: cook:1283
  9.1176 -msgid "Creating: packages.md5"
  9.1177 -msgstr "Criando: packages.md5"
  9.1178 +#: cook:1463
  9.1179 +msgid "Creating lists from \"%s\""
  9.1180 +msgstr "Criando lista de: %s"
  9.1181  
  9.1182 -#: cook:1286
  9.1183 -#, sh-format
  9.1184 -msgid "Creating lists from: $WOK"
  9.1185 -msgstr "Criando lista de: $WOK"
  9.1186 -
  9.1187 -#: cook:1328
  9.1188 -msgid "Done: packages.desc"
  9.1189 -msgstr "Feito: packages.desc"
  9.1190 -
  9.1191 -#: cook:1329
  9.1192 -msgid "Done: packages.txt"
  9.1193 -msgstr "Feito: packages.txt"
  9.1194 -
  9.1195 -#: cook:1330
  9.1196 -msgid "Done: packages.equiv"
  9.1197 -msgstr "Feito: packages.equiv"
  9.1198 -
  9.1199 -#: cook:1333
  9.1200 -msgid "Creating: files.list.lzma"
  9.1201 -msgstr "Criando: files.list.lzma"
  9.1202 +#: cook:1516 cook:1517 cook:1518 cook:1529 cook:1547
  9.1203 +msgid "Done: %s (%s)"
  9.1204 +msgstr "Feito: %s (%s)"
  9.1205  
  9.1206  #. L10n: 's' is for seconds (cooking time)
  9.1207 -#: cook:1342
  9.1208 -#, sh-format
  9.1209 -msgid "Packages: $nb - Time: ${time}s"
  9.1210 -msgstr "Pacotes: $nb - Tempo: ${time}s"
  9.1211 +#: cook:1554
  9.1212 +msgid "Packages: %s - Time: %ss"
  9.1213 +msgstr "Pacotes: %s - Tempo: %ss"
  9.1214  
  9.1215 -#: cook:1348
  9.1216 -#, sh-format
  9.1217 -msgid "Missing flavors: $flavors"
  9.1218 -msgstr "Variante desconhecida: $flavors"
  9.1219 +#: cook:1563
  9.1220 +msgid "Missing flavors folder \"%s\""
  9.1221 +msgstr "Variante desconhecida: %s"
  9.1222  
  9.1223 -#: cook:1350
  9.1224 -#, sh-format
  9.1225 -msgid "Creating flavors files in: $live"
  9.1226 -msgstr "Criando arquivos de variante em: $live"
  9.1227 +#: cook:1568
  9.1228 +msgid "Creating flavors files in \"%s\""
  9.1229 +msgstr "Criando arquivos de variante em: %s"
  9.1230  
  9.1231 -#: cook:1351
  9.1232 +#: cook:1569
  9.1233  msgid "Cook pkgdb: Creating all flavors"
  9.1234  msgstr "Cook pkgdb: criando todas as variantes"
  9.1235  
  9.1236 -#: cook:1353
  9.1237 +#: cook:1572
  9.1238  msgid "Recharging lists to use latest packages..."
  9.1239  msgstr "Recarregando listas para usar pacotes mais recentes..."
  9.1240  
  9.1241 -#: cook:1358
  9.1242 -msgid "Creating configuration file: tazlito.conf"
  9.1243 -msgstr "Criando arquivo de configuração: tazlito.conf"
  9.1244 +#: cook:1577
  9.1245 +msgid "Creating configuration file \"%s\""
  9.1246 +msgstr "Criando arquivo de configuração: %s"
  9.1247  
  9.1248 -#: cook:1368
  9.1249 +#: cook:1589
  9.1250  msgid "Starting to generate flavors..."
  9.1251  msgstr "Iniciando a geração de variante..."
  9.1252  
  9.1253 -#: cook:1373
  9.1254 -#, sh-format
  9.1255 -msgid "Packing flavor: $fl"
  9.1256 -msgstr "Enpacotando variante: $fl"
  9.1257 +#: cook:1593
  9.1258 +msgid "Packing flavor \"%s\""
  9.1259 +msgstr "Enpacotando variante: %s"
  9.1260  
  9.1261 -#: cook:1381
  9.1262 -#, sh-format
  9.1263 -msgid "Flavors size: $fl_size"
  9.1264 -msgstr "Tamanho da variante: $fl_size"
  9.1265 +#: cook:1599
  9.1266 +msgid "Total flavors size: %s"
  9.1267 +msgstr "Tamanho da variante: %s"
  9.1268  
  9.1269 -#: cook:1385
  9.1270 -#, sh-format
  9.1271 -msgid "Cook pkgdb end: $datenow"
  9.1272 -msgstr "Cook pkgdb finalizado: $datenow"
  9.1273 +#: cook:1602
  9.1274 +msgid "Cook pkgdb end: %s"
  9.1275 +msgstr "Cook pkgdb finalizado: %s"
  9.1276  
  9.1277 -#: cook:1412
  9.1278 -#, sh-format
  9.1279 -msgid "cook: HOST_ARCH is not set in $pkg receipt"
  9.1280 -msgstr "cook: HOST_ARCH não definido em $pkg receipt"
  9.1281 +#: cook:1622
  9.1282 +msgid "cook: HOST_ARCH is not set in \"%s\" receipt"
  9.1283 +msgstr "cook: HOST_ARCH não definido em %s receipt"
  9.1284  
  9.1285 -#: cook:1413
  9.1286 -#, sh-format
  9.1287 -msgid "cook: This package is not included in: $ARCH"
  9.1288 -msgstr "cook: Este pacote não está incluso em: $ARCH"
  9.1289 +#: cook:1623
  9.1290 +msgid "package \"%s\" is not included in %s"
  9.1291 +msgstr "%s não está incluso em: %s"
  9.1292  
  9.1293 -#: cook:1414 cook:1425
  9.1294 -#, sh-format
  9.1295 -msgid "bugs: $CROSS_BUGS"
  9.1296 -msgstr "bugs: $CROSS_BUGS"
  9.1297 +#: cook:1624 cook:1637 cook:1639
  9.1298 +msgid "cook: %s"
  9.1299 +msgstr "cook: %s"
  9.1300  
  9.1301 -#: cook:1415
  9.1302 -#, sh-format
  9.1303 -msgid "Cook skip: $pkg is not included in: $ARCH"
  9.1304 -msgstr "Cook skip: $pkg não está incluso em: $ARCH"
  9.1305 +#: cook:1625 cook:1640
  9.1306 +msgid "bugs: %s"
  9.1307 +msgstr "bugs: %s"
  9.1308  
  9.1309 -#: cook:1423
  9.1310 -#, sh-format
  9.1311 -msgid "cook: HOST_ARCH=$HOST_ARCH"
  9.1312 -msgstr "cook: HOST_ARCH=$HOST_ARCH"
  9.1313 +#: cook:1626 cook:1641
  9.1314 +msgid "Cook skip: %s"
  9.1315 +msgstr "Cook skip: %s"
  9.1316  
  9.1317 -#: cook:1424
  9.1318 -#, sh-format
  9.1319 -msgid "cook: $pkg doesn't cook or is not included in: $ARCH"
  9.1320 -msgstr "cook: $pkg não compila ou não está incluso em: $ARCH"
  9.1321 +#: cook:1634
  9.1322 +#, fuzzy
  9.1323 +msgid "Host arch %s"
  9.1324 +msgstr "Arquitetura alvo: %s"
  9.1325  
  9.1326 -#: cook:1426
  9.1327 -#, sh-format
  9.1328 -msgid "Cook skip: $pkg doesn't cook or is not included in: $ARCH"
  9.1329 -msgstr "Cook skip: $pkg não compila ou não está incluso em: $ARCH"
  9.1330 +#: cook:1638
  9.1331 +msgid "package \"%s\" doesn't cook or is not included in %s"
  9.1332 +msgstr "%s não compila ou não está incluso em: %s"
  9.1333  
  9.1334 -#: cook:1432
  9.1335 -#, sh-format
  9.1336 -msgid "Blocked package: $pkg"
  9.1337 -msgstr "Pacote bloqueado: $pkg"
  9.1338 +#: cook:1649
  9.1339 +msgid "Package \"%s\" is blocked"
  9.1340 +msgstr "Pacote bloqueado: %s"
  9.1341  
  9.1342 -#: cook:1439
  9.1343 -#, sh-format
  9.1344 -msgid "Cook started for: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
  9.1345 -msgstr "Compilação iniciada para: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
  9.1346 +#: cook:1656
  9.1347 +msgid "Cook started for: %s"
  9.1348 +msgstr "Compilação iniciada para: %s"
  9.1349  
  9.1350 -#: cook:1450
  9.1351 -#, sh-format
  9.1352 -msgid "Cleaning: $pkg"
  9.1353 -msgstr "Limpando: $pkg"
  9.1354 +#: cook:1667
  9.1355 +msgid "Cleaning \"%s\""
  9.1356 +msgstr "Limpando: %s"
  9.1357  
  9.1358 -#: cook:1456
  9.1359 -#, sh-format
  9.1360 -msgid "Getting source for: $pkg"
  9.1361 -msgstr "Obtendo fonte para: $pkg"
  9.1362 +#: cook:1676
  9.1363 +msgid "Getting source for \"%s\""
  9.1364 +msgstr "Obtendo fonte para: %s"
  9.1365  
  9.1366 -#: cook:1458
  9.1367 -#, sh-format
  9.1368 -msgid "Tarball: $SRC/$TARBALL"
  9.1369 -msgstr "Tarball: $SRC/$TARBALL"
  9.1370 +#: cook:1678
  9.1371 +msgid "Tarball: %s"
  9.1372 +msgstr "Tarball: %s"
  9.1373  
  9.1374 -#: cook:1461
  9.1375 -#, sh-format
  9.1376 -msgid "Blocking: $pkg"
  9.1377 -msgstr "Bloqueando: $pkg"
  9.1378 +#: cook:1682
  9.1379 +msgid "Blocking package \"%s\""
  9.1380 +msgstr "Bloqueando: %s"
  9.1381  
  9.1382 -#: cook:1465
  9.1383 -#, sh-format
  9.1384 -msgid "Unblocking: $pkg"
  9.1385 -msgstr "Desbloqueando: $pkg"
  9.1386 +#: cook:1688
  9.1387 +msgid "Unblocking package \"%s\""
  9.1388 +msgstr "Desbloqueando: %s"
  9.1389  
  9.1390 -#: cook:1475 cook:1479
  9.1391 -#, sh-format
  9.1392 -msgid "Need to build $pkg."
  9.1393 -msgstr "Necessário compilar $pkg."
  9.1394 +#: cook:1700 cook:1707
  9.1395 +msgid "Need to build \"%s\""
  9.1396 +msgstr "Necessário compilar %s."
  9.1397  
  9.1398 -#: cook:1480
  9.1399 +#: cook:1711
  9.1400  msgid "Checking depends"
  9.1401  msgstr "Verificando dependências"
  9.1402  
  9.1403 -#: cook:1507
  9.1404 -#, sh-format
  9.1405 -msgid "WANTED package is blocked: $wanted"
  9.1406 -msgstr "Pacote requerido está bloqueado: $wanted"
  9.1407 +#: cook:1742
  9.1408 +msgid "WANTED package \"%s\" is blocked"
  9.1409 +msgstr "Pacote requerido está bloqueado: %s"
  9.1410  
  9.1411 -#: cook:1511
  9.1412 -#, sh-format
  9.1413 -msgid "WANTED package is broken: $wanted"
  9.1414 -msgstr "Pacote requerido está quebrado: $wanted"
  9.1415 +#: cook:1748
  9.1416 +msgid "WANTED package \"%s\" is broken"
  9.1417 +msgstr "Pacote requerido está quebrado: %s"
    10.1 --- a/po/ru.po	Sun May 03 19:43:46 2015 +0300
    10.2 +++ b/po/ru.po	Thu May 07 15:11:47 2015 +0300
    10.3 @@ -1,21 +1,22 @@
    10.4  # Russian translations for Cook package
    10.5 -# Copyright (C) 2013 THE Cook'S COPYRIGHT HOLDER
    10.6 +# Copyright (C) 2013-2015 SliTaz
    10.7  # This file is distributed under the same license as the Cook package.
    10.8  # Aleksej Bobylev <al.bobylev@gmail.com>, 2013.
    10.9  #
   10.10  msgid ""
   10.11  msgstr ""
   10.12 -"Project-Id-Version: Cook 3.1.4\n"
   10.13 +"Project-Id-Version: Cook 3.2\n"
   10.14  "Report-Msgid-Bugs-To: \n"
   10.15 -"POT-Creation-Date: 2014-03-05 15:28+0200\n"
   10.16 -"PO-Revision-Date: 2014-03-05 16:09+0300\n"
   10.17 +"POT-Creation-Date: 2015-05-07 12:52+0300\n"
   10.18 +"PO-Revision-Date: 2015-05-07 04:21+0300\n"
   10.19  "Last-Translator: Aleksej Bobylev <al.bobylev@gmail.com>\n"
   10.20  "Language-Team: Russian\n"
   10.21  "Language: ru\n"
   10.22  "MIME-Version: 1.0\n"
   10.23  "Content-Type: text/plain; charset=utf-8\n"
   10.24  "Content-Transfer-Encoding: 8bit\n"
   10.25 -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
   10.26 +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
   10.27 +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
   10.28  "X-Poedit-Language: Russian\n"
   10.29  "X-Poedit-SourceCharset: utf-8\n"
   10.30  "X-Poedit-KeywordsList: _;_n\n"
   10.31 @@ -23,12 +24,16 @@
   10.32  "X-Poedit-SearchPath-0: .\n"
   10.33  
   10.34  #: cook:32
   10.35 -msgid "\\033[1mUsage:\\033[0m cook [package|command] [list|--option]"
   10.36 -msgstr "\\033[1mИспользование:\\033[0m cook [пакет|команда] [список|--параметр]"
   10.37 +msgid "Usage:"
   10.38 +msgstr "Использование:"
   10.39 +
   10.40 +#: cook:32
   10.41 +msgid "cook [package|command] [list|--option]"
   10.42 +msgstr "cook [пакет|команда] [список|--параметр]"
   10.43  
   10.44  #: cook:34
   10.45 -msgid "\\033[1mCommands:\\033[0m"
   10.46 -msgstr "\\033[1mКоманды:\\033[0m"
   10.47 +msgid "Commands:"
   10.48 +msgstr "Команды:"
   10.49  
   10.50  #: cook:35
   10.51  msgid "Display this short usage."
   10.52 @@ -42,929 +47,801 @@
   10.53  msgid "Setup a cross environment."
   10.54  msgstr "Настроить кросс-сборочное окружение."
   10.55  
   10.56 -#: cook:38
   10.57 +#: cook:39
   10.58  msgid "Test environment and cook a package."
   10.59  msgstr "Тестировать окружение и собрать пакет."
   10.60  
   10.61 -#: cook:39
   10.62 +#: cook:40
   10.63  msgid "List packages in the wok."
   10.64  msgstr "Вывести список пакетов, имеющихся в wok."
   10.65  
   10.66 -#: cook:40
   10.67 +#: cook:41
   10.68  msgid "Simple packages search function."
   10.69  msgstr "Простой поиск по пакетам."
   10.70  
   10.71 -#: cook:41
   10.72 +#: cook:42
   10.73  msgid "Create a new package with a receipt."
   10.74  msgstr "Создать рецепт нового пакета."
   10.75  
   10.76 -#: cook:42
   10.77 +#: cook:43
   10.78  msgid "Cook a list of packages."
   10.79  msgstr "Собрать все пакеты из списка."
   10.80  
   10.81 -#: cook:43
   10.82 +#: cook:44
   10.83  msgid "Clean-up all packages files."
   10.84  msgstr "Очистить все файлы пакета."
   10.85  
   10.86 -#: cook:44
   10.87 +#: cook:45
   10.88  msgid "Clean-up all packages sources."
   10.89  msgstr "Очистить все исходники пакета."
   10.90  
   10.91 -#: cook:45
   10.92 +#: cook:46
   10.93 +msgid "Check for uncooked packages"
   10.94 +msgstr "Показать несобранные пакеты"
   10.95 +
   10.96 +#: cook:47
   10.97  msgid "Create packages DB lists and flavors."
   10.98  msgstr "Создать базу данных пакетов и редакций."
   10.99  
  10.100 -#: cook:47
  10.101 -msgid "\\033[1mOptions:\\033[0m"
  10.102 -msgstr "\\033[1mПараметры:\\033[0m"
  10.103 +#: cook:49
  10.104 +msgid "Options:"
  10.105 +msgstr "Параметры:"
  10.106  
  10.107 -#: cook:48
  10.108 +#: cook:51
  10.109  msgid "clean the package in the wok."
  10.110  msgstr "очистить пакет в wok."
  10.111  
  10.112 -#: cook:49
  10.113 +#: cook:52
  10.114  msgid "cook and install the package."
  10.115  msgstr "собрать и установить пакет."
  10.116  
  10.117 -#: cook:50
  10.118 +#: cook:53
  10.119  msgid "get the package source tarball."
  10.120  msgstr "загрузить архив исходников пакета."
  10.121  
  10.122 -#: cook:51
  10.123 +#: cook:54
  10.124  msgid "block a package so cook will skip it."
  10.125  msgstr "заблокировать пакет, чтобы cook пропускал его."
  10.126  
  10.127 -#: cook:52
  10.128 +#: cook:55
  10.129  msgid "unblock a blocked package."
  10.130  msgstr "разблокировать заблокированный пакет."
  10.131  
  10.132 -#: cook:53
  10.133 +#: cook:56
  10.134  msgid "check dependencies of cooked package."
  10.135  msgstr "проверить зависимости собираемого пакета."
  10.136  
  10.137 -#: cook:54
  10.138 +#: cook:57
  10.139  msgid "repack an already built package."
  10.140  msgstr "повторно упаковать созданный пакет."
  10.141  
  10.142 -#: cook:55
  10.143 +#: cook:58
  10.144 +msgid "display debugging messages."
  10.145 +msgstr "показывать отладочные сообщения."
  10.146 +
  10.147 +#: cook:59
  10.148 +msgid "continue running compile_rules."
  10.149 +msgstr "продолжить выполнение compile_rules."
  10.150 +
  10.151 +#: cook:61
  10.152  msgid "create a receipt interactively."
  10.153  msgstr "создать рецепт в интерактивном режиме."
  10.154  
  10.155 -#: cook:56
  10.156 +#: cook:63
  10.157  msgid "clone the cooking wok from Hg repo."
  10.158  msgstr "клонировать cooking wok из репозитория Hg."
  10.159  
  10.160 -#: cook:57
  10.161 +#: cook:64
  10.162  msgid "clone the stable wok from Hg repo."
  10.163  msgstr "клонировать стабильный wok из репозитория Hg."
  10.164  
  10.165 -#: cook:58
  10.166 +#: cook:65
  10.167  msgid "clone the undigest wok from Hg repo."
  10.168  msgstr "клонировать undigest wok из репозитория Hg."
  10.169  
  10.170 -#: cook:59
  10.171 +#: cook:66
  10.172  msgid "clone the tiny SliTaz wok from Hg repo."
  10.173  msgstr "клонировать tiny SliTaz wok из репозитория Hg."
  10.174  
  10.175 -#: cook:60
  10.176 +#: cook:67
  10.177  msgid "force reinstall of chroot packages."
  10.178  msgstr "принудительная переустановка пакетов в chroot."
  10.179  
  10.180 -#: cook:61
  10.181 +#: cook:69
  10.182  msgid "create up-to-date flavors files."
  10.183  msgstr "создать актуальные файлы редакций (flavors)."
  10.184  
  10.185 -#: cook:76
  10.186 -#, sh-format
  10.187 -msgid "Unable to find package in the wok: $pkg"
  10.188 -msgstr "Не удалось найти пакет «$pkg» в wok."
  10.189 +#: cook:88
  10.190 +msgid "Unable to find package \"%s\" in the wok"
  10.191 +msgstr "Не удалось найти пакет «%s» в wok."
  10.192  
  10.193  #. L10n: QA is quality assurance
  10.194 -#: cook:84
  10.195 -#, sh-format
  10.196 -msgid "QA: empty variable: ${var}=\"\""
  10.197 -msgstr "ОТК: пустая переменная: ${var}=\"\""
  10.198 +#: cook:97
  10.199 +msgid "QA: empty variable: %s"
  10.200 +msgstr "ОТК: пустая переменная: %s"
  10.201  
  10.202 -#: cook:91
  10.203 -#, sh-format
  10.204 -msgid "Creating directories structure in: $SLITAZ"
  10.205 -msgstr "Создание структуры папок в $SLITAZ"
  10.206 +#: cook:106
  10.207 +msgid "Creating directories structure in \"%s\""
  10.208 +msgstr "Создание структуры папок в «%s»"
  10.209  
  10.210 -#: cook:93
  10.211 -#, sh-format
  10.212 -msgid "Creating DB files in: $CACHE"
  10.213 -msgstr "Создание файлов базы данных в $CACHE"
  10.214 +#: cook:108
  10.215 +msgid "Creating DB files in \"%s\""
  10.216 +msgstr "Создание файлов базы данных в «%s»"
  10.217  
  10.218 -#: cook:102
  10.219 +#: cook:118
  10.220  msgid "QA: checking package receipt..."
  10.221  msgstr "ОТК: проверка рецепта пакета…"
  10.222  
  10.223 -#: cook:118
  10.224 -#, sh-format
  10.225 -msgid "QA: unknown category: $value"
  10.226 -msgstr "ОТК: неизвестная категория «$value»"
  10.227 +#: cook:133
  10.228 +msgid "QA: unknown category \"%s\""
  10.229 +msgstr "ОТК: неизвестная категория «%s»"
  10.230  
  10.231 -#: cook:119
  10.232 -#, sh-format
  10.233 -msgid "Please, use one of: $valid"
  10.234 -msgstr "Используйте одну из: $valid"
  10.235 +#: cook:134
  10.236 +msgid "Please, use one of: %s"
  10.237 +msgstr "Используйте одну из: %s"
  10.238  
  10.239 -#: cook:128
  10.240 -#, sh-format
  10.241 -msgid "QA: unable to reach: $value"
  10.242 -msgstr "ОТК: не удалось подключиться к $value"
  10.243 +#: cook:144
  10.244 +msgid "QA: unable to reach \"%s\""
  10.245 +msgstr "ОТК: не удалось подключиться к «%s»"
  10.246  
  10.247 -#: cook:184
  10.248 -#, sh-format
  10.249 -msgid "Creating tarball: $tarball"
  10.250 -msgstr "Создание архива: $tarball"
  10.251 +#: cook:204
  10.252 +msgid "Creating tarball \"%s\""
  10.253 +msgstr "Создание архива «%s»"
  10.254  
  10.255 -#: cook:207
  10.256 -#: cook:211
  10.257 -#, sh-format
  10.258 -msgid "ERROR: wget $WGET_URL"
  10.259 -msgstr "ОШИБКА: wget $WGET_URL"
  10.260 +#: cook:229 cook:234 cook:248 cook:250 cook:260 cook:330
  10.261 +msgid "ERROR: %s"
  10.262 +msgstr "ОШИБКА: %s"
  10.263  
  10.264 -#: cook:218
  10.265 -msgid "Getting source from Hg..."
  10.266 -msgstr "Загрузка исходников с Hg…"
  10.267 +#: cook:242 cook:257 cook:272 cook:285 cook:296 cook:328
  10.268 +msgid "Getting source from %s..."
  10.269 +msgstr "Загрузка исходников с %s…"
  10.270  
  10.271 -#: cook:219
  10.272 -#: cook:233
  10.273 -#: cook:245
  10.274 -#: cook:257
  10.275 -#, sh-format
  10.276 -msgid "URL: $url"
  10.277 -msgstr "Адрес: $url"
  10.278 +#: cook:243 cook:258 cook:273 cook:286 cook:329
  10.279 +msgid "URL: %s"
  10.280 +msgstr "Адрес: %s"
  10.281  
  10.282 -#: cook:220
  10.283 -#, sh-format
  10.284 -msgid "Cloning to: $pwd/$pkgsrc"
  10.285 -msgstr "Клонирование в $pwd/$pkgsrc"
  10.286 -
  10.287 -#: cook:222
  10.288 -#, sh-format
  10.289 -msgid "Hg branch: $BRANCH"
  10.290 -msgstr "Ветвь Hg: $BRANCH"
  10.291 -
  10.292 -#: cook:224
  10.293 -#, sh-format
  10.294 -msgid "ERROR: hg clone $url --rev $BRANCH"
  10.295 -msgstr "ОШИБКА: hg clone $url --rev $BRANCH"
  10.296 -
  10.297 -#: cook:226
  10.298 -#, sh-format
  10.299 -msgid "ERROR: hg clone $url"
  10.300 -msgstr "ОШИБКА: hg clone $url"
  10.301 -
  10.302 -#: cook:232
  10.303 -msgid "Getting source from Git..."
  10.304 -msgstr "Загрузка исходников с Git…"
  10.305 -
  10.306 -#: cook:234
  10.307 -#, sh-format
  10.308 -msgid "ERROR: git clone $url"
  10.309 -msgstr "ОШИБКА: git clone $url"
  10.310 -
  10.311 -#: cook:236
  10.312 -#, sh-format
  10.313 -msgid "Git branch: $BRANCH"
  10.314 -msgstr "Ветвь Git: $BRANCH"
  10.315 -
  10.316 -#: cook:244
  10.317 -msgid "Getting source from CVS..."
  10.318 -msgstr "Загрузка исходников с CVS…"
  10.319 +#: cook:244 cook:275
  10.320 +msgid "Cloning to \"%s\""
  10.321 +msgstr "Клонирование в «%s»"
  10.322  
  10.323  #: cook:246
  10.324 -#, sh-format
  10.325 -msgid "CVS module: $mod"
  10.326 -msgstr "Модуль CVS: $mod"
  10.327 +msgid "Hg branch: %s"
  10.328 +msgstr "Ветвь Hg: %s"
  10.329  
  10.330 -#: cook:247
  10.331 -#, sh-format
  10.332 -msgid "Cloning to: $pwd/$mod"
  10.333 -msgstr "Клонирование в $pwd/$mod"
  10.334 +#: cook:262
  10.335 +msgid "Git branch: %s"
  10.336 +msgstr "Ветвь Git: %s"
  10.337  
  10.338 -#: cook:256
  10.339 -msgid "Getting source from SVN..."
  10.340 -msgstr "Загрузка исходников с SVN…"
  10.341 +#: cook:274
  10.342 +msgid "CVS module: %s"
  10.343 +msgstr "Модуль CVS: %s"
  10.344  
  10.345 -#: cook:266
  10.346 -msgid "Getting source from bazaar..."
  10.347 -msgstr "Загрузка исходников с bazaar…"
  10.348 -
  10.349 -#: cook:276
  10.350 +#: cook:306
  10.351  msgid "Don't forget to add to receipt:"
  10.352  msgstr "Не забудьте добавить в рецепт:"
  10.353  
  10.354 -#: cook:283
  10.355 -#, sh-format
  10.356 -msgid "ERROR: Unable to handle: $WGET_URL"
  10.357 -msgstr "ОШИБКА: Не удалось обработать $WGET_URL"
  10.358 +#: cook:314
  10.359 +msgid "ERROR: Unable to handle \"%s\""
  10.360 +msgstr "ОШИБКА: Не удалось обработать «%s»"
  10.361  
  10.362 -#: cook:295
  10.363 -#, sh-format
  10.364 -msgid "Getting source from mirror: $url"
  10.365 -msgstr "Загрузка исходников из репозитария mirror: $url"
  10.366 +#: cook:332
  10.367 +msgid "Extracting source archive \"%s\""
  10.368 +msgstr "Распаковка архива исходников «%s»"
  10.369  
  10.370 -#: cook:296
  10.371 -#, sh-format
  10.372 -msgid "ERROR: wget $url"
  10.373 -msgstr "ОШИБКА: wget $url"
  10.374 +#. L10n: 'm' is for minutes (approximate cooking time)
  10.375 +#: cook:367
  10.376 +msgid "~ %dm"
  10.377 +msgstr "(около %d мин)"
  10.378  
  10.379 -#: cook:298
  10.380 -#, sh-format
  10.381 -msgid "Extracting: $TARBALL"
  10.382 -msgstr "Распаковка архива $TARBALL"
  10.383 +#: cook:370
  10.384 +msgid "Summary for: %s"
  10.385 +msgstr "Сводка по пакету %s"
  10.386 +
  10.387 +#. L10n: keep the same width of translations to get a consistent view
  10.388 +#: cook:374
  10.389 +msgid "Source dir  : %s"
  10.390 +msgstr "Папка исходников     : %s"
  10.391 +
  10.392 +#: cook:375
  10.393 +msgid "Src file    : %s"
  10.394 +msgstr "Архив исходников     : %s"
  10.395 +
  10.396 +#: cook:376
  10.397 +msgid "Src size    : %s"
  10.398 +msgstr "Размер архива        : %s"
  10.399 +
  10.400 +#: cook:377
  10.401 +msgid "Produced    : %s"
  10.402 +msgstr "Скомпилировано       : %s"
  10.403 +
  10.404 +#: cook:378
  10.405 +msgid "Packed      : %s"
  10.406 +msgstr "Помещено в пакет     : %s"
  10.407 +
  10.408 +#: cook:379
  10.409 +msgid "Compressed  : %s"
  10.410 +msgstr "Размер сжатого пакета: %s"
  10.411 +
  10.412 +#: cook:380
  10.413 +msgid "Files       : %s"
  10.414 +msgstr "Количество файлов    : %s"
  10.415 +
  10.416 +#. L10n: 's' is for seconds (cooking time)
  10.417 +#: cook:382
  10.418 +msgid "Cook time   : %ds %s"
  10.419 +msgstr "Время сборки         : %d с %s"
  10.420 +
  10.421 +#: cook:383
  10.422 +msgid "Cook date   : %s"
  10.423 +msgstr "Дата приготовления   : %s"
  10.424 +
  10.425 +#: cook:383 cook:395 cook:1448 cook:1602
  10.426 +msgid "+%%F %%R"
  10.427 +msgstr "+%%x %%R"
  10.428 +
  10.429 +#: cook:384
  10.430 +msgid "Host arch   : %s"
  10.431 +msgstr "Архитектура хоста    : %s"
  10.432 +
  10.433 +#: cook:392
  10.434 +msgid "Debug information"
  10.435 +msgstr "Отладочная информация"
  10.436  
  10.437  #. L10n: specify your format of date and time (to help: man date)
  10.438  #. L10n: not bad one is '+%x %R'
  10.439 -#: cook:322
  10.440 -#: cook:349
  10.441 -#: cook:1277
  10.442 -#: cook:1384
  10.443 -msgid "+%Y-%m-%d %H:%M"
  10.444 -msgstr "+%x %R"
  10.445 -
  10.446 -#. L10n: 'm' is for minutes (approximate cooking time)
  10.447 -#: cook:326
  10.448 -#, sh-format
  10.449 -msgid "~ ${div}m"
  10.450 -msgstr "(около $div мин)"
  10.451 -
  10.452 -#: cook:327
  10.453 -#, sh-format
  10.454 -msgid "Summary for: $PACKAGE $VERSION"
  10.455 -msgstr "Сводка по пакету $PACKAGE $VERSION"
  10.456 -
  10.457 -#. L10n: keep the same width of translations to get a consistent view
  10.458 -#: cook:330
  10.459 -#, sh-format
  10.460 -msgid "Source dir  : $srcdir"
  10.461 -msgstr "Папка исходников     : $srcdir"
  10.462 -
  10.463 -#: cook:331
  10.464 -#, sh-format
  10.465 -msgid "Src file    : $TARBALL"
  10.466 -msgstr "Архив исходников     : $TARBALL"
  10.467 -
  10.468 -#: cook:332
  10.469 -#, sh-format
  10.470 -msgid "Src size    : $srcsize"
  10.471 -msgstr "Размер архива        : $srcsize"
  10.472 -
  10.473 -#: cook:333
  10.474 -#, sh-format
  10.475 -msgid "Produced    : $prod"
  10.476 -msgstr "Скомпилировано       : $prod"
  10.477 -
  10.478 -#: cook:334
  10.479 -#, sh-format
  10.480 -msgid "Packed      : $fs"
  10.481 -msgstr "Помещено в пакет     : $fs"
  10.482 -
  10.483 -#: cook:335
  10.484 -#, sh-format
  10.485 -msgid "Compressed  : $size"
  10.486 -msgstr "Размер сжатого пакета: $size"
  10.487 -
  10.488 -#: cook:336
  10.489 -#, sh-format
  10.490 -msgid "Files       : $files"
  10.491 -msgstr "Количество файлов    : $files"
  10.492 -
  10.493 -#. L10n: 's' is for seconds (cooking time)
  10.494 -#: cook:338
  10.495 -#, sh-format
  10.496 -msgid "Cook time   : ${sec}s $min"
  10.497 -msgstr "Время сборки         : $sec с $min"
  10.498 -
  10.499 -#: cook:339
  10.500 -#, sh-format
  10.501 -msgid "Cook date   : $cookdate"
  10.502 -msgstr "Дата приготовления   : $cookdate"
  10.503 -
  10.504 -#: cook:340
  10.505 -#, sh-format
  10.506 -msgid "Host arch   : $ARCH"
  10.507 -msgstr "Архитектура хоста    : $ARCH"
  10.508 -
  10.509 -#: cook:346
  10.510 -msgid "Debug information"
  10.511 -msgstr "Отладочная информация"
  10.512 -
  10.513 -#: cook:350
  10.514 -#, sh-format
  10.515 -msgid "Cook date: $datenow"
  10.516 -msgstr "Дата сборки: $datenow"
  10.517 +#: cook:395
  10.518 +msgid "Cook date: %s"
  10.519 +msgstr "Дата сборки: %s"
  10.520  
  10.521  #. L10n: Please, translate all messages beginning with ERROR in a same way
  10.522 -#: cook:352
  10.523 -#: cook:614
  10.524 -#: cook:711
  10.525 -#: cook:742
  10.526 -#: cook:828
  10.527 -#: cook:1527
  10.528 +#: cook:397 cook:661 cook:765 cook:799 cook:889 cook:1766
  10.529  msgid "ERROR"
  10.530  msgstr "ОШИБКА"
  10.531  
  10.532 -#: cook:437
  10.533 +#: cook:484
  10.534  msgid "Executing strip on all files..."
  10.535  msgstr "Выполнение команды strip для всех файлов…"
  10.536  
  10.537 -#: cook:450
  10.538 +#: cook:496
  10.539  msgid "Removing Python compiled files..."
  10.540  msgstr "Удаление скомпилированных файлов Python…"
  10.541  
  10.542 -#: cook:458
  10.543 +#: cook:503
  10.544  msgid "Removing Perl compiled files..."
  10.545  msgstr "Удаление скомпилированных файлов Perl…"
  10.546  
  10.547 -#: cook:472
  10.548 -#: cook:600
  10.549 -msgid "Build dependencies to remove: "
  10.550 -msgstr "Будут удалены зависимости сборки: "
  10.551 +#: cook:518 cook:647
  10.552 +msgid "Build dependencies to remove:"
  10.553 +msgstr "Будут удалены зависимости сборки:"
  10.554  
  10.555 -#: cook:473
  10.556 -#: cook:601
  10.557 +#: cook:520 cook:648
  10.558  msgid "Removing:"
  10.559  msgstr "Удаление:"
  10.560  
  10.561 -#: cook:487
  10.562 -#, sh-format
  10.563 -msgid "Cook: $PACKAGE $VERSION"
  10.564 -msgstr "Приготовление пакета: $PACKAGE $VERSION"
  10.565 +#: cook:535
  10.566 +msgid "Cook: %s"
  10.567 +msgstr "Приготовление пакета: %s"
  10.568  
  10.569 -#: cook:501
  10.570 -#, sh-format
  10.571 -msgid "$ARCH sysroot: $sysroot"
  10.572 -msgstr "Корень $ARCH: $sysroot"
  10.573 +#: cook:549
  10.574 +msgid "%s sysroot: %s"
  10.575 +msgstr "Корень %s: %s"
  10.576  
  10.577 -#: cook:502
  10.578 -#, sh-format
  10.579 -msgid "Adding $tools/bin to PATH"
  10.580 -msgstr "Добавление «$tools/bin» в PATH"
  10.581 +#: cook:550
  10.582 +msgid "Adding \"%s\" to PATH"
  10.583 +msgstr "Добавление «%s» в PATH"
  10.584  
  10.585 -#: cook:506
  10.586 -#, sh-format
  10.587 -msgid "Using cross-tools: $CROSS_COMPILE"
  10.588 -msgstr "Используемые кросс-инструменты: $CROSS_COMPILE"
  10.589 +#: cook:554
  10.590 +msgid "Using cross-tools: %s"
  10.591 +msgstr "Используемые кросс-инструменты: %s"
  10.592  
  10.593 -#: cook:528
  10.594 -#, sh-format
  10.595 -msgid "Disabling -pipe compile flag: $free RAM"
  10.596 -msgstr "Отключение флага компиляции «-pipe»: свободно $free КБ RAM"
  10.597 +#: cook:578
  10.598 +msgid "Disabling -pipe compile flag: %d RAM free"
  10.599 +msgstr "Отключение флага компиляции «-pipe»: свободно %d КБ RAM"
  10.600  
  10.601 -#: cook:545
  10.602 +#: cook:594
  10.603  msgid "Checking build dependencies..."
  10.604  msgstr "Проверка зависимостей сборки…"
  10.605  
  10.606 -#: cook:546
  10.607 -#, sh-format
  10.608 -msgid "Using packages DB: ${root}$DB"
  10.609 -msgstr "Используемая база данных пакетов: ${root}$DB"
  10.610 +#: cook:595
  10.611 +msgid "Using packages DB: %s"
  10.612 +msgstr "Используемая база данных пакетов: %s"
  10.613  
  10.614 -#: cook:572
  10.615 -#, sh-format
  10.616 -msgid "Missing dep (wok/pkg): $i $vers"
  10.617 -msgstr "Отсутствует зависимость (wok/пакет): $i $vers"
  10.618 +#: cook:619
  10.619 +msgid "Missing dep (wok/pkg): %s"
  10.620 +msgstr "Отсутствует зависимость (wok/пакет): %s"
  10.621  
  10.622 -#: cook:580
  10.623 -#, sh-format
  10.624 -msgid "ERROR: unknown dep $i"
  10.625 -msgstr "ОШИБКА: неизвестная зависимость «$i»"
  10.626 +#: cook:627
  10.627 +msgid "ERROR: unknown dep \"%s\""
  10.628 +msgstr "ОШИБКА: неизвестная зависимость «%s»"
  10.629  
  10.630 -#: cook:593
  10.631 -msgid "Auto cook config is set: AUTO_COOK"
  10.632 -msgstr "Авто-приготовление включено: AUTO_COOK"
  10.633 +#: cook:641
  10.634 +msgid "Auto cook config is set: %s"
  10.635 +msgstr "Авто-приготовление включено: %s"
  10.636  
  10.637 -#: cook:597
  10.638 -#, sh-format
  10.639 -msgid "Building dep (wok/pkg)    : $i $vers"
  10.640 -msgstr "Сборка зависимости (wok/пакет): $i $vers"
  10.641 +#: cook:644
  10.642 +msgid "Building dep (wok/pkg)    : %s"
  10.643 +msgstr "Сборка зависимости (wok/пакет): %s"
  10.644  
  10.645 -#: cook:602
  10.646 -#, sh-format
  10.647 -msgid "ERROR: can't cook dep '$i'"
  10.648 -msgstr "ОШИБКА: не удалось собрать зависимость «$i»"
  10.649 +#: cook:649
  10.650 +msgid "ERROR: can't cook dep \"%s\""
  10.651 +msgstr "ОШИБКА: не удалось собрать зависимость «%s»"
  10.652  
  10.653 -#: cook:617
  10.654 -#, sh-format
  10.655 -msgid "ERROR: missing dep $nb"
  10.656 -msgstr "ОШИБКА: отсутствует зависимость «$nb»"
  10.657 +#: cook:664
  10.658 +msgid "ERROR: missing %d dependency"
  10.659 +msgid_plural "ERROR: missing %d dependencies"
  10.660 +msgstr[0] "ОШИБКА: отсутствует %d зависимость"
  10.661 +msgstr[1] "ОШИБКА: отсутствует %d зависимости"
  10.662 +msgstr[2] "ОШИБКА: отсутствует %d зависимостей"
  10.663  
  10.664 -#: cook:624
  10.665 -#, sh-format
  10.666 -msgid "Installing dep (pkg/local): $i"
  10.667 -msgstr "Установка зависимости (пакет/локальный): $i"
  10.668 +#: cook:671
  10.669 +msgid "Installing dep (pkg/local): %s"
  10.670 +msgstr "Установка зависимости (пакет/локальный): %s"
  10.671  
  10.672 -#: cook:632
  10.673 -#, sh-format
  10.674 -msgid "Installing dep (web/cache): $i"
  10.675 -msgstr "Установка зависимости (веб/кеш): $i"
  10.676 +#: cook:678
  10.677 +msgid "Installing dep (web/cache): %s"
  10.678 +msgstr "Установка зависимости (веб/кеш): %s"
  10.679  
  10.680 -#: cook:682
  10.681 -msgid "Executing: compile_rules"
  10.682 -msgstr "Запуск правил компиляции исходников"
  10.683 +#: cook:734 cook:789
  10.684 +msgid "Executing: %s"
  10.685 +msgstr "Запуск %s"
  10.686  
  10.687 -#: cook:699
  10.688 +#: cook:751
  10.689  msgid "Running testsuite"
  10.690  msgstr "Запуск набора тестов"
  10.691  
  10.692 -#: cook:708
  10.693 +#: cook:762
  10.694  msgid "ERROR: cook failed"
  10.695  msgstr "ОШИБКА: сборка не удалась"
  10.696  
  10.697 -#: cook:729
  10.698 -#, sh-format
  10.699 -msgid "Pack: $PACKAGE ${VERSION}${arch}"
  10.700 -msgstr "Упаковка: $PACKAGE ${VERSION}${arch}"
  10.701 +#: cook:786
  10.702 +msgid "Pack: %s"
  10.703 +msgstr "Упаковка: %s"
  10.704  
  10.705 -#: cook:732
  10.706 -msgid "Executing: genpkg_rules"
  10.707 -msgstr "Запуск правил создания пакета"
  10.708 -
  10.709 -#: cook:734
  10.710 +#: cook:791
  10.711  msgid "ERROR: genpkg_rules failed"
  10.712  msgstr "ОШИБКА: не удалось выполнить правила создания пакета"
  10.713  
  10.714 -#: cook:737
  10.715 +#: cook:794
  10.716  msgid "No packages rules: meta package"
  10.717  msgstr "Для пакета отсутствуют правила, это мета-пакет"
  10.718  
  10.719 -#: cook:751
  10.720 -#, sh-format
  10.721 -msgid "Copying $file..."
  10.722 -msgstr "Копирование файла «$file»…"
  10.723 +#: cook:807
  10.724 +msgid "Copying \"%s\"..."
  10.725 +msgstr "Копирование файла «%s»…"
  10.726  
  10.727 -#: cook:757
  10.728 +#: cook:816
  10.729  msgid "Creating the list of files..."
  10.730  msgstr "Создание списка файлов…"
  10.731  
  10.732 -#: cook:768
  10.733 +#: cook:824
  10.734  msgid "Creating md5sum of files..."
  10.735  msgstr "Расчёт контрольных сумм файлов…"
  10.736  
  10.737 -#: cook:783
  10.738 -msgid "Compressing the fs..."
  10.739 +#: cook:839
  10.740 +msgid "Compressing the FS..."
  10.741  msgstr "Сжатие файловой системы…"
  10.742  
  10.743 -#: cook:790
  10.744 +#: cook:847
  10.745  msgid "Updating receipt sizes..."
  10.746  msgstr "Обновление размеров в рецепте…"
  10.747  
  10.748 -#: cook:798
  10.749 -#, sh-format
  10.750 -msgid "Updating receipt EXTRAVERSION: $EXTRAVERSION"
  10.751 -msgstr "Обновление EXTRAVERSION в рецепте: $EXTRAVERSION"
  10.752 +#: cook:855
  10.753 +msgid "Updating receipt EXTRAVERSION: %s"
  10.754 +msgstr "Обновление EXTRAVERSION в рецепте: %s"
  10.755  
  10.756 -#: cook:805
  10.757 +#: cook:862
  10.758  msgid "Creating full cpio archive..."
  10.759 -msgstr "Создание полного архива CPIO…"
  10.760 +msgstr "Создание полного архива cpio…"
  10.761  
  10.762 -#: cook:809
  10.763 +#: cook:867
  10.764  msgid "Restoring original package tree..."
  10.765  msgstr "Восстановление оригинального дерева пакета…"
  10.766  
  10.767 -#: cook:817
  10.768 -#, sh-format
  10.769 -msgid "Package: $tazpkg"
  10.770 -msgstr "Создан пакет «$tazpkg»"
  10.771 +#: cook:876
  10.772 +msgid "Package \"%s\" created"
  10.773 +msgstr "Создан пакет «%s»"
  10.774  
  10.775 -#: cook:833
  10.776 +#: cook:895
  10.777  msgid "QA: checking for empty package..."
  10.778  msgstr "ОТК: проверка на пустой пакет…"
  10.779  
  10.780 -#: cook:836
  10.781 +#: cook:898
  10.782  msgid "ERROR: empty package"
  10.783  msgstr "ОШИБКА: пустой пакет"
  10.784  
  10.785 -#: cook:844
  10.786 -#, sh-format
  10.787 -msgid "Removing old: $old_pkg"
  10.788 -msgstr "Удаление старого пакета «$old_pkg»…"
  10.789 +#: cook:906
  10.790 +msgid "Removing old package \"%s\""
  10.791 +msgstr "Удаление старого пакета «%s»…"
  10.792  
  10.793 -#: cook:874
  10.794 +#: cook:940
  10.795  msgid "Unable to install package, build has failed."
  10.796  msgstr "Не удалось установить пакет, сборка завершилась неудачей."
  10.797  
  10.798 -#: cook:883
  10.799 -#, sh-format
  10.800 -msgid "Updating $ARCH chroot environment..."
  10.801 -msgstr "Обновление окружения chroot $ARCH…"
  10.802 +#: cook:949
  10.803 +msgid "Updating %s chroot environment..."
  10.804 +msgstr "Обновление окружения chroot %s…"
  10.805  
  10.806 -#: cook:884
  10.807 -#, sh-format
  10.808 -msgid "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
  10.809 -msgstr "Обновление пакета $pkg (${VERSION}${EXTRAVERSION}${arch}) в chroot"
  10.810 +#: cook:950
  10.811 +msgid "Updating chroot: %s"
  10.812 +msgstr "Обновление пакета %s в chroot"
  10.813  
  10.814 -#: cook:905
  10.815 +#: cook:982
  10.816  msgid "Setup aufs chroot..."
  10.817 -msgstr "Настройка chroot AUFS…"
  10.818 +msgstr "Настройка chroot aufs…"
  10.819  
  10.820 -#: cook:917
  10.821 -msgid "Aufs mountage failure"
  10.822 -msgstr "Не удалось смонтировать AUFS"
  10.823 +#: cook:994
  10.824 +msgid "Aufs mount failure"
  10.825 +msgstr "Не удалось смонтировать aufs"
  10.826  
  10.827 -#: cook:928
  10.828 +#: cook:1006
  10.829  msgid "Leaving aufs chroot..."
  10.830 -msgstr "Выход из chroot AUFS…"
  10.831 +msgstr "Выход из chroot aufs…"
  10.832  
  10.833 -#: cook:1030
  10.834 -#, sh-format
  10.835 -msgid "List of $ARCH packages in: $WOK"
  10.836 -msgstr "Список пакетов архитектуры $ARCH в репозитории $WOK"
  10.837 +#: cook:1075
  10.838 +msgid "Multiple choice:"
  10.839 +msgstr "Множественный выбор:"
  10.840  
  10.841 -#: cook:1046
  10.842 -msgid "Packages:"
  10.843 -msgstr "Количество пакетов:"
  10.844 +#: cook:1076
  10.845 +msgid "Select one [%s]: "
  10.846 +msgstr "Выберите один [%s]: "
  10.847  
  10.848 -#: cook:1053
  10.849 -#, sh-format
  10.850 -msgid "Search results for: $query"
  10.851 -msgstr "Результаты поиска «$query»"
  10.852 +#: cook:1117
  10.853 +msgid "Getting standard devel files..."
  10.854 +msgstr "Получение стандартных файлов разработчика…"
  10.855  
  10.856 -#: cook:1059
  10.857 +#: cook:1134
  10.858 +msgid "List of %s packages in \"%s\""
  10.859 +msgstr "Список пакетов архитектуры %s в репозитории «%s»"
  10.860 +
  10.861 +#: cook:1150
  10.862 +msgid "%s package"
  10.863 +msgid_plural "%s packages"
  10.864 +msgstr[0] "%s пакет"
  10.865 +msgstr[1] "%s пакета"
  10.866 +msgstr[2] "%s пакетов"
  10.867 +
  10.868 +#: cook:1159
  10.869 +msgid "Search results for \"%s\""
  10.870 +msgstr "Результаты поиска «%s»"
  10.871 +
  10.872 +#: cook:1166
  10.873  msgid "Cook: setup environment"
  10.874  msgstr "Cook: настройка окружения"
  10.875  
  10.876 -#: cook:1060
  10.877 +#: cook:1167
  10.878  msgid "Setting up your environment"
  10.879  msgstr "Настройка окружения"
  10.880  
  10.881 -#: cook:1063
  10.882 +#: cook:1170
  10.883  msgid "Checking for packages to install..."
  10.884  msgstr "Подготовка к установке пакетов…"
  10.885  
  10.886 -#: cook:1069
  10.887 -msgid "ERROR: cross is not installed"
  10.888 -msgstr "ОШИБКА: cross не установлен"
  10.889 +#: cook:1176
  10.890 +msgid "ERROR: %s is not installed"
  10.891 +msgstr "ОШИБКА: %s не установлен"
  10.892  
  10.893 -#: cook:1072
  10.894 -msgid "Using config file: /etc/slitaz/cross.conf"
  10.895 -msgstr "Использование файла параметров: /etc/slitaz/cross.conf"
  10.896 +#: cook:1179
  10.897 +msgid "Using config file: %s"
  10.898 +msgstr "Использование файла параметров: %s"
  10.899  
  10.900 -#: cook:1097
  10.901 -msgid "Adding group: slitaz"
  10.902 -msgstr "Добавление группы «slitaz»"
  10.903 +#: cook:1200
  10.904 +msgid "Adding group \"%s\""
  10.905 +msgstr "Добавление группы «%s»"
  10.906  
  10.907 -#: cook:1100
  10.908 -msgid "Setting permissions for slitaz group..."
  10.909 -msgstr "Установка прав доступа для группы «slitaz»…"
  10.910 +#: cook:1203
  10.911 +msgid "Setting permissions for group \"%s\"..."
  10.912 +msgstr "Установка прав доступа для группы «%s»…"
  10.913  
  10.914 -#: cook:1103
  10.915 +#: cook:1206
  10.916  msgid "All done, ready to cook packages :-)"
  10.917  msgstr "Хорошо, теперь можно собирать пакеты :-)"
  10.918  
  10.919 -#: cook:1116
  10.920 -#, sh-format
  10.921 -msgid "Cook: setup $arch cross environment"
  10.922 -msgstr "Cook: настройка кросс-окружения $arch"
  10.923 +#: cook:1221
  10.924 +msgid "Cook: setup %s cross environment"
  10.925 +msgstr "Cook: настройка кросс-окружения %s"
  10.926  
  10.927 -#: cook:1117
  10.928 -#, sh-format
  10.929 -msgid "Setting up your $arch cross environment"
  10.930 -msgstr "Настройка кросс-окружения $arch"
  10.931 +#: cook:1222
  10.932 +msgid "Setting up your %s cross environment"
  10.933 +msgstr "Настройка кросс-окружения %s"
  10.934  
  10.935  #. L10n: keep the same width of translations to get a consistent view
  10.936 -#: cook:1148
  10.937 -#, sh-format
  10.938 -msgid "Target arch     : $ARCH"
  10.939 -msgstr "Целевая архитектура   : $ARCH"
  10.940 +#: cook:1251
  10.941 +msgid "Target arch     : %s"
  10.942 +msgstr "Целевая архитектура   : %s"
  10.943  
  10.944 -#: cook:1149
  10.945 -#, sh-format
  10.946 -msgid "Configure args  : $CONFIGURE_ARGS"
  10.947 -msgstr "Параметры конфигурации: $CONFIGURE_ARGS"
  10.948 +#: cook:1252
  10.949 +msgid "Configure args  : %s"
  10.950 +msgstr "Параметры конфигурации: %s"
  10.951  
  10.952 -#: cook:1150
  10.953 -#, sh-format
  10.954 -msgid "Build flags     : $flags"
  10.955 -msgstr "Флаги сборки          : $flags"
  10.956 +#: cook:1253
  10.957 +msgid "Build flags     : %s"
  10.958 +msgstr "Флаги сборки          : %s"
  10.959  
  10.960 -#: cook:1151
  10.961 -#, sh-format
  10.962 -msgid "Arch sysroot    : $sysroot"
  10.963 -msgstr "Sysroot архитектуры   : $sysroot"
  10.964 +#: cook:1254
  10.965 +msgid "Arch sysroot    : %s"
  10.966 +msgstr "Sysroot архитектуры   : %s"
  10.967  
  10.968 -#: cook:1152
  10.969 -#, sh-format
  10.970 -msgid "Tools prefix    : $tools/bin"
  10.971 -msgstr "Префикс инструментов  : $tools/bin"
  10.972 +#: cook:1255
  10.973 +msgid "Tools prefix    : %s"
  10.974 +msgstr "Префикс инструментов  : %s"
  10.975  
  10.976 -#: cook:1154
  10.977 -#, sh-format
  10.978 -msgid "Packages DB     : ${root}$DB"
  10.979 -msgstr "База данных пакетов   : ${root}$DB"
  10.980 +#: cook:1257
  10.981 +msgid "Packages DB     : %s"
  10.982 +msgstr "База данных пакетов   : %s"
  10.983  
  10.984 -#: cook:1165
  10.985 -msgid "WARNING: (e)glibc-base is not installed in sysroot"
  10.986 -msgstr "ПРЕДУПРЕЖДЕНИЕ: пакет (e)glibc-base не установлен в sysroot"
  10.987 +#: cook:1268
  10.988 +msgid "WARNING: %s is not installed in sysroot"
  10.989 +msgstr "ПРЕДУПРЕЖДЕНИЕ: пакет %s не установлен в sysroot"
  10.990  
  10.991 -#: cook:1169
  10.992 -#, sh-format
  10.993 -msgid "Cross compiler  : ${HOST_SYSTEM}-gcc"
  10.994 -msgstr "Кросс-компилятор      : ${HOST_SYSTEM}-gcc"
  10.995 +#: cook:1272
  10.996 +msgid "Cross compiler  : %s"
  10.997 +msgstr "Кросс-компилятор      : %s"
  10.998  
  10.999 -#: cook:1171
 10.1000 -#, sh-format
 10.1001 -msgid "C compiler is missing: ${HOST_SYSTEM}-gcc"
 10.1002 -msgstr "Отсутствует компилятор Си «${HOST_SYSTEM}-gcc»"
 10.1003 +#: cook:1274
 10.1004 +msgid "C compiler \"%s\" is missing"
 10.1005 +msgstr "Отсутствует компилятор Си «%s»"
 10.1006  
 10.1007 -#: cook:1172
 10.1008 -msgid "Run 'cross compile' to cook a toolchain"
 10.1009 -msgstr "Запустите «cross compile» для приготовления тулчейна"
 10.1010 +#: cook:1275
 10.1011 +msgid "Run \"%s\" to cook a toolchain"
 10.1012 +msgstr "Запустите «%s» для приготовления тулчейна"
 10.1013  
 10.1014 -#: cook:1177
 10.1015 +#: cook:1281
 10.1016  msgid "Cook test: testing the cook environment"
 10.1017  msgstr "Тест cook: проверка окружения cook"
 10.1018  
 10.1019 -#: cook:1187
 10.1020 -#, sh-format
 10.1021 -msgid "$pkg package already exists."
 10.1022 -msgstr "Пакет $pkg уже существует."
 10.1023 +#: cook:1292
 10.1024 +msgid "Package \"%s\" already exists."
 10.1025 +msgstr "Пакет «%s» уже существует."
 10.1026  
 10.1027 -#: cook:1190
 10.1028 -#, sh-format
 10.1029 -msgid "Creating $WOK/$pkg"
 10.1030 -msgstr "Создание папки $WOK/$pkg"
 10.1031 +#: cook:1296
 10.1032 +msgid "Creating folder \"%s\""
 10.1033 +msgstr "Создание папки «%s»"
 10.1034  
 10.1035 -#: cook:1192
 10.1036 +#: cook:1299
 10.1037  msgid "Preparing the package receipt..."
 10.1038  msgstr "Подготовка рецепта пакета…"
 10.1039  
 10.1040 -#: cook:1200
 10.1041 +#: cook:1307
 10.1042  msgid "Entering interactive mode..."
 10.1043  msgstr "Интерактивный режим создания рецепта"
 10.1044  
 10.1045 -#: cook:1202
 10.1046 -#, sh-format
 10.1047 -msgid "Package       : $pkg"
 10.1048 -msgstr "Пакет         : $pkg"
 10.1049 +#: cook:1309
 10.1050 +msgid "Package       : %s"
 10.1051 +msgstr "Пакет         : %s"
 10.1052  
 10.1053 -#: cook:1203
 10.1054 +#: cook:1311
 10.1055  msgid "Version       : "
 10.1056  msgstr "Версия        : "
 10.1057  
 10.1058 -#: cook:1205
 10.1059 +#: cook:1314
 10.1060  msgid "Category      : "
 10.1061  msgstr "Категория     : "
 10.1062  
 10.1063  #. L10n: Short description
 10.1064 -#: cook:1208
 10.1065 +#: cook:1318
 10.1066  msgid "Short desc    : "
 10.1067  msgstr "Кратк.описание: "
 10.1068  
 10.1069 -#: cook:1210
 10.1070 +#: cook:1321
 10.1071  msgid "Maintainer    : "
 10.1072  msgstr "Сопровождающий: "
 10.1073  
 10.1074 -#: cook:1212
 10.1075 +#: cook:1324
 10.1076  msgid "License       : "
 10.1077  msgstr "Лицензия      : "
 10.1078  
 10.1079 -#: cook:1214
 10.1080 +#: cook:1327
 10.1081  msgid "Web site      : "
 10.1082  msgstr "Сайт          : "
 10.1083  
 10.1084 -#: cook:1218
 10.1085 +#: cook:1332
 10.1086  msgid "Wget URL to download source tarball."
 10.1087  msgstr "Адрес загрузки архива с исходниками."
 10.1088  
 10.1089 -#: cook:1219
 10.1090 +#: cook:1333
 10.1091  msgid "Example  : "
 10.1092  msgstr "Пример        : "
 10.1093  
 10.1094 -#: cook:1220
 10.1095 +#: cook:1334
 10.1096  msgid "Wget url : "
 10.1097  msgstr "Исходники     : "
 10.1098  
 10.1099 -#: cook:1223
 10.1100 -msgid "Do you need a stuff directory? (y/N) : "
 10.1101 -msgstr "Нужна ли папка stuff? (y/N) : "
 10.1102 +#: cook:1338
 10.1103 +msgid "Do you need a stuff directory? (y/N)"
 10.1104 +msgstr "Нужна ли папка stuff? (y/N)"
 10.1105  
 10.1106 -#: cook:1225
 10.1107 +#: cook:1340
 10.1108  msgid "Creating the stuff directory..."
 10.1109  msgstr "Создание папки stuff…"
 10.1110  
 10.1111 -#: cook:1229
 10.1112 -msgid "Are you going to write a description? (y/N) : "
 10.1113 -msgstr "Хотите ли написать расширенное описание? (y/N) : "
 10.1114 +#: cook:1345
 10.1115 +msgid "Are you going to write a description? (y/N)"
 10.1116 +msgstr "Хотите ли написать расширенное описание? (y/N)"
 10.1117  
 10.1118 -#: cook:1231
 10.1119 -msgid "Creating the description.txt file..."
 10.1120 -msgstr "Создание файла description.txt…"
 10.1121 +#: cook:1347
 10.1122 +msgid "Creating the \"%s\" file..."
 10.1123 +msgstr "Создание файла «%s»…"
 10.1124  
 10.1125 -#: cook:1234
 10.1126 +#: cook:1351
 10.1127  msgid "Receipt is ready to use."
 10.1128  msgstr "Рецепт готов к использованию."
 10.1129  
 10.1130 -#: cook:1240
 10.1131 +#: cook:1359
 10.1132  msgid "No list in argument."
 10.1133  msgstr "Не указан файл списка."
 10.1134  
 10.1135 -#: cook:1242
 10.1136 -#, sh-format
 10.1137 -msgid "No list found: $list2"
 10.1138 -msgstr "Список «$list2» не обнаружен."
 10.1139 +#: cook:1363
 10.1140 +msgid "List \"%s\" not found."
 10.1141 +msgstr "Список «%s» не обнаружен."
 10.1142  
 10.1143 -#: cook:1243
 10.1144 -#, sh-format
 10.1145 -msgid "Cook list starting: $list2"
 10.1146 -msgstr "Приготовление пакетов из списка «$list2»"
 10.1147 +#: cook:1367
 10.1148 +msgid "Starting cooking the list \"%s\""
 10.1149 +msgstr "Приготовление пакетов из списка «%s»"
 10.1150  
 10.1151 -#: cook:1250
 10.1152 +#: cook:1375
 10.1153  msgid "Cleaning all packages files..."
 10.1154  msgstr "Очистка файлов всех пакетов…"
 10.1155  
 10.1156 -#: cook:1255
 10.1157 +#: cook:1381
 10.1158  msgid "Cleaning all packages sources..."
 10.1159  msgstr "Очистка распакованных исходников всех пакетов…"
 10.1160  
 10.1161 -#: cook:1268
 10.1162 -msgid "Packages directory doesn't exist"
 10.1163 -msgstr "Папка пакета не существует"
 10.1164 +#: cook:1388
 10.1165 +msgid "Checking for uncooked packages"
 10.1166 +msgstr "Проверка несобранных пакетов"
 10.1167  
 10.1168 -#: cook:1275
 10.1169 +#: cook:1401
 10.1170 +msgid "Package \"%s\""
 10.1171 +msgstr "Пакет «%s»"
 10.1172 +
 10.1173 +#: cook:1420
 10.1174 +msgid "%s uncooked package"
 10.1175 +msgid_plural "%s uncooked packages"
 10.1176 +msgstr[0] "%s несобранный пакет"
 10.1177 +msgstr[1] "%s несобранных пакета"
 10.1178 +msgstr[2] "%s несобранных пакетов"
 10.1179 +
 10.1180 +#: cook:1422
 10.1181 +msgid "All packages are cooked :-)"
 10.1182 +msgstr "Все пакеты собраны :-)"
 10.1183 +
 10.1184 +#: cook:1435
 10.1185 +msgid "Packages directory \"%s\" doesn't exist"
 10.1186 +msgstr "Папка пакетов «%s» отсутствует"
 10.1187 +
 10.1188 +#: cook:1445
 10.1189  msgid "Cook pkgdb: Creating all packages lists"
 10.1190  msgstr "Cook pkgdb: создание списков всех пакетов"
 10.1191  
 10.1192 -#: cook:1276
 10.1193 -#, sh-format
 10.1194 -msgid "Creating lists for: $PKGS"
 10.1195 -msgstr "Создание списков для «$PKGS»"
 10.1196 +#: cook:1446
 10.1197 +msgid "Creating lists for \"%s\""
 10.1198 +msgstr "Создание списков для «%s»"
 10.1199  
 10.1200 -#: cook:1278
 10.1201 -#, sh-format
 10.1202 -msgid "Cook pkgdb started: $datenow"
 10.1203 -msgstr "Начало создания базы данных пакетов: $datenow"
 10.1204 +#: cook:1448
 10.1205 +msgid "Cook pkgdb started: %s"
 10.1206 +msgstr "Начало создания базы данных пакетов: %s"
 10.1207  
 10.1208 -#: cook:1281
 10.1209 -msgid "Creating: packages.list"
 10.1210 -msgstr "Создание «packages.list»"
 10.1211 +#: cook:1454 cook:1457 cook:1523 cook:1535 cook:1540
 10.1212 +msgid "Creating file \"%s\""
 10.1213 +msgstr "Создание файла «%s»"
 10.1214  
 10.1215 -#: cook:1283
 10.1216 -msgid "Creating: packages.md5"
 10.1217 -msgstr "Создание «packages.md5»"
 10.1218 +#: cook:1463
 10.1219 +msgid "Creating lists from \"%s\""
 10.1220 +msgstr "Создание списков пакетов из «%s»"
 10.1221  
 10.1222 -#: cook:1286
 10.1223 -#, sh-format
 10.1224 -msgid "Creating lists from: $WOK"
 10.1225 -msgstr "Создание списков пакетов из $WOK"
 10.1226 -
 10.1227 -#: cook:1328
 10.1228 -msgid "Done: packages.desc"
 10.1229 -msgstr "Файл «packages.desc» готов."
 10.1230 -
 10.1231 -#: cook:1329
 10.1232 -msgid "Done: packages.txt"
 10.1233 -msgstr "Файл «packages.txt» готов."
 10.1234 -
 10.1235 -#: cook:1330
 10.1236 -msgid "Done: packages.equiv"
 10.1237 -msgstr "Файл «packages.equiv» готов."
 10.1238 -
 10.1239 -#: cook:1333
 10.1240 -msgid "Creating: files.list.lzma"
 10.1241 -msgstr "Создание файла «files.list.lzma»"
 10.1242 +#: cook:1516 cook:1517 cook:1518 cook:1529 cook:1547
 10.1243 +msgid "Done: %s (%s)"
 10.1244 +msgstr "Файл «%s» готов (%s)."
 10.1245  
 10.1246  #. L10n: 's' is for seconds (cooking time)
 10.1247 -#: cook:1342
 10.1248 -#, sh-format
 10.1249 -msgid "Packages: $nb - Time: ${time}s"
 10.1250 -msgstr "Пакетов: $nb - время: $time с"
 10.1251 +#: cook:1554
 10.1252 +msgid "Packages: %s - Time: %ss"
 10.1253 +msgstr "Пакетов: %s - время: %s с"
 10.1254  
 10.1255 -#: cook:1348
 10.1256 -#, sh-format
 10.1257 -msgid "Missing flavors: $flavors"
 10.1258 -msgstr "Отсутствуют редакции $flavors"
 10.1259 +#: cook:1563
 10.1260 +msgid "Missing flavors folder \"%s\""
 10.1261 +msgstr "Отсутствует папка редакций «%s»"
 10.1262  
 10.1263 -#: cook:1350
 10.1264 -#, sh-format
 10.1265 -msgid "Creating flavors files in: $live"
 10.1266 -msgstr "Создание редакций в $live"
 10.1267 +#: cook:1568
 10.1268 +msgid "Creating flavors files in \"%s\""
 10.1269 +msgstr "Создание редакций в «%s»"
 10.1270  
 10.1271 -#: cook:1351
 10.1272 +#: cook:1569
 10.1273  msgid "Cook pkgdb: Creating all flavors"
 10.1274  msgstr "Cook pkgdb: создание всех редакций"
 10.1275  
 10.1276 -#: cook:1353
 10.1277 +#: cook:1572
 10.1278  msgid "Recharging lists to use latest packages..."
 10.1279  msgstr "Обновление списков для использования свежих пакетов…"
 10.1280  
 10.1281 -#: cook:1358
 10.1282 -msgid "Creating configuration file: tazlito.conf"
 10.1283 -msgstr "Создание файла концигурации «tazlito.conf»"
 10.1284 +#: cook:1577
 10.1285 +msgid "Creating configuration file \"%s\""
 10.1286 +msgstr "Создание файла конфигурации «%s»"
 10.1287  
 10.1288 -#: cook:1368
 10.1289 +#: cook:1589
 10.1290  msgid "Starting to generate flavors..."
 10.1291  msgstr "Начало создания редакций…"
 10.1292  
 10.1293 -#: cook:1373
 10.1294 -#, sh-format
 10.1295 -msgid "Packing flavor: $fl"
 10.1296 -msgstr "Упаковка редакции «$fl»"
 10.1297 +#: cook:1593
 10.1298 +msgid "Packing flavor \"%s\""
 10.1299 +msgstr "Упаковка редакции «%s»"
 10.1300  
 10.1301 -#: cook:1381
 10.1302 -#, sh-format
 10.1303 -msgid "Flavors size: $fl_size"
 10.1304 -msgstr "Размер редакции: $fl_size"
 10.1305 +#: cook:1599
 10.1306 +msgid "Total flavors size: %s"
 10.1307 +msgstr "Суммарный размер редакций: %s"
 10.1308  
 10.1309 -#: cook:1385
 10.1310 -#, sh-format
 10.1311 -msgid "Cook pkgdb end: $datenow"
 10.1312 -msgstr "База данных пакетов создана: $datenow"
 10.1313 +#: cook:1602
 10.1314 +msgid "Cook pkgdb end: %s"
 10.1315 +msgstr "База данных пакетов создана: %s"
 10.1316  
 10.1317 -#: cook:1412
 10.1318 -#, sh-format
 10.1319 -msgid "cook: HOST_ARCH is not set in $pkg receipt"
 10.1320 -msgstr "cook: переменная HOST_ARCH не указана в рецепте пакета «$pkg»"
 10.1321 +#: cook:1622
 10.1322 +msgid "cook: HOST_ARCH is not set in \"%s\" receipt"
 10.1323 +msgstr "cook: переменная HOST_ARCH не указана в рецепте пакета «%s»"
 10.1324  
 10.1325 -#: cook:1413
 10.1326 -#, sh-format
 10.1327 -msgid "cook: This package is not included in: $ARCH"
 10.1328 -msgstr "cook: этот пакет не включен в $ARCH"
 10.1329 +#: cook:1623
 10.1330 +msgid "package \"%s\" is not included in %s"
 10.1331 +msgstr "пакет %s не включен в %s"
 10.1332  
 10.1333 -#: cook:1414
 10.1334 -#: cook:1425
 10.1335 -#, sh-format
 10.1336 -msgid "bugs: $CROSS_BUGS"
 10.1337 -msgstr "bugs: $CROSS_BUGS"
 10.1338 +#: cook:1624 cook:1637 cook:1639
 10.1339 +msgid "cook: %s"
 10.1340 +msgstr "cook: %s"
 10.1341  
 10.1342 -#: cook:1415
 10.1343 -#, sh-format
 10.1344 -msgid "Cook skip: $pkg is not included in: $ARCH"
 10.1345 -msgstr "Пропуск: пакет $pkg не включен в $ARCH"
 10.1346 +#: cook:1625 cook:1640
 10.1347 +msgid "bugs: %s"
 10.1348 +msgstr "bugs: %s"
 10.1349  
 10.1350 -#: cook:1423
 10.1351 -#, sh-format
 10.1352 -msgid "cook: HOST_ARCH=$HOST_ARCH"
 10.1353 -msgstr "cook: HOST_ARCH=$HOST_ARCH"
 10.1354 +#: cook:1626 cook:1641
 10.1355 +msgid "Cook skip: %s"
 10.1356 +msgstr "Пропуск: %s"
 10.1357  
 10.1358 -#: cook:1424
 10.1359 -#, sh-format
 10.1360 -msgid "cook: $pkg doesn't cook or is not included in: $ARCH"
 10.1361 -msgstr "cook: пакет $pkg не приготовлен либо не включен в $ARCH"
 10.1362 +#: cook:1634
 10.1363 +msgid "Host arch %s"
 10.1364 +msgstr "Архитектура хоста %s"
 10.1365  
 10.1366 -#: cook:1426
 10.1367 -#, sh-format
 10.1368 -msgid "Cook skip: $pkg doesn't cook or is not included in: $ARCH"
 10.1369 -msgstr "Пропуск: пакет $pkg не приготовлен либо не включен в $ARCH"
 10.1370 +#: cook:1638
 10.1371 +msgid "package \"%s\" doesn't cook or is not included in %s"
 10.1372 +msgstr "пакет «%s» не удается приготовить либо он не включен в %s"
 10.1373  
 10.1374 -#: cook:1432
 10.1375 -#, sh-format
 10.1376 -msgid "Blocked package: $pkg"
 10.1377 -msgstr "Пакет $pkg заблокирован"
 10.1378 +#: cook:1649
 10.1379 +msgid "Package \"%s\" is blocked"
 10.1380 +msgstr "Пакет «%s» заблокирован"
 10.1381  
 10.1382 -#: cook:1439
 10.1383 -#, sh-format
 10.1384 -msgid "Cook started for: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
 10.1385 -msgstr "Начато приготовление <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
 10.1386 +#: cook:1656
 10.1387 +msgid "Cook started for: %s"
 10.1388 +msgstr "Начато приготовление %s"
 10.1389  
 10.1390 -#: cook:1450
 10.1391 -#, sh-format
 10.1392 -msgid "Cleaning: $pkg"
 10.1393 -msgstr "Очистка пакета «$pkg»"
 10.1394 +#: cook:1667
 10.1395 +msgid "Cleaning \"%s\""
 10.1396 +msgstr "Очистка «%s»"
 10.1397  
 10.1398 -#: cook:1456
 10.1399 -#, sh-format
 10.1400 -msgid "Getting source for: $pkg"
 10.1401 -msgstr "Загрузка исходников для «$pkg»"
 10.1402 +#: cook:1676
 10.1403 +msgid "Getting source for \"%s\""
 10.1404 +msgstr "Загрузка исходников для «%s»"
 10.1405  
 10.1406 -#: cook:1458
 10.1407 -#, sh-format
 10.1408 -msgid "Tarball: $SRC/$TARBALL"
 10.1409 -msgstr "Архив исходников: $SRC/$TARBALL"
 10.1410 +#: cook:1678
 10.1411 +msgid "Tarball: %s"
 10.1412 +msgstr "Архив исходников: %s"
 10.1413  
 10.1414 -#: cook:1461
 10.1415 -#, sh-format
 10.1416 -msgid "Blocking: $pkg"
 10.1417 -msgstr "Блокировка пакета «$pkg»"
 10.1418 +#: cook:1682
 10.1419 +msgid "Blocking package \"%s\""
 10.1420 +msgstr "Блокировка пакета «%s»"
 10.1421  
 10.1422 -#: cook:1465
 10.1423 -#, sh-format
 10.1424 -msgid "Unblocking: $pkg"
 10.1425 -msgstr "Снятие блокировки пакета «$pkg»"
 10.1426 +#: cook:1688
 10.1427 +msgid "Unblocking package \"%s\""
 10.1428 +msgstr "Снятие блокировки пакета «%s»"
 10.1429  
 10.1430 -#: cook:1475
 10.1431 -#: cook:1479
 10.1432 -#, sh-format
 10.1433 -msgid "Need to build $pkg."
 10.1434 -msgstr "Пакет $pkg сначала нужно собрать."
 10.1435 +#: cook:1700 cook:1707
 10.1436 +msgid "Need to build \"%s\""
 10.1437 +msgstr "Пакет «%s» сначала нужно собрать"
 10.1438  
 10.1439 -#: cook:1480
 10.1440 +#: cook:1711
 10.1441  msgid "Checking depends"
 10.1442  msgstr "Проверка зависимостей"
 10.1443  
 10.1444 -#: cook:1507
 10.1445 -#, sh-format
 10.1446 -msgid "WANTED package is blocked: $wanted"
 10.1447 -msgstr "Требуемый пакет «$wanted» заблокирован"
 10.1448 +#: cook:1742
 10.1449 +msgid "WANTED package \"%s\" is blocked"
 10.1450 +msgstr "Требуемый пакет «%s» заблокирован"
 10.1451  
 10.1452 -#: cook:1511
 10.1453 -#, sh-format
 10.1454 -msgid "WANTED package is broken: $wanted"
 10.1455 -msgstr "Требуемый пакет «$wanted» сломан"
 10.1456 -
 10.1457 -#~ msgid "Packages: $pkg_total"
 10.1458 -#~ msgstr "Пакетов: $pkg_total"
 10.1459 +#: cook:1748
 10.1460 +msgid "WANTED package \"%s\" is broken"
 10.1461 +msgstr "Требуемый пакет «%s» сломан"
    11.1 --- a/po/zh_CN.po	Sun May 03 19:43:46 2015 +0300
    11.2 +++ b/po/zh_CN.po	Thu May 07 15:11:47 2015 +0300
    11.3 @@ -7,7 +7,7 @@
    11.4  msgstr ""
    11.5  "Project-Id-Version: Cook 3.2\n"
    11.6  "Report-Msgid-Bugs-To: \n"
    11.7 -"POT-Creation-Date: 2014-03-05 15:28+0200\n"
    11.8 +"POT-Creation-Date: 2015-05-07 12:52+0300\n"
    11.9  "PO-Revision-Date: 2014-07-20 10:34+0800\n"
   11.10  "Last-Translator: rhsky <rhsky@qq.com>\n"
   11.11  "Language-Team: \n"
   11.12 @@ -19,12 +19,16 @@
   11.13  "X-Generator: Poedit 1.6.5\n"
   11.14  
   11.15  #: cook:32
   11.16 -msgid "\\033[1mUsage:\\033[0m cook [package|command] [list|--option]"
   11.17 -msgstr "\\033[1m用法:\\033[0m cook [package|command] [list|--option]"
   11.18 +msgid "Usage:"
   11.19 +msgstr "用法:"
   11.20 +
   11.21 +#: cook:32
   11.22 +msgid "cook [package|command] [list|--option]"
   11.23 +msgstr "cook [package|command] [list|--option]"
   11.24  
   11.25  #: cook:34
   11.26 -msgid "\\033[1mCommands:\\033[0m"
   11.27 -msgstr "\\033[1m命令:\\033[0m"
   11.28 +msgid "Commands:"
   11.29 +msgstr "命令:"
   11.30  
   11.31  #: cook:35
   11.32  msgid "Display this short usage."
   11.33 @@ -38,910 +42,795 @@
   11.34  msgid "Setup a cross environment."
   11.35  msgstr "设置交叉环境"
   11.36  
   11.37 -#: cook:38
   11.38 +#: cook:39
   11.39  msgid "Test environment and cook a package."
   11.40  msgstr "打包测试环境"
   11.41  
   11.42 -#: cook:39
   11.43 +#: cook:40
   11.44  msgid "List packages in the wok."
   11.45  msgstr "列出wok库内的包"
   11.46  
   11.47 -#: cook:40
   11.48 +#: cook:41
   11.49  msgid "Simple packages search function."
   11.50  msgstr "包搜索"
   11.51  
   11.52 -#: cook:41
   11.53 +#: cook:42
   11.54  msgid "Create a new package with a receipt."
   11.55  msgstr "根据清单创建新包"
   11.56  
   11.57 -#: cook:42
   11.58 +#: cook:43
   11.59  msgid "Cook a list of packages."
   11.60  msgstr "打包清单内的包(packages)"
   11.61  
   11.62 -#: cook:43
   11.63 +#: cook:44
   11.64  msgid "Clean-up all packages files."
   11.65  msgstr "清理所有包文件"
   11.66  
   11.67 -#: cook:44
   11.68 +#: cook:45
   11.69  msgid "Clean-up all packages sources."
   11.70  msgstr "清理所有包源文档"
   11.71  
   11.72 -#: cook:45
   11.73 +#: cook:46
   11.74 +msgid "Check for uncooked packages"
   11.75 +msgstr ""
   11.76 +
   11.77 +#: cook:47
   11.78  msgid "Create packages DB lists and flavors."
   11.79  msgstr "创建包数据库清单及设置"
   11.80  
   11.81 -#: cook:47
   11.82 -msgid "\\033[1mOptions:\\033[0m"
   11.83 -msgstr "\\033[1m选项:\\033[0m"
   11.84 +#: cook:49
   11.85 +msgid "Options:"
   11.86 +msgstr "选项:"
   11.87  
   11.88 -#: cook:48
   11.89 +#: cook:51
   11.90  msgid "clean the package in the wok."
   11.91  msgstr "清除wok库内的包"
   11.92  
   11.93 -#: cook:49
   11.94 +#: cook:52
   11.95  msgid "cook and install the package."
   11.96  msgstr "编成及安装包"
   11.97  
   11.98 -#: cook:50
   11.99 +#: cook:53
  11.100  msgid "get the package source tarball."
  11.101  msgstr "取得包源压缩包(tarball)"
  11.102  
  11.103 -#: cook:51
  11.104 +#: cook:54
  11.105  msgid "block a package so cook will skip it."
  11.106  msgstr "封锁及在建成时跳过包"
  11.107  
  11.108 -#: cook:52
  11.109 +#: cook:55
  11.110  msgid "unblock a blocked package."
  11.111  msgstr "取消封锁包"
  11.112  
  11.113 -#: cook:53
  11.114 +#: cook:56
  11.115  msgid "check dependencies of cooked package."
  11.116  msgstr "检查当前包的依赖"
  11.117  
  11.118 -#: cook:54
  11.119 +#: cook:57
  11.120  msgid "repack an already built package."
  11.121  msgstr "重新打包"
  11.122  
  11.123 -#: cook:55
  11.124 +#: cook:58
  11.125 +msgid "display debugging messages."
  11.126 +msgstr ""
  11.127 +
  11.128 +#: cook:59
  11.129 +msgid "continue running compile_rules."
  11.130 +msgstr ""
  11.131 +
  11.132 +#: cook:61
  11.133  msgid "create a receipt interactively."
  11.134  msgstr "互动地创建清单"
  11.135  
  11.136 -#: cook:56
  11.137 +#: cook:63
  11.138  msgid "clone the cooking wok from Hg repo."
  11.139  msgstr "由Hg repo.克隆 cooking wok"
  11.140  
  11.141 -#: cook:57
  11.142 +#: cook:64
  11.143  msgid "clone the stable wok from Hg repo."
  11.144  msgstr "由Hg repo.克隆 stable wok"
  11.145  
  11.146 -#: cook:58
  11.147 +#: cook:65
  11.148  msgid "clone the undigest wok from Hg repo."
  11.149  msgstr "由Hg repo.克隆 undigest wok"
  11.150  
  11.151 -#: cook:59
  11.152 +#: cook:66
  11.153  msgid "clone the tiny SliTaz wok from Hg repo."
  11.154  msgstr "由Hg repo.克隆 tiny wok"
  11.155  
  11.156 -#: cook:60
  11.157 +#: cook:67
  11.158  msgid "force reinstall of chroot packages."
  11.159  msgstr "强制重新安装chroot包"
  11.160  
  11.161 -#: cook:61
  11.162 +#: cook:69
  11.163  msgid "create up-to-date flavors files."
  11.164  msgstr "创建最新的偏好文件"
  11.165  
  11.166 -#: cook:76
  11.167 -#, sh-format
  11.168 -msgid "Unable to find package in the wok: $pkg"
  11.169 -msgstr "在wok内找不到包: $pkg"
  11.170 +#: cook:88
  11.171 +msgid "Unable to find package \"%s\" in the wok"
  11.172 +msgstr "在wok内找不到包:%s"
  11.173  
  11.174  #. L10n: QA is quality assurance
  11.175 -#: cook:84
  11.176 -#, sh-format
  11.177 -msgid "QA: empty variable: ${var}=\"\""
  11.178 -msgstr "QA: 空变量: ${var}=\"\""
  11.179 +#: cook:97
  11.180 +msgid "QA: empty variable: %s"
  11.181 +msgstr "QA:空变量:%s"
  11.182  
  11.183 -#: cook:91
  11.184 -#, sh-format
  11.185 -msgid "Creating directories structure in: $SLITAZ"
  11.186 -msgstr "正在创建包结构: $SLITAZ"
  11.187 +#: cook:106
  11.188 +msgid "Creating directories structure in \"%s\""
  11.189 +msgstr "正在创建包结构:%s"
  11.190  
  11.191 -#: cook:93
  11.192 -#, sh-format
  11.193 -msgid "Creating DB files in: $CACHE"
  11.194 -msgstr "在以下资料夹创建数库库文件: $CACHE "
  11.195 -
  11.196 -#: cook:102
  11.197 -msgid "QA: checking package receipt..."
  11.198 -msgstr "QA: 正在检查包清单"
  11.199 +#: cook:108
  11.200 +msgid "Creating DB files in \"%s\""
  11.201 +msgstr "在以下资料夹创建数库库文件:%s"
  11.202  
  11.203  #: cook:118
  11.204 -#, sh-format
  11.205 -msgid "QA: unknown category: $value"
  11.206 -msgstr "QA: unknown category: $value"
  11.207 +msgid "QA: checking package receipt..."
  11.208 +msgstr "QA:正在检查包清单"
  11.209  
  11.210 -#: cook:119
  11.211 -#, sh-format
  11.212 -msgid "Please, use one of: $valid"
  11.213 -msgstr "请用以下其中一项: $valid"
  11.214 +#: cook:133
  11.215 +msgid "QA: unknown category \"%s\""
  11.216 +msgstr ""
  11.217  
  11.218 -#: cook:128
  11.219 -#, sh-format
  11.220 -msgid "QA: unable to reach: $value"
  11.221 -msgstr "QA: 无法存取: $value"
  11.222 +#: cook:134
  11.223 +msgid "Please, use one of: %s"
  11.224 +msgstr "请用以下其中一项:%s"
  11.225  
  11.226 -#: cook:184
  11.227 -#, sh-format
  11.228 -msgid "Creating tarball: $tarball"
  11.229 -msgstr "创建tarball压缩包中: $tarball"
  11.230 +#: cook:144
  11.231 +msgid "QA: unable to reach \"%s\""
  11.232 +msgstr "QA:无法存取:%s"
  11.233  
  11.234 -#: cook:207 cook:211
  11.235 -#, sh-format
  11.236 -msgid "ERROR: wget $WGET_URL"
  11.237 -msgstr "错误: wget $WGET_URL"
  11.238 +#: cook:204
  11.239 +msgid "Creating tarball \"%s\""
  11.240 +msgstr "创建tarball压缩包中:%s"
  11.241  
  11.242 -#: cook:218
  11.243 -msgid "Getting source from Hg..."
  11.244 -msgstr "正在Hg中取得源文件"
  11.245 +#: cook:229 cook:234 cook:248 cook:250 cook:260 cook:330
  11.246 +msgid "ERROR: %s"
  11.247 +msgstr "错误:%s"
  11.248  
  11.249 -#: cook:219 cook:233 cook:245 cook:257
  11.250 -#, sh-format
  11.251 -msgid "URL: $url"
  11.252 -msgstr "URL: $url"
  11.253 +#: cook:242 cook:257 cook:272 cook:285 cook:296 cook:328
  11.254 +msgid "Getting source from %s..."
  11.255 +msgstr "正在%s中取得源文件"
  11.256  
  11.257 -#: cook:220
  11.258 -#, sh-format
  11.259 -msgid "Cloning to: $pwd/$pkgsrc"
  11.260 -msgstr "克隆到: $pwd/$pkgsrc"
  11.261 +#: cook:243 cook:258 cook:273 cook:286 cook:329
  11.262 +msgid "URL: %s"
  11.263 +msgstr ""
  11.264  
  11.265 -#: cook:222
  11.266 -#, sh-format
  11.267 -msgid "Hg branch: $BRANCH"
  11.268 -msgstr "Hg branch: $BRANCH"
  11.269 -
  11.270 -#: cook:224
  11.271 -#, sh-format
  11.272 -msgid "ERROR: hg clone $url --rev $BRANCH"
  11.273 -msgstr "错误: hg clone $url --rev $BRANCH"
  11.274 -
  11.275 -#: cook:226
  11.276 -#, sh-format
  11.277 -msgid "ERROR: hg clone $url"
  11.278 -msgstr "错误: hg clone $url"
  11.279 -
  11.280 -#: cook:232
  11.281 -msgid "Getting source from Git..."
  11.282 -msgstr "正在由git取得源文件"
  11.283 -
  11.284 -#: cook:234
  11.285 -#, sh-format
  11.286 -msgid "ERROR: git clone $url"
  11.287 -msgstr "错误: git clone $url"
  11.288 -
  11.289 -#: cook:236
  11.290 -#, sh-format
  11.291 -msgid "Git branch: $BRANCH"
  11.292 -msgstr "Git branch: $BRANCH"
  11.293 -
  11.294 -#: cook:244
  11.295 -msgid "Getting source from CVS..."
  11.296 -msgstr "正在由CVS取得源文件"
  11.297 +#: cook:244 cook:275
  11.298 +msgid "Cloning to \"%s\""
  11.299 +msgstr "克隆到:%s"
  11.300  
  11.301  #: cook:246
  11.302 -#, sh-format
  11.303 -msgid "CVS module: $mod"
  11.304 -msgstr "CVS 模组: $mod"
  11.305 +msgid "Hg branch: %s"
  11.306 +msgstr ""
  11.307  
  11.308 -#: cook:247
  11.309 -#, sh-format
  11.310 -msgid "Cloning to: $pwd/$mod"
  11.311 -msgstr "克隆到: $pwd/$mod"
  11.312 +#: cook:262
  11.313 +msgid "Git branch: %s"
  11.314 +msgstr ""
  11.315  
  11.316 -#: cook:256
  11.317 -msgid "Getting source from SVN..."
  11.318 -msgstr "正在由SVN取得源文件"
  11.319 +#: cook:274
  11.320 +msgid "CVS module: %s"
  11.321 +msgstr "CVS 模组:%s"
  11.322  
  11.323 -#: cook:266
  11.324 -msgid "Getting source from bazaar..."
  11.325 -msgstr "正在由bazaar取得源文件"
  11.326 -
  11.327 -#: cook:276
  11.328 +#: cook:306
  11.329  msgid "Don't forget to add to receipt:"
  11.330  msgstr "记得要加到清单"
  11.331  
  11.332 -#: cook:283
  11.333 -#, sh-format
  11.334 -msgid "ERROR: Unable to handle: $WGET_URL"
  11.335 -msgstr "错误: 无法处理: $WGET_URL"
  11.336 +#: cook:314
  11.337 +msgid "ERROR: Unable to handle \"%s\""
  11.338 +msgstr "错误:无法处理:%s"
  11.339  
  11.340 -#: cook:295
  11.341 -#, sh-format
  11.342 -msgid "Getting source from mirror: $url"
  11.343 -msgstr "正在由镜像取得源文件: $url"
  11.344 +#: cook:332
  11.345 +msgid "Extracting source archive \"%s\""
  11.346 +msgstr "正在解压:%s"
  11.347  
  11.348 -#: cook:296
  11.349 -#, sh-format
  11.350 -msgid "ERROR: wget $url"
  11.351 -msgstr "错误: wget $url"
  11.352 +#. L10n: 'm' is for minutes (approximate cooking time)
  11.353 +#: cook:367
  11.354 +msgid "~ %dm"
  11.355 +msgstr "~ %dm"
  11.356  
  11.357 -#: cook:298
  11.358 -#, sh-format
  11.359 -msgid "Extracting: $TARBALL"
  11.360 -msgstr "正在解压: $TARBALL"
  11.361 +#: cook:370
  11.362 +msgid "Summary for: %s"
  11.363 +msgstr "包摘要:%s"
  11.364 +
  11.365 +#. L10n: keep the same width of translations to get a consistent view
  11.366 +#: cook:374
  11.367 +msgid "Source dir  : %s"
  11.368 +msgstr "源路径:%s"
  11.369 +
  11.370 +#: cook:375
  11.371 +msgid "Src file    : %s"
  11.372 +msgstr "源文件:%s"
  11.373 +
  11.374 +#: cook:376
  11.375 +msgid "Src size    : %s"
  11.376 +msgstr "源大小:%s"
  11.377 +
  11.378 +#: cook:377
  11.379 +msgid "Produced    : %s"
  11.380 +msgstr "已产生:%s"
  11.381 +
  11.382 +#: cook:378
  11.383 +msgid "Packed      : %s"
  11.384 +msgstr "已打包:%s"
  11.385 +
  11.386 +#: cook:379
  11.387 +msgid "Compressed  : %s"
  11.388 +msgstr "已压缩:%s"
  11.389 +
  11.390 +#: cook:380
  11.391 +msgid "Files       : %s"
  11.392 +msgstr "文件:%s"
  11.393 +
  11.394 +#. L10n: 's' is for seconds (cooking time)
  11.395 +#: cook:382
  11.396 +msgid "Cook time   : %ds %s"
  11.397 +msgstr "生成时间:%ds %s"
  11.398 +
  11.399 +#: cook:383
  11.400 +msgid "Cook date   : %s"
  11.401 +msgstr "生成日期:%s"
  11.402 +
  11.403 +#: cook:383 cook:395 cook:1448 cook:1602
  11.404 +msgid "+%%F %%R"
  11.405 +msgstr "+%%F %%R"
  11.406 +
  11.407 +#: cook:384
  11.408 +msgid "Host arch   : %s"
  11.409 +msgstr "主机架构:%s"
  11.410 +
  11.411 +#: cook:392
  11.412 +msgid "Debug information"
  11.413 +msgstr "除错资讯"
  11.414  
  11.415  #. L10n: specify your format of date and time (to help: man date)
  11.416  #. L10n: not bad one is '+%x %R'
  11.417 -#: cook:322 cook:349 cook:1277 cook:1384
  11.418 -msgid "+%Y-%m-%d %H:%M"
  11.419 -msgstr "+%Y-%m-%d %H:%M"
  11.420 -
  11.421 -#. L10n: 'm' is for minutes (approximate cooking time)
  11.422 -#: cook:326
  11.423 -#, sh-format
  11.424 -msgid "~ ${div}m"
  11.425 -msgstr "~ ${div}m"
  11.426 -
  11.427 -#: cook:327
  11.428 -#, sh-format
  11.429 -msgid "Summary for: $PACKAGE $VERSION"
  11.430 -msgstr "包摘要: $PACKAGE $VERSION"
  11.431 -
  11.432 -#. L10n: keep the same width of translations to get a consistent view
  11.433 -#: cook:330
  11.434 -#, sh-format
  11.435 -msgid "Source dir  : $srcdir"
  11.436 -msgstr "源路径 : $srcdir"
  11.437 -
  11.438 -#: cook:331
  11.439 -#, sh-format
  11.440 -msgid "Src file    : $TARBALL"
  11.441 -msgstr "源文件 : $TARBALL"
  11.442 -
  11.443 -#: cook:332
  11.444 -#, sh-format
  11.445 -msgid "Src size    : $srcsize"
  11.446 -msgstr "源大小  : $srcsize"
  11.447 -
  11.448 -#: cook:333
  11.449 -#, sh-format
  11.450 -msgid "Produced    : $prod"
  11.451 -msgstr "已产生  : $prod"
  11.452 -
  11.453 -#: cook:334
  11.454 -#, sh-format
  11.455 -msgid "Packed      : $fs"
  11.456 -msgstr "已打包  : $fs"
  11.457 -
  11.458 -#: cook:335
  11.459 -#, sh-format
  11.460 -msgid "Compressed  : $size"
  11.461 -msgstr "已压缩  : $size"
  11.462 -
  11.463 -#: cook:336
  11.464 -#, sh-format
  11.465 -msgid "Files       : $files"
  11.466 -msgstr "文件    : $files"
  11.467 -
  11.468 -#. L10n: 's' is for seconds (cooking time)
  11.469 -#: cook:338
  11.470 -#, sh-format
  11.471 -msgid "Cook time   : ${sec}s $min"
  11.472 -msgstr "生成时间   : ${sec}s $min"
  11.473 -
  11.474 -#: cook:339
  11.475 -#, sh-format
  11.476 -msgid "Cook date   : $cookdate"
  11.477 -msgstr "生成日期   : $cookdate"
  11.478 -
  11.479 -#: cook:340
  11.480 -#, sh-format
  11.481 -msgid "Host arch   : $ARCH"
  11.482 -msgstr "主机架构:  $ARCH"
  11.483 -
  11.484 -#: cook:346
  11.485 -msgid "Debug information"
  11.486 -msgstr "除错资讯"
  11.487 -
  11.488 -#: cook:350
  11.489 -#, sh-format
  11.490 -msgid "Cook date: $datenow"
  11.491 -msgstr "生成日期: $datenow"
  11.492 +#: cook:395
  11.493 +msgid "Cook date: %s"
  11.494 +msgstr "生成日期:%s"
  11.495  
  11.496  #. L10n: Please, translate all messages beginning with ERROR in a same way
  11.497 -#: cook:352 cook:614 cook:711 cook:742 cook:828 cook:1527
  11.498 +#: cook:397 cook:661 cook:765 cook:799 cook:889 cook:1766
  11.499  msgid "ERROR"
  11.500  msgstr "错误"
  11.501  
  11.502 -#: cook:437
  11.503 +#: cook:484
  11.504  msgid "Executing strip on all files..."
  11.505  msgstr "正在为所有文件减肥"
  11.506  
  11.507 -#: cook:450
  11.508 +#: cook:496
  11.509  msgid "Removing Python compiled files..."
  11.510  msgstr "正在删除Python编译出的文件"
  11.511  
  11.512 -#: cook:458
  11.513 +#: cook:503
  11.514  msgid "Removing Perl compiled files..."
  11.515  msgstr "正在删除Perl编译出的文件"
  11.516  
  11.517 -#: cook:472 cook:600
  11.518 -msgid "Build dependencies to remove: "
  11.519 +#: cook:518 cook:647
  11.520 +msgid "Build dependencies to remove:"
  11.521  msgstr "要删除的编译依赖"
  11.522  
  11.523 -#: cook:473 cook:601
  11.524 +#: cook:520 cook:648
  11.525  msgid "Removing:"
  11.526 -msgstr "正在删除:"
  11.527 +msgstr "正在删除:"
  11.528  
  11.529 -#: cook:487
  11.530 -#, sh-format
  11.531 -msgid "Cook: $PACKAGE $VERSION"
  11.532 -msgstr "Cook: $PACKAGE $VERSION"
  11.533 +#: cook:535
  11.534 +msgid "Cook: %s"
  11.535 +msgstr ""
  11.536  
  11.537 -#: cook:501
  11.538 -#, sh-format
  11.539 -msgid "$ARCH sysroot: $sysroot"
  11.540 -msgstr "$ARCH sysroot: $sysroot"
  11.541 +#: cook:549
  11.542 +msgid "%s sysroot: %s"
  11.543 +msgstr ""
  11.544  
  11.545 -#: cook:502
  11.546 -#, sh-format
  11.547 -msgid "Adding $tools/bin to PATH"
  11.548 -msgstr "正将 $tools/bin 加入 PATH"
  11.549 +#: cook:550
  11.550 +msgid "Adding \"%s\" to PATH"
  11.551 +msgstr "正将 %s 加入 PATH"
  11.552  
  11.553 -#: cook:506
  11.554 -#, sh-format
  11.555 -msgid "Using cross-tools: $CROSS_COMPILE"
  11.556 -msgstr "正使用cross-tools: $CROSS_COMPILE"
  11.557 +#: cook:554
  11.558 +msgid "Using cross-tools: %s"
  11.559 +msgstr "正使用cross-tools:%s"
  11.560  
  11.561 -#: cook:528
  11.562 -#, sh-format
  11.563 -msgid "Disabling -pipe compile flag: $free RAM"
  11.564 -msgstr "正在禁用 -pipe 编译标志: $free RAM"
  11.565 +#: cook:578
  11.566 +msgid "Disabling -pipe compile flag: %d RAM free"
  11.567 +msgstr "正在禁用 -pipe 编译标志:%d RAM"
  11.568  
  11.569 -#: cook:545
  11.570 +#: cook:594
  11.571  msgid "Checking build dependencies..."
  11.572  msgstr "正在检查编译依赖"
  11.573  
  11.574 -#: cook:546
  11.575 -#, sh-format
  11.576 -msgid "Using packages DB: ${root}$DB"
  11.577 -msgstr "正使用包数据库: ${root}$DB"
  11.578 +#: cook:595
  11.579 +msgid "Using packages DB: %s"
  11.580 +msgstr "正使用包数据库:%s"
  11.581  
  11.582 -#: cook:572
  11.583 -#, sh-format
  11.584 -msgid "Missing dep (wok/pkg): $i $vers"
  11.585 -msgstr "欠缺依赖 (wok/pkg): $i $vers"
  11.586 +#: cook:619
  11.587 +msgid "Missing dep (wok/pkg): %s"
  11.588 +msgstr "欠缺依赖 (wok/pkg):%s"
  11.589  
  11.590 -#: cook:580
  11.591 -#, sh-format
  11.592 -msgid "ERROR: unknown dep $i"
  11.593 -msgstr "错误: 未知依赖 $i"
  11.594 +#: cook:627
  11.595 +msgid "ERROR: unknown dep \"%s\""
  11.596 +msgstr "错误:未知依赖 %s"
  11.597  
  11.598 -#: cook:593
  11.599 -msgid "Auto cook config is set: AUTO_COOK"
  11.600 -msgstr "自动生成已配置: AUTO_COOK"
  11.601 +#: cook:641
  11.602 +msgid "Auto cook config is set: %s"
  11.603 +msgstr "自动生成已配置:%s"
  11.604  
  11.605 -#: cook:597
  11.606 -#, sh-format
  11.607 -msgid "Building dep (wok/pkg)    : $i $vers"
  11.608 -msgstr "正在生成依赖 (wok/pkg)   : $i $vers"
  11.609 +#: cook:644
  11.610 +msgid "Building dep (wok/pkg)    : %s"
  11.611 +msgstr "正在生成依赖 (wok/pkg):%s"
  11.612  
  11.613 -#: cook:602
  11.614 -#, sh-format
  11.615 -msgid "ERROR: can't cook dep '$i'"
  11.616 -msgstr "错误: 无法生成依赖 '$i'"
  11.617 +#: cook:649
  11.618 +msgid "ERROR: can't cook dep \"%s\""
  11.619 +msgstr "错误:无法生成依赖 '%s'"
  11.620  
  11.621 -#: cook:617
  11.622 -#, sh-format
  11.623 -msgid "ERROR: missing dep $nb"
  11.624 -msgstr "错误: 欠缺依赖 $nb"
  11.625 +#: cook:664
  11.626 +msgid "ERROR: missing %d dependency"
  11.627 +msgid_plural "ERROR: missing %d dependencies"
  11.628 +msgstr[0] "错误:欠缺依赖 %d"
  11.629  
  11.630 -#: cook:624
  11.631 -#, sh-format
  11.632 -msgid "Installing dep (pkg/local): $i"
  11.633 -msgstr "正在安装依赖 (包/本地): $i"
  11.634 +#: cook:671
  11.635 +msgid "Installing dep (pkg/local): %s"
  11.636 +msgstr "正在安装依赖 (包/本地):%s"
  11.637  
  11.638 -#: cook:632
  11.639 -#, sh-format
  11.640 -msgid "Installing dep (web/cache): $i"
  11.641 -msgstr "正在安装依赖 (在线/缓存): $i"
  11.642 +#: cook:678
  11.643 +msgid "Installing dep (web/cache): %s"
  11.644 +msgstr "正在安装依赖 (在线/缓存):%s"
  11.645  
  11.646 -#: cook:682
  11.647 -msgid "Executing: compile_rules"
  11.648 -msgstr "正执行: 编译规则"
  11.649 +#: cook:734 cook:789
  11.650 +msgid "Executing: %s"
  11.651 +msgstr "正执行:%s"
  11.652  
  11.653 -#: cook:699
  11.654 +#: cook:751
  11.655  msgid "Running testsuite"
  11.656  msgstr "正运行测试"
  11.657  
  11.658 -#: cook:708
  11.659 +#: cook:762
  11.660  msgid "ERROR: cook failed"
  11.661 -msgstr "错误: 生成失败"
  11.662 +msgstr "错误:生成失败"
  11.663  
  11.664 -#: cook:729
  11.665 -#, sh-format
  11.666 -msgid "Pack: $PACKAGE ${VERSION}${arch}"
  11.667 -msgstr "Pack: $PACKAGE ${VERSION}${arch}"
  11.668 +#: cook:786
  11.669 +msgid "Pack: %s"
  11.670 +msgstr ""
  11.671  
  11.672 -#: cook:732
  11.673 -msgid "Executing: genpkg_rules"
  11.674 -msgstr "正在执行: 包生成规则"
  11.675 +#: cook:791
  11.676 +msgid "ERROR: genpkg_rules failed"
  11.677 +msgstr "错误:生成包规则错误"
  11.678  
  11.679 -#: cook:734
  11.680 -msgid "ERROR: genpkg_rules failed"
  11.681 -msgstr "错误: 生成包规则错误"
  11.682 +#: cook:794
  11.683 +msgid "No packages rules: meta package"
  11.684 +msgstr "没有包规则:元包"
  11.685  
  11.686 -#: cook:737
  11.687 -msgid "No packages rules: meta package"
  11.688 -msgstr "没有包规则: 元包"
  11.689 +#: cook:807
  11.690 +msgid "Copying \"%s\"..."
  11.691 +msgstr "正在拷贝 %s..."
  11.692  
  11.693 -#: cook:751
  11.694 -#, sh-format
  11.695 -msgid "Copying $file..."
  11.696 -msgstr "正在拷贝 $file..."
  11.697 -
  11.698 -#: cook:757
  11.699 +#: cook:816
  11.700  msgid "Creating the list of files..."
  11.701  msgstr "正在创建文件清单"
  11.702  
  11.703 -#: cook:768
  11.704 +#: cook:824
  11.705  msgid "Creating md5sum of files..."
  11.706  msgstr "正在创建文件md5校验和"
  11.707  
  11.708 -#: cook:783
  11.709 -msgid "Compressing the fs..."
  11.710 +#: cook:839
  11.711 +msgid "Compressing the FS..."
  11.712  msgstr "正在压缩文件系统"
  11.713  
  11.714 -#: cook:790
  11.715 +#: cook:847
  11.716  msgid "Updating receipt sizes..."
  11.717  msgstr "正在更新清单大小"
  11.718  
  11.719 -#: cook:798
  11.720 -#, sh-format
  11.721 -msgid "Updating receipt EXTRAVERSION: $EXTRAVERSION"
  11.722 -msgstr "正在更新包额外版本: $EXTRAVERSION"
  11.723 +#: cook:855
  11.724 +msgid "Updating receipt EXTRAVERSION: %s"
  11.725 +msgstr "正在更新包额外版本:%s"
  11.726  
  11.727 -#: cook:805
  11.728 +#: cook:862
  11.729  msgid "Creating full cpio archive..."
  11.730  msgstr "正在创建完整cpio压缩包"
  11.731  
  11.732 -#: cook:809
  11.733 +#: cook:867
  11.734  msgid "Restoring original package tree..."
  11.735  msgstr "正复原包树"
  11.736  
  11.737 -#: cook:817
  11.738 -#, sh-format
  11.739 -msgid "Package: $tazpkg"
  11.740 -msgstr "包: $tazpkg"
  11.741 +#: cook:876
  11.742 +msgid "Package \"%s\" created"
  11.743 +msgstr "包:%s"
  11.744  
  11.745 -#: cook:833
  11.746 +#: cook:895
  11.747  msgid "QA: checking for empty package..."
  11.748 -msgstr "QA: 检查空包中……"
  11.749 +msgstr "QA:检查空包中……"
  11.750  
  11.751 -#: cook:836
  11.752 +#: cook:898
  11.753  msgid "ERROR: empty package"
  11.754 -msgstr "错误: 空包"
  11.755 +msgstr "错误:空包"
  11.756  
  11.757 -#: cook:844
  11.758 -#, sh-format
  11.759 -msgid "Removing old: $old_pkg"
  11.760 -msgstr "正在删除旧包: $old_pkg"
  11.761 +#: cook:906
  11.762 +msgid "Removing old package \"%s\""
  11.763 +msgstr "正在删除旧包:%s"
  11.764  
  11.765 -#: cook:874
  11.766 +#: cook:940
  11.767  msgid "Unable to install package, build has failed."
  11.768  msgstr "无法安装包,生成失败"
  11.769  
  11.770 -#: cook:883
  11.771 -#, sh-format
  11.772 -msgid "Updating $ARCH chroot environment..."
  11.773 -msgstr "正在更新 $ARCH chroot 环境"
  11.774 +#: cook:949
  11.775 +msgid "Updating %s chroot environment..."
  11.776 +msgstr "正在更新 %s chroot 环境"
  11.777  
  11.778 -#: cook:884
  11.779 -#, sh-format
  11.780 -msgid "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
  11.781 -msgstr "正在更新 chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
  11.782 +#: cook:950
  11.783 +msgid "Updating chroot: %s"
  11.784 +msgstr "正在更新 chroot:%s"
  11.785  
  11.786 -#: cook:905
  11.787 +#: cook:982
  11.788  msgid "Setup aufs chroot..."
  11.789  msgstr "正设置 aufs chroot"
  11.790  
  11.791 -#: cook:917
  11.792 -msgid "Aufs mountage failure"
  11.793 -msgstr "Aufs mountage 错误"
  11.794 +#: cook:994
  11.795 +msgid "Aufs mount failure"
  11.796 +msgstr "Aufs mount 错误"
  11.797  
  11.798 -#: cook:928
  11.799 +#: cook:1006
  11.800  msgid "Leaving aufs chroot..."
  11.801  msgstr "正离开 aufs chroot..."
  11.802  
  11.803 -#: cook:1030
  11.804 -#, sh-format
  11.805 -msgid "List of $ARCH packages in: $WOK"
  11.806 -msgstr "$WOK 内的 $ARCH 包清单"
  11.807 +#: cook:1075
  11.808 +msgid "Multiple choice:"
  11.809 +msgstr ""
  11.810  
  11.811 -#: cook:1046
  11.812 -msgid "Packages:"
  11.813 -msgstr "包:"
  11.814 +#: cook:1076
  11.815 +msgid "Select one [%s]: "
  11.816 +msgstr ""
  11.817  
  11.818 -#: cook:1053
  11.819 -#, sh-format
  11.820 -msgid "Search results for: $query"
  11.821 -msgstr "$query 的搜索结果"
  11.822 +#: cook:1117
  11.823 +msgid "Getting standard devel files..."
  11.824 +msgstr ""
  11.825  
  11.826 -#: cook:1059
  11.827 +#: cook:1134
  11.828 +msgid "List of %s packages in \"%s\""
  11.829 +msgstr "%2$s 内的 %1$s 包清单"
  11.830 +
  11.831 +#: cook:1150
  11.832 +msgid "%s package"
  11.833 +msgid_plural "%s packages"
  11.834 +msgstr[0] "包:"
  11.835 +
  11.836 +#: cook:1159
  11.837 +msgid "Search results for \"%s\""
  11.838 +msgstr "%s 的搜索结果"
  11.839 +
  11.840 +#: cook:1166
  11.841  msgid "Cook: setup environment"
  11.842 -msgstr "Cook: 设置环境"
  11.843 +msgstr "Cook:设置环境"
  11.844  
  11.845 -#: cook:1060
  11.846 +#: cook:1167
  11.847  msgid "Setting up your environment"
  11.848  msgstr "设置个人环境"
  11.849  
  11.850 -#: cook:1063
  11.851 +#: cook:1170
  11.852  msgid "Checking for packages to install..."
  11.853  msgstr "检查要安装的包"
  11.854  
  11.855 -#: cook:1069
  11.856 -msgid "ERROR: cross is not installed"
  11.857 -msgstr "错误: 未安装cross"
  11.858 +#: cook:1176
  11.859 +msgid "ERROR: %s is not installed"
  11.860 +msgstr "错误:未安装%s"
  11.861  
  11.862 -#: cook:1072
  11.863 -msgid "Using config file: /etc/slitaz/cross.conf"
  11.864 -msgstr "使用配置文件: /etc/slitaz/cross.conf"
  11.865 +#: cook:1179
  11.866 +msgid "Using config file: %s"
  11.867 +msgstr "使用配置文件:%s"
  11.868  
  11.869 -#: cook:1097
  11.870 -msgid "Adding group: slitaz"
  11.871 -msgstr "正在加入组: slitaz"
  11.872 +#: cook:1200
  11.873 +msgid "Adding group \"%s\""
  11.874 +msgstr "正在加入组:%s"
  11.875  
  11.876 -#: cook:1100
  11.877 -msgid "Setting permissions for slitaz group..."
  11.878 -msgstr "正在设置slitaz组的权限"
  11.879 +#: cook:1203
  11.880 +msgid "Setting permissions for group \"%s\"..."
  11.881 +msgstr "正在设置%s组的权限"
  11.882  
  11.883 -#: cook:1103
  11.884 +#: cook:1206
  11.885  msgid "All done, ready to cook packages :-)"
  11.886  msgstr "完成,可以开始生成包 :-)"
  11.887  
  11.888 -#: cook:1116
  11.889 -#, sh-format
  11.890 -msgid "Cook: setup $arch cross environment"
  11.891 -msgstr "生成: 设置 $arch cross 环境"
  11.892 +#: cook:1221
  11.893 +msgid "Cook: setup %s cross environment"
  11.894 +msgstr "生成:设置 %s cross 环境"
  11.895  
  11.896 -#: cook:1117
  11.897 -#, sh-format
  11.898 -msgid "Setting up your $arch cross environment"
  11.899 -msgstr "正在设置你的 $arch cross 环境"
  11.900 +#: cook:1222
  11.901 +msgid "Setting up your %s cross environment"
  11.902 +msgstr "正在设置你的 %s cross 环境"
  11.903  
  11.904  #. L10n: keep the same width of translations to get a consistent view
  11.905 -#: cook:1148
  11.906 -#, sh-format
  11.907 -msgid "Target arch     : $ARCH"
  11.908 -msgstr "目标架构   : $ARCH"
  11.909 +#: cook:1251
  11.910 +msgid "Target arch     : %s"
  11.911 +msgstr "目标架构:%s"
  11.912  
  11.913 -#: cook:1149
  11.914 -#, sh-format
  11.915 -msgid "Configure args  : $CONFIGURE_ARGS"
  11.916 -msgstr "设置标志   : $CONFIGURE_ARGS"
  11.917 +#: cook:1252
  11.918 +msgid "Configure args  : %s"
  11.919 +msgstr "设置标志:%s"
  11.920  
  11.921 -#: cook:1150
  11.922 -#, sh-format
  11.923 -msgid "Build flags     : $flags"
  11.924 -msgstr "编译标志   : $flags"
  11.925 +#: cook:1253
  11.926 +msgid "Build flags     : %s"
  11.927 +msgstr "编译标志:%s"
  11.928  
  11.929 -#: cook:1151
  11.930 -#, sh-format
  11.931 -msgid "Arch sysroot    : $sysroot"
  11.932 -msgstr "Arch sysroot   : $sysroot"
  11.933 +#: cook:1254
  11.934 +msgid "Arch sysroot    : %s"
  11.935 +msgstr ""
  11.936  
  11.937 -#: cook:1152
  11.938 -#, sh-format
  11.939 -msgid "Tools prefix    : $tools/bin"
  11.940 -msgstr "工具前缀   : $tools/bin"
  11.941 +#: cook:1255
  11.942 +msgid "Tools prefix    : %s"
  11.943 +msgstr "工具前缀:%s"
  11.944  
  11.945 -#: cook:1154
  11.946 -#, sh-format
  11.947 -msgid "Packages DB     : ${root}$DB"
  11.948 -msgstr "包数据库   : ${root}$DB"
  11.949 +#: cook:1257
  11.950 +msgid "Packages DB     : %s"
  11.951 +msgstr "包数据库:%s"
  11.952  
  11.953 -#: cook:1165
  11.954 -msgid "WARNING: (e)glibc-base is not installed in sysroot"
  11.955 -msgstr "警告: 并无在sysroot 安装 (e)glibc-base "
  11.956 +#: cook:1268
  11.957 +msgid "WARNING: %s is not installed in sysroot"
  11.958 +msgstr "警告:并无在sysroot 安装 %s"
  11.959  
  11.960 -#: cook:1169
  11.961 -#, sh-format
  11.962 -msgid "Cross compiler  : ${HOST_SYSTEM}-gcc"
  11.963 -msgstr "交叉编译器   : ${HOST_SYSTEM}-gcc"
  11.964 +#: cook:1272
  11.965 +msgid "Cross compiler  : %s"
  11.966 +msgstr "交叉编译器:%s"
  11.967  
  11.968 -#: cook:1171
  11.969 -#, sh-format
  11.970 -msgid "C compiler is missing: ${HOST_SYSTEM}-gcc"
  11.971 -msgstr "欠缺C编译器: ${HOST_SYSTEM}-gcc"
  11.972 +#: cook:1274
  11.973 +msgid "C compiler \"%s\" is missing"
  11.974 +msgstr "欠缺C编译器:%s"
  11.975  
  11.976 -#: cook:1172
  11.977 -msgid "Run 'cross compile' to cook a toolchain"
  11.978 -msgstr "运行 'cross compile' 以生成工具串"
  11.979 +#: cook:1275
  11.980 +msgid "Run \"%s\" to cook a toolchain"
  11.981 +msgstr "运行 '%s' 以生成工具串"
  11.982  
  11.983 -#: cook:1177
  11.984 +#: cook:1281
  11.985  msgid "Cook test: testing the cook environment"
  11.986 -msgstr "生成测试: 正在测试生成环境"
  11.987 +msgstr "生成测试:正在测试生成环境"
  11.988  
  11.989 -#: cook:1187
  11.990 -#, sh-format
  11.991 -msgid "$pkg package already exists."
  11.992 -msgstr "$pkg 包已存在"
  11.993 +#: cook:1292
  11.994 +msgid "Package \"%s\" already exists."
  11.995 +msgstr "%s 包已存在"
  11.996  
  11.997 -#: cook:1190
  11.998 -#, sh-format
  11.999 -msgid "Creating $WOK/$pkg"
 11.1000 -msgstr "正在创建 $WOK/$pkg"
 11.1001 +#: cook:1296
 11.1002 +msgid "Creating folder \"%s\""
 11.1003 +msgstr "正在创建 %s"
 11.1004  
 11.1005 -#: cook:1192
 11.1006 +#: cook:1299
 11.1007  msgid "Preparing the package receipt..."
 11.1008  msgstr "正预备包清单"
 11.1009  
 11.1010 -#: cook:1200
 11.1011 +#: cook:1307
 11.1012  msgid "Entering interactive mode..."
 11.1013  msgstr "正进入互动模式"
 11.1014  
 11.1015 -#: cook:1202
 11.1016 -#, sh-format
 11.1017 -msgid "Package       : $pkg"
 11.1018 -msgstr "包   : $pkg"
 11.1019 +#: cook:1309
 11.1020 +msgid "Package       : %s"
 11.1021 +msgstr "包:%s"
 11.1022  
 11.1023 -#: cook:1203
 11.1024 +#: cook:1311
 11.1025  msgid "Version       : "
 11.1026 -msgstr "版本   : "
 11.1027 +msgstr "版本:"
 11.1028  
 11.1029 -#: cook:1205
 11.1030 +#: cook:1314
 11.1031  msgid "Category      : "
 11.1032 -msgstr "分类   : "
 11.1033 +msgstr "分类:"
 11.1034  
 11.1035  #. L10n: Short description
 11.1036 -#: cook:1208
 11.1037 +#: cook:1318
 11.1038  msgid "Short desc    : "
 11.1039 -msgstr "简短描述   : "
 11.1040 +msgstr "简短描述:"
 11.1041  
 11.1042 -#: cook:1210
 11.1043 +#: cook:1321
 11.1044  msgid "Maintainer    : "
 11.1045 -msgstr "维护者   : "
 11.1046 +msgstr "维护者:"
 11.1047  
 11.1048 -#: cook:1212
 11.1049 +#: cook:1324
 11.1050  msgid "License       : "
 11.1051 -msgstr "授权 : "
 11.1052 +msgstr "授权:"
 11.1053  
 11.1054 -#: cook:1214
 11.1055 +#: cook:1327
 11.1056  msgid "Web site      : "
 11.1057 -msgstr "网站   : "
 11.1058 +msgstr "网站:"
 11.1059  
 11.1060 -#: cook:1218
 11.1061 +#: cook:1332
 11.1062  msgid "Wget URL to download source tarball."
 11.1063  msgstr "Wget URL 以下载源tarball包"
 11.1064  
 11.1065 -#: cook:1219
 11.1066 +#: cook:1333
 11.1067  msgid "Example  : "
 11.1068 -msgstr "例子   : "
 11.1069 +msgstr "例子:"
 11.1070  
 11.1071 -#: cook:1220
 11.1072 +#: cook:1334
 11.1073  msgid "Wget url : "
 11.1074 -msgstr "Wget url : "
 11.1075 +msgstr ""
 11.1076  
 11.1077 -#: cook:1223
 11.1078 -msgid "Do you need a stuff directory? (y/N) : "
 11.1079 -msgstr "你需要一个stuff目录吗? (y/N) : "
 11.1080 +#: cook:1338
 11.1081 +msgid "Do you need a stuff directory? (y/N)"
 11.1082 +msgstr "你需要一个stuff目录吗? (y/N)"
 11.1083  
 11.1084 -#: cook:1225
 11.1085 +#: cook:1340
 11.1086  msgid "Creating the stuff directory..."
 11.1087  msgstr "正在创建stuff目录"
 11.1088  
 11.1089 -#: cook:1229
 11.1090 -msgid "Are you going to write a description? (y/N) : "
 11.1091 -msgstr "你想写一个描述吗? (y/N) : "
 11.1092 +#: cook:1345
 11.1093 +msgid "Are you going to write a description? (y/N)"
 11.1094 +msgstr "你想写一个描述吗? (y/N)"
 11.1095  
 11.1096 -#: cook:1231
 11.1097 -msgid "Creating the description.txt file..."
 11.1098 -msgstr "正在创建 description.txt 文件"
 11.1099 +#: cook:1347
 11.1100 +msgid "Creating the \"%s\" file..."
 11.1101 +msgstr "正在创建 %s 文件"
 11.1102  
 11.1103 -#: cook:1234
 11.1104 +#: cook:1351
 11.1105  msgid "Receipt is ready to use."
 11.1106  msgstr "清单已可使用"
 11.1107  
 11.1108 -#: cook:1240
 11.1109 +#: cook:1359
 11.1110  msgid "No list in argument."
 11.1111  msgstr "参数里没有清单"
 11.1112  
 11.1113 -#: cook:1242
 11.1114 -#, sh-format
 11.1115 -msgid "No list found: $list2"
 11.1116 -msgstr "找不到清单: $list2"
 11.1117 +#: cook:1363
 11.1118 +msgid "List \"%s\" not found."
 11.1119 +msgstr "找不到清单:%s"
 11.1120  
 11.1121 -#: cook:1243
 11.1122 -#, sh-format
 11.1123 -msgid "Cook list starting: $list2"
 11.1124 -msgstr "己在按清单生成: $list2"
 11.1125 +#: cook:1367
 11.1126 +msgid "Starting cooking the list \"%s\""
 11.1127 +msgstr "己在按清单生成:%s"
 11.1128  
 11.1129 -#: cook:1250
 11.1130 +#: cook:1375
 11.1131  msgid "Cleaning all packages files..."
 11.1132  msgstr "清除所有包文件"
 11.1133  
 11.1134 -#: cook:1255
 11.1135 +#: cook:1381
 11.1136  msgid "Cleaning all packages sources..."
 11.1137  msgstr "清除所有包源文件"
 11.1138  
 11.1139 -#: cook:1268
 11.1140 -msgid "Packages directory doesn't exist"
 11.1141 -msgstr "包目录不存在"
 11.1142 +#: cook:1388
 11.1143 +msgid "Checking for uncooked packages"
 11.1144 +msgstr ""
 11.1145  
 11.1146 -#: cook:1275
 11.1147 +#: cook:1401
 11.1148 +msgid "Package \"%s\""
 11.1149 +msgstr "包%s"
 11.1150 +
 11.1151 +#: cook:1420
 11.1152 +msgid "%s uncooked package"
 11.1153 +msgid_plural "%s uncooked packages"
 11.1154 +msgstr[0] ""
 11.1155 +
 11.1156 +#: cook:1422
 11.1157 +msgid "All packages are cooked :-)"
 11.1158 +msgstr ""
 11.1159 +
 11.1160 +#: cook:1435
 11.1161 +msgid "Packages directory \"%s\" doesn't exist"
 11.1162 +msgstr "包目录不存在%s"
 11.1163 +
 11.1164 +#: cook:1445
 11.1165  msgid "Cook pkgdb: Creating all packages lists"
 11.1166 -msgstr "Cook pkgdb: 创建所有包清单"
 11.1167 +msgstr "Cook pkgdb:创建所有包清单"
 11.1168  
 11.1169 -#: cook:1276
 11.1170 -#, sh-format
 11.1171 -msgid "Creating lists for: $PKGS"
 11.1172 -msgstr "正在为 $PKGS 包创建清单"
 11.1173 +#: cook:1446
 11.1174 +msgid "Creating lists for \"%s\""
 11.1175 +msgstr "正在为 %s 包创建清单"
 11.1176  
 11.1177 -#: cook:1278
 11.1178 -#, sh-format
 11.1179 -msgid "Cook pkgdb started: $datenow"
 11.1180 -msgstr "已开始生成 pkgdb : $datenow"
 11.1181 +#: cook:1448
 11.1182 +msgid "Cook pkgdb started: %s"
 11.1183 +msgstr "已开始生成 pkgdb:%s"
 11.1184  
 11.1185 -#: cook:1281
 11.1186 -msgid "Creating: packages.list"
 11.1187 -msgstr "正在创建: packages.list"
 11.1188 +#: cook:1454 cook:1457 cook:1523 cook:1535 cook:1540
 11.1189 +msgid "Creating file \"%s\""
 11.1190 +msgstr "正在创建:%s"
 11.1191  
 11.1192 -#: cook:1283
 11.1193 -msgid "Creating: packages.md5"
 11.1194 -msgstr "正在创建: packages.md5"
 11.1195 +#: cook:1463
 11.1196 +msgid "Creating lists from \"%s\""
 11.1197 +msgstr "从 %s 创建列表"
 11.1198  
 11.1199 -#: cook:1286
 11.1200 -#, sh-format
 11.1201 -msgid "Creating lists from: $WOK"
 11.1202 -msgstr "从  $WOK 创建列表"
 11.1203 -
 11.1204 -#: cook:1328
 11.1205 -msgid "Done: packages.desc"
 11.1206 -msgstr "完成: packages.desc"
 11.1207 -
 11.1208 -#: cook:1329
 11.1209 -msgid "Done: packages.txt"
 11.1210 -msgstr "完成: packages.txt"
 11.1211 -
 11.1212 -#: cook:1330
 11.1213 -msgid "Done: packages.equiv"
 11.1214 -msgstr "完成: packages.equiv"
 11.1215 -
 11.1216 -#: cook:1333
 11.1217 -msgid "Creating: files.list.lzma"
 11.1218 -msgstr "正在创建: files.list.lzma"
 11.1219 +#: cook:1516 cook:1517 cook:1518 cook:1529 cook:1547
 11.1220 +msgid "Done: %s (%s)"
 11.1221 +msgstr "完成:%s (%s)"
 11.1222  
 11.1223  #. L10n: 's' is for seconds (cooking time)
 11.1224 -#: cook:1342
 11.1225 -#, sh-format
 11.1226 -msgid "Packages: $nb - Time: ${time}s"
 11.1227 -msgstr "包: $nb - Time: ${time}s"
 11.1228 +#: cook:1554
 11.1229 +msgid "Packages: %s - Time: %ss"
 11.1230 +msgstr "包:%s - Time:%ss"
 11.1231  
 11.1232 -#: cook:1348
 11.1233 -#, sh-format
 11.1234 -msgid "Missing flavors: $flavors"
 11.1235 -msgstr "欠缺设置: $flavors"
 11.1236 +#: cook:1563
 11.1237 +msgid "Missing flavors folder \"%s\""
 11.1238 +msgstr "欠缺设置:%s"
 11.1239  
 11.1240 -#: cook:1350
 11.1241 -#, sh-format
 11.1242 -msgid "Creating flavors files in: $live"
 11.1243 -msgstr "正在于 $live 创建设置文件"
 11.1244 +#: cook:1568
 11.1245 +msgid "Creating flavors files in \"%s\""
 11.1246 +msgstr "正在于 %s 创建设置文件"
 11.1247  
 11.1248 -#: cook:1351
 11.1249 +#: cook:1569
 11.1250  msgid "Cook pkgdb: Creating all flavors"
 11.1251 -msgstr "生成 pkgdb: 正创建所有设置"
 11.1252 +msgstr "生成 pkgdb:正创建所有设置"
 11.1253  
 11.1254 -#: cook:1353
 11.1255 +#: cook:1572
 11.1256  msgid "Recharging lists to use latest packages..."
 11.1257  msgstr "重新载入清单以使用最新包"
 11.1258  
 11.1259 -#: cook:1358
 11.1260 -msgid "Creating configuration file: tazlito.conf"
 11.1261 -msgstr "正创建配置文件: tazlito.conf"
 11.1262 +#: cook:1577
 11.1263 +msgid "Creating configuration file \"%s\""
 11.1264 +msgstr "正创建配置文件:%s"
 11.1265  
 11.1266 -#: cook:1368
 11.1267 +#: cook:1589
 11.1268  msgid "Starting to generate flavors..."
 11.1269  msgstr "开始生成设置"
 11.1270  
 11.1271 -#: cook:1373
 11.1272 -#, sh-format
 11.1273 -msgid "Packing flavor: $fl"
 11.1274 -msgstr "正打包设置: $fl"
 11.1275 +#: cook:1593
 11.1276 +msgid "Packing flavor \"%s\""
 11.1277 +msgstr "正打包设置:%s"
 11.1278  
 11.1279 -#: cook:1381
 11.1280 -#, sh-format
 11.1281 -msgid "Flavors size: $fl_size"
 11.1282 -msgstr "设置大小: $fl_size"
 11.1283 +#: cook:1599
 11.1284 +msgid "Total flavors size: %s"
 11.1285 +msgstr "设置大小:%s"
 11.1286  
 11.1287 -#: cook:1385
 11.1288 -#, sh-format
 11.1289 -msgid "Cook pkgdb end: $datenow"
 11.1290 -msgstr "生成 pkgdb 完成: $datenow"
 11.1291 +#: cook:1602
 11.1292 +msgid "Cook pkgdb end: %s"
 11.1293 +msgstr "生成 pkgdb 完成:%s"
 11.1294  
 11.1295 -#: cook:1412
 11.1296 -#, sh-format
 11.1297 -msgid "cook: HOST_ARCH is not set in $pkg receipt"
 11.1298 -msgstr "生成: 没有在 $pkg 清单设置 HOST_ARCH"
 11.1299 +#: cook:1622
 11.1300 +msgid "cook: HOST_ARCH is not set in \"%s\" receipt"
 11.1301 +msgstr "生成:没有在 %s 清单设置 HOST_ARCH"
 11.1302  
 11.1303 -#: cook:1413
 11.1304 -#, sh-format
 11.1305 -msgid "cook: This package is not included in: $ARCH"
 11.1306 -msgstr "生成: 本包并不在 $ARCH 内"
 11.1307 +#: cook:1623
 11.1308 +msgid "package \"%s\" is not included in %s"
 11.1309 +msgstr "%s 并不在 %s 内"
 11.1310  
 11.1311 -#: cook:1414 cook:1425
 11.1312 -#, sh-format
 11.1313 -msgid "bugs: $CROSS_BUGS"
 11.1314 -msgstr "bugs: $CROSS_BUGS"
 11.1315 +#: cook:1624 cook:1637 cook:1639
 11.1316 +msgid "cook: %s"
 11.1317 +msgstr "生成:%s"
 11.1318  
 11.1319 -#: cook:1415
 11.1320 -#, sh-format
 11.1321 -msgid "Cook skip: $pkg is not included in: $ARCH"
 11.1322 -msgstr "生成跳过: $pkg 并不在 $ARCH 内"
 11.1323 +#: cook:1625 cook:1640
 11.1324 +msgid "bugs: %s"
 11.1325 +msgstr ""
 11.1326  
 11.1327 -#: cook:1423
 11.1328 -#, sh-format
 11.1329 -msgid "cook: HOST_ARCH=$HOST_ARCH"
 11.1330 -msgstr "生成: HOST_ARCH=$HOST_ARCH"
 11.1331 +#: cook:1626 cook:1641
 11.1332 +msgid "Cook skip: %s"
 11.1333 +msgstr "生成跳过:%s"
 11.1334  
 11.1335 -#: cook:1424
 11.1336 -#, sh-format
 11.1337 -msgid "cook: $pkg doesn't cook or is not included in: $ARCH"
 11.1338 -msgstr "生成: $pkg 并未生成或不在  $ARCH"
 11.1339 +#: cook:1634
 11.1340 +msgid "Host arch %s"
 11.1341 +msgstr "主机架构%s"
 11.1342  
 11.1343 -#: cook:1426
 11.1344 -#, sh-format
 11.1345 -msgid "Cook skip: $pkg doesn't cook or is not included in: $ARCH"
 11.1346 -msgstr "生成跳过: $pkg 并未生成或不在  $ARCH"
 11.1347 +#: cook:1638
 11.1348 +msgid "package \"%s\" doesn't cook or is not included in %s"
 11.1349 +msgstr "%s 并未生成或不在 %s"
 11.1350  
 11.1351 -#: cook:1432
 11.1352 -#, sh-format
 11.1353 -msgid "Blocked package: $pkg"
 11.1354 -msgstr "已封锁包: $pkg"
 11.1355 +#: cook:1649
 11.1356 +msgid "Package \"%s\" is blocked"
 11.1357 +msgstr "已封锁包:%s"
 11.1358  
 11.1359 -#: cook:1439
 11.1360 -#, sh-format
 11.1361 -msgid "Cook started for: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
 11.1362 -msgstr "已开始生成: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
 11.1363 +#: cook:1656
 11.1364 +msgid "Cook started for: %s"
 11.1365 +msgstr "已开始生成:%s"
 11.1366  
 11.1367 -#: cook:1450
 11.1368 -#, sh-format
 11.1369 -msgid "Cleaning: $pkg"
 11.1370 -msgstr "正在清理: $pkg"
 11.1371 +#: cook:1667
 11.1372 +msgid "Cleaning \"%s\""
 11.1373 +msgstr "正在清理:%s"
 11.1374  
 11.1375 -#: cook:1456
 11.1376 -#, sh-format
 11.1377 -msgid "Getting source for: $pkg"
 11.1378 -msgstr "正在取得包源文件: $pkg"
 11.1379 +#: cook:1676
 11.1380 +msgid "Getting source for \"%s\""
 11.1381 +msgstr "正在取得包源文件:%s"
 11.1382  
 11.1383 -#: cook:1458
 11.1384 -#, sh-format
 11.1385 -msgid "Tarball: $SRC/$TARBALL"
 11.1386 -msgstr "Tarball: $SRC/$TARBALL"
 11.1387 +#: cook:1678
 11.1388 +msgid "Tarball: %s"
 11.1389 +msgstr ""
 11.1390  
 11.1391 -#: cook:1461
 11.1392 -#, sh-format
 11.1393 -msgid "Blocking: $pkg"
 11.1394 -msgstr "正在封锁: $pkg"
 11.1395 +#: cook:1682
 11.1396 +msgid "Blocking package \"%s\""
 11.1397 +msgstr "正在封锁:%s"
 11.1398  
 11.1399 -#: cook:1465
 11.1400 -#, sh-format
 11.1401 -msgid "Unblocking: $pkg"
 11.1402 -msgstr "取消封锁: $pkg"
 11.1403 +#: cook:1688
 11.1404 +msgid "Unblocking package \"%s\""
 11.1405 +msgstr "取消封锁:%s"
 11.1406  
 11.1407 -#: cook:1475 cook:1479
 11.1408 -#, sh-format
 11.1409 -msgid "Need to build $pkg."
 11.1410 -msgstr "需要生成 $pkg"
 11.1411 +#: cook:1700 cook:1707
 11.1412 +msgid "Need to build \"%s\""
 11.1413 +msgstr "需要生成 %s"
 11.1414  
 11.1415 -#: cook:1480
 11.1416 +#: cook:1711
 11.1417  msgid "Checking depends"
 11.1418  msgstr "正在检查依赖"
 11.1419  
 11.1420 -#: cook:1507
 11.1421 -#, sh-format
 11.1422 -msgid "WANTED package is blocked: $wanted"
 11.1423 -msgstr "所请求的包被封锁: $wanted"
 11.1424 +#: cook:1742
 11.1425 +msgid "WANTED package \"%s\" is blocked"
 11.1426 +msgstr "所请求的包被封锁:%s"
 11.1427  
 11.1428 -#: cook:1511
 11.1429 -#, sh-format
 11.1430 -msgid "WANTED package is broken: $wanted"
 11.1431 -msgstr "所请求的包已损坏: $wanted"
 11.1432 +#: cook:1748
 11.1433 +msgid "WANTED package \"%s\" is broken"
 11.1434 +msgstr "所请求的包已损坏:%s"
    12.1 --- a/po/zh_TW.po	Sun May 03 19:43:46 2015 +0300
    12.2 +++ b/po/zh_TW.po	Thu May 07 15:11:47 2015 +0300
    12.3 @@ -7,7 +7,7 @@
    12.4  msgstr ""
    12.5  "Project-Id-Version: Cook 3.2\n"
    12.6  "Report-Msgid-Bugs-To: \n"
    12.7 -"POT-Creation-Date: 2014-03-05 15:28+0200\n"
    12.8 +"POT-Creation-Date: 2015-05-07 12:52+0300\n"
    12.9  "PO-Revision-Date: 2014-06-04 03:36+0800\n"
   12.10  "Last-Translator: lunglungyu <lunglungyu2004@gmail.com>\n"
   12.11  "Language-Team: Traditional Chinese\n"
   12.12 @@ -17,12 +17,16 @@
   12.13  "Content-Transfer-Encoding: 8bit\n"
   12.14  
   12.15  #: cook:32
   12.16 -msgid "\\033[1mUsage:\\033[0m cook [package|command] [list|--option]"
   12.17 -msgstr "\\033[1m用法:\\033[0m cook [package|command] [list|--option]"
   12.18 +msgid "Usage:"
   12.19 +msgstr "用法:"
   12.20 +
   12.21 +#: cook:32
   12.22 +msgid "cook [package|command] [list|--option]"
   12.23 +msgstr "cook [package|command] [list|--option]"
   12.24  
   12.25  #: cook:34
   12.26 -msgid "\\033[1mCommands:\\033[0m"
   12.27 -msgstr "\\033[1m命令:\\033[0m"
   12.28 +msgid "Commands:"
   12.29 +msgstr "命令:"
   12.30  
   12.31  #: cook:35
   12.32  msgid "Display this short usage."
   12.33 @@ -36,910 +40,795 @@
   12.34  msgid "Setup a cross environment."
   12.35  msgstr "設置交叉環境"
   12.36  
   12.37 -#: cook:38
   12.38 +#: cook:39
   12.39  msgid "Test environment and cook a package."
   12.40  msgstr "打包測試環境"
   12.41  
   12.42 -#: cook:39
   12.43 +#: cook:40
   12.44  msgid "List packages in the wok."
   12.45  msgstr "列出wok庫內的包"
   12.46  
   12.47 -#: cook:40
   12.48 +#: cook:41
   12.49  msgid "Simple packages search function."
   12.50  msgstr "包搜索"
   12.51  
   12.52 -#: cook:41
   12.53 +#: cook:42
   12.54  msgid "Create a new package with a receipt."
   12.55  msgstr "根據清單創建新包"
   12.56  
   12.57 -#: cook:42
   12.58 +#: cook:43
   12.59  msgid "Cook a list of packages."
   12.60  msgstr "打包清單內的包(packages)"
   12.61  
   12.62 -#: cook:43
   12.63 +#: cook:44
   12.64  msgid "Clean-up all packages files."
   12.65  msgstr "清理所有包文件"
   12.66  
   12.67 -#: cook:44
   12.68 +#: cook:45
   12.69  msgid "Clean-up all packages sources."
   12.70  msgstr "清理所有包源文檔"
   12.71  
   12.72 -#: cook:45
   12.73 +#: cook:46
   12.74 +msgid "Check for uncooked packages"
   12.75 +msgstr ""
   12.76 +
   12.77 +#: cook:47
   12.78  msgid "Create packages DB lists and flavors."
   12.79  msgstr "創建包數據庫清單及設置"
   12.80  
   12.81 -#: cook:47
   12.82 -msgid "\\033[1mOptions:\\033[0m"
   12.83 -msgstr "\\033[1m選項:\\033[0m"
   12.84 +#: cook:49
   12.85 +msgid "Options:"
   12.86 +msgstr "選項:"
   12.87  
   12.88 -#: cook:48
   12.89 +#: cook:51
   12.90  msgid "clean the package in the wok."
   12.91  msgstr "清除wok庫內的包"
   12.92  
   12.93 -#: cook:49
   12.94 +#: cook:52
   12.95  msgid "cook and install the package."
   12.96  msgstr "編成及安裝包"
   12.97  
   12.98 -#: cook:50
   12.99 +#: cook:53
  12.100  msgid "get the package source tarball."
  12.101  msgstr "取得包源壓縮包(tarball)"
  12.102  
  12.103 -#: cook:51
  12.104 +#: cook:54
  12.105  msgid "block a package so cook will skip it."
  12.106  msgstr "封鎖及在建成時跳過包"
  12.107  
  12.108 -#: cook:52
  12.109 +#: cook:55
  12.110  msgid "unblock a blocked package."
  12.111  msgstr "取消封鎖包"
  12.112  
  12.113 -#: cook:53
  12.114 +#: cook:56
  12.115  msgid "check dependencies of cooked package."
  12.116  msgstr "檢查當前包的依賴"
  12.117  
  12.118 -#: cook:54
  12.119 +#: cook:57
  12.120  msgid "repack an already built package."
  12.121  msgstr "重新打包"
  12.122  
  12.123 -#: cook:55
  12.124 +#: cook:58
  12.125 +msgid "display debugging messages."
  12.126 +msgstr ""
  12.127 +
  12.128 +#: cook:59
  12.129 +msgid "continue running compile_rules."
  12.130 +msgstr ""
  12.131 +
  12.132 +#: cook:61
  12.133  msgid "create a receipt interactively."
  12.134  msgstr "互動地創建清單"
  12.135  
  12.136 -#: cook:56
  12.137 +#: cook:63
  12.138  msgid "clone the cooking wok from Hg repo."
  12.139  msgstr "由Hg repo.克隆 cooking wok"
  12.140  
  12.141 -#: cook:57
  12.142 +#: cook:64
  12.143  msgid "clone the stable wok from Hg repo."
  12.144  msgstr "由Hg repo.克隆 stable wok"
  12.145  
  12.146 -#: cook:58
  12.147 +#: cook:65
  12.148  msgid "clone the undigest wok from Hg repo."
  12.149  msgstr "由Hg repo.克隆 undigest wok"
  12.150  
  12.151 -#: cook:59
  12.152 +#: cook:66
  12.153  msgid "clone the tiny SliTaz wok from Hg repo."
  12.154  msgstr "由Hg repo.克隆 tiny wok"
  12.155  
  12.156 -#: cook:60
  12.157 +#: cook:67
  12.158  msgid "force reinstall of chroot packages."
  12.159  msgstr "強制重新安裝chroot包"
  12.160  
  12.161 -#: cook:61
  12.162 +#: cook:69
  12.163  msgid "create up-to-date flavors files."
  12.164  msgstr "創建最新的偏好文件"
  12.165  
  12.166 -#: cook:76
  12.167 -#, sh-format
  12.168 -msgid "Unable to find package in the wok: $pkg"
  12.169 -msgstr "在wok內找不到包: $pkg"
  12.170 +#: cook:88
  12.171 +msgid "Unable to find package \"%s\" in the wok"
  12.172 +msgstr "在wok內找不到包:%s"
  12.173  
  12.174  #. L10n: QA is quality assurance
  12.175 -#: cook:84
  12.176 -#, sh-format
  12.177 -msgid "QA: empty variable: ${var}=\"\""
  12.178 -msgstr "QA: 空變量: ${var}=\"\""
  12.179 +#: cook:97
  12.180 +msgid "QA: empty variable: %s"
  12.181 +msgstr "QA:空變量:%s"
  12.182  
  12.183 -#: cook:91
  12.184 -#, sh-format
  12.185 -msgid "Creating directories structure in: $SLITAZ"
  12.186 -msgstr "正在創建包結構: $SLITAZ"
  12.187 +#: cook:106
  12.188 +msgid "Creating directories structure in \"%s\""
  12.189 +msgstr "正在創建包結構:%s"
  12.190  
  12.191 -#: cook:93
  12.192 -#, sh-format
  12.193 -msgid "Creating DB files in: $CACHE"
  12.194 -msgstr "在以下資料夾創建數庫庫文件: $CACHE "
  12.195 -
  12.196 -#: cook:102
  12.197 -msgid "QA: checking package receipt..."
  12.198 -msgstr "QA: 正在檢查包清單"
  12.199 +#: cook:108
  12.200 +msgid "Creating DB files in \"%s\""
  12.201 +msgstr "在以下資料夾創建數庫庫文件:%s"
  12.202  
  12.203  #: cook:118
  12.204 -#, sh-format
  12.205 -msgid "QA: unknown category: $value"
  12.206 -msgstr "QA: unknown category: $value"
  12.207 +msgid "QA: checking package receipt..."
  12.208 +msgstr "QA:正在檢查包清單"
  12.209  
  12.210 -#: cook:119
  12.211 -#, sh-format
  12.212 -msgid "Please, use one of: $valid"
  12.213 -msgstr "請用以下其中一項: $valid"
  12.214 +#: cook:133
  12.215 +msgid "QA: unknown category \"%s\""
  12.216 +msgstr ""
  12.217  
  12.218 -#: cook:128
  12.219 -#, sh-format
  12.220 -msgid "QA: unable to reach: $value"
  12.221 -msgstr "QA: 無法存取: $value"
  12.222 +#: cook:134
  12.223 +msgid "Please, use one of: %s"
  12.224 +msgstr "請用以下其中一項:%s"
  12.225  
  12.226 -#: cook:184
  12.227 -#, sh-format
  12.228 -msgid "Creating tarball: $tarball"
  12.229 -msgstr "創建tarball壓縮包中: $tarball"
  12.230 +#: cook:144
  12.231 +msgid "QA: unable to reach \"%s\""
  12.232 +msgstr "QA:無法存取:%s"
  12.233  
  12.234 -#: cook:207 cook:211
  12.235 -#, sh-format
  12.236 -msgid "ERROR: wget $WGET_URL"
  12.237 -msgstr "錯誤: wget $WGET_URL"
  12.238 +#: cook:204
  12.239 +msgid "Creating tarball \"%s\""
  12.240 +msgstr "創建tarball壓縮包中:%s"
  12.241  
  12.242 -#: cook:218
  12.243 -msgid "Getting source from Hg..."
  12.244 -msgstr "正在Hg中取得源文件"
  12.245 +#: cook:229 cook:234 cook:248 cook:250 cook:260 cook:330
  12.246 +msgid "ERROR: %s"
  12.247 +msgstr "錯誤:%s"
  12.248  
  12.249 -#: cook:219 cook:233 cook:245 cook:257
  12.250 -#, sh-format
  12.251 -msgid "URL: $url"
  12.252 -msgstr "URL: $url"
  12.253 +#: cook:242 cook:257 cook:272 cook:285 cook:296 cook:328
  12.254 +msgid "Getting source from %s..."
  12.255 +msgstr "正在%s中取得源文件"
  12.256  
  12.257 -#: cook:220
  12.258 -#, sh-format
  12.259 -msgid "Cloning to: $pwd/$pkgsrc"
  12.260 -msgstr "克隆到: $pwd/$pkgsrc"
  12.261 +#: cook:243 cook:258 cook:273 cook:286 cook:329
  12.262 +msgid "URL: %s"
  12.263 +msgstr "URL:%s"
  12.264  
  12.265 -#: cook:222
  12.266 -#, sh-format
  12.267 -msgid "Hg branch: $BRANCH"
  12.268 -msgstr "Hg branch: $BRANCH"
  12.269 -
  12.270 -#: cook:224
  12.271 -#, sh-format
  12.272 -msgid "ERROR: hg clone $url --rev $BRANCH"
  12.273 -msgstr "錯誤: hg clone $url --rev $BRANCH"
  12.274 -
  12.275 -#: cook:226
  12.276 -#, sh-format
  12.277 -msgid "ERROR: hg clone $url"
  12.278 -msgstr "錯誤: hg clone $url"
  12.279 -
  12.280 -#: cook:232
  12.281 -msgid "Getting source from Git..."
  12.282 -msgstr "正在由git取得源文件"
  12.283 -
  12.284 -#: cook:234
  12.285 -#, sh-format
  12.286 -msgid "ERROR: git clone $url"
  12.287 -msgstr "錯誤: git clone $url"
  12.288 -
  12.289 -#: cook:236
  12.290 -#, sh-format
  12.291 -msgid "Git branch: $BRANCH"
  12.292 -msgstr "Git branch: $BRANCH"
  12.293 -
  12.294 -#: cook:244
  12.295 -msgid "Getting source from CVS..."
  12.296 -msgstr "正在由CVS取得源文件"
  12.297 +#: cook:244 cook:275
  12.298 +msgid "Cloning to \"%s\""
  12.299 +msgstr "克隆到:%s"
  12.300  
  12.301  #: cook:246
  12.302 -#, sh-format
  12.303 -msgid "CVS module: $mod"
  12.304 -msgstr "CVS 模組: $mod"
  12.305 +msgid "Hg branch: %s"
  12.306 +msgstr ""
  12.307  
  12.308 -#: cook:247
  12.309 -#, sh-format
  12.310 -msgid "Cloning to: $pwd/$mod"
  12.311 -msgstr "克隆到: $pwd/$mod"
  12.312 +#: cook:262
  12.313 +msgid "Git branch: %s"
  12.314 +msgstr ""
  12.315  
  12.316 -#: cook:256
  12.317 -msgid "Getting source from SVN..."
  12.318 -msgstr "正在由SVN取得源文件"
  12.319 +#: cook:274
  12.320 +msgid "CVS module: %s"
  12.321 +msgstr "CVS 模組:%s"
  12.322  
  12.323 -#: cook:266
  12.324 -msgid "Getting source from bazaar..."
  12.325 -msgstr "正在由bazaar取得源文件"
  12.326 -
  12.327 -#: cook:276
  12.328 +#: cook:306
  12.329  msgid "Don't forget to add to receipt:"
  12.330  msgstr "記得要加到清單"
  12.331  
  12.332 -#: cook:283
  12.333 -#, sh-format
  12.334 -msgid "ERROR: Unable to handle: $WGET_URL"
  12.335 -msgstr "錯誤: 無法處理: $WGET_URL"
  12.336 +#: cook:314
  12.337 +msgid "ERROR: Unable to handle \"%s\""
  12.338 +msgstr "錯誤:無法處理:%s"
  12.339  
  12.340 -#: cook:295
  12.341 -#, sh-format
  12.342 -msgid "Getting source from mirror: $url"
  12.343 -msgstr "正在由鏡像取得源文件: $url"
  12.344 +#: cook:332
  12.345 +msgid "Extracting source archive \"%s\""
  12.346 +msgstr "正在解壓:%s"
  12.347  
  12.348 -#: cook:296
  12.349 -#, sh-format
  12.350 -msgid "ERROR: wget $url"
  12.351 -msgstr "錯誤: wget $url"
  12.352 +#. L10n: 'm' is for minutes (approximate cooking time)
  12.353 +#: cook:367
  12.354 +msgid "~ %dm"
  12.355 +msgstr "~ %dm"
  12.356  
  12.357 -#: cook:298
  12.358 -#, sh-format
  12.359 -msgid "Extracting: $TARBALL"
  12.360 -msgstr "正在解壓: $TARBALL"
  12.361 +#: cook:370
  12.362 +msgid "Summary for: %s"
  12.363 +msgstr "包摘要:%s"
  12.364 +
  12.365 +#. L10n: keep the same width of translations to get a consistent view
  12.366 +#: cook:374
  12.367 +msgid "Source dir  : %s"
  12.368 +msgstr "源路徑:%s"
  12.369 +
  12.370 +#: cook:375
  12.371 +msgid "Src file    : %s"
  12.372 +msgstr "源文件:%s"
  12.373 +
  12.374 +#: cook:376
  12.375 +msgid "Src size    : %s"
  12.376 +msgstr "源大小:%s"
  12.377 +
  12.378 +#: cook:377
  12.379 +msgid "Produced    : %s"
  12.380 +msgstr "已產生:%s"
  12.381 +
  12.382 +#: cook:378
  12.383 +msgid "Packed      : %s"
  12.384 +msgstr "已打包:%s"
  12.385 +
  12.386 +#: cook:379
  12.387 +msgid "Compressed  : %s"
  12.388 +msgstr "已壓縮:%s"
  12.389 +
  12.390 +#: cook:380
  12.391 +msgid "Files       : %s"
  12.392 +msgstr "文件:%s"
  12.393 +
  12.394 +#. L10n: 's' is for seconds (cooking time)
  12.395 +#: cook:382
  12.396 +msgid "Cook time   : %ds %s"
  12.397 +msgstr "生成時間:%ds %s"
  12.398 +
  12.399 +#: cook:383
  12.400 +msgid "Cook date   : %s"
  12.401 +msgstr "生成日期:%s"
  12.402 +
  12.403 +#: cook:383 cook:395 cook:1448 cook:1602
  12.404 +msgid "+%%F %%R"
  12.405 +msgstr "+%%F %%R"
  12.406 +
  12.407 +#: cook:384
  12.408 +msgid "Host arch   : %s"
  12.409 +msgstr "主機架構:%s"
  12.410 +
  12.411 +#: cook:392
  12.412 +msgid "Debug information"
  12.413 +msgstr "除錯資訊"
  12.414  
  12.415  #. L10n: specify your format of date and time (to help: man date)
  12.416  #. L10n: not bad one is '+%x %R'
  12.417 -#: cook:322 cook:349 cook:1277 cook:1384
  12.418 -msgid "+%Y-%m-%d %H:%M"
  12.419 -msgstr "+%Y-%m-%d %H:%M"
  12.420 -
  12.421 -#. L10n: 'm' is for minutes (approximate cooking time)
  12.422 -#: cook:326
  12.423 -#, sh-format
  12.424 -msgid "~ ${div}m"
  12.425 -msgstr "~ ${div}m"
  12.426 -
  12.427 -#: cook:327
  12.428 -#, sh-format
  12.429 -msgid "Summary for: $PACKAGE $VERSION"
  12.430 -msgstr "包摘要: $PACKAGE $VERSION"
  12.431 -
  12.432 -#. L10n: keep the same width of translations to get a consistent view
  12.433 -#: cook:330
  12.434 -#, sh-format
  12.435 -msgid "Source dir  : $srcdir"
  12.436 -msgstr "源路徑 : $srcdir"
  12.437 -
  12.438 -#: cook:331
  12.439 -#, sh-format
  12.440 -msgid "Src file    : $TARBALL"
  12.441 -msgstr "源文件 : $TARBALL"
  12.442 -
  12.443 -#: cook:332
  12.444 -#, sh-format
  12.445 -msgid "Src size    : $srcsize"
  12.446 -msgstr "源大小  : $srcsize"
  12.447 -
  12.448 -#: cook:333
  12.449 -#, sh-format
  12.450 -msgid "Produced    : $prod"
  12.451 -msgstr "已產生  : $prod"
  12.452 -
  12.453 -#: cook:334
  12.454 -#, sh-format
  12.455 -msgid "Packed      : $fs"
  12.456 -msgstr "已打包  : $fs"
  12.457 -
  12.458 -#: cook:335
  12.459 -#, sh-format
  12.460 -msgid "Compressed  : $size"
  12.461 -msgstr "已壓縮  : $size"
  12.462 -
  12.463 -#: cook:336
  12.464 -#, sh-format
  12.465 -msgid "Files       : $files"
  12.466 -msgstr "文件    : $files"
  12.467 -
  12.468 -#. L10n: 's' is for seconds (cooking time)
  12.469 -#: cook:338
  12.470 -#, sh-format
  12.471 -msgid "Cook time   : ${sec}s $min"
  12.472 -msgstr "生成時間   : ${sec}s $min"
  12.473 -
  12.474 -#: cook:339
  12.475 -#, sh-format
  12.476 -msgid "Cook date   : $cookdate"
  12.477 -msgstr "生成日期   : $cookdate"
  12.478 -
  12.479 -#: cook:340
  12.480 -#, sh-format
  12.481 -msgid "Host arch   : $ARCH"
  12.482 -msgstr "主機架構   : $ARXH"
  12.483 -
  12.484 -#: cook:346
  12.485 -msgid "Debug information"
  12.486 -msgstr "除錯資訊"
  12.487 -
  12.488 -#: cook:350
  12.489 -#, sh-format
  12.490 -msgid "Cook date: $datenow"
  12.491 -msgstr "生成日期: $datenow"
  12.492 +#: cook:395
  12.493 +msgid "Cook date: %s"
  12.494 +msgstr "生成日期:%s"
  12.495  
  12.496  #. L10n: Please, translate all messages beginning with ERROR in a same way
  12.497 -#: cook:352 cook:614 cook:711 cook:742 cook:828 cook:1527
  12.498 +#: cook:397 cook:661 cook:765 cook:799 cook:889 cook:1766
  12.499  msgid "ERROR"
  12.500  msgstr "錯誤"
  12.501  
  12.502 -#: cook:437
  12.503 +#: cook:484
  12.504  msgid "Executing strip on all files..."
  12.505  msgstr "正在為所有文件減肥"
  12.506  
  12.507 -#: cook:450
  12.508 +#: cook:496
  12.509  msgid "Removing Python compiled files..."
  12.510  msgstr "正在刪除Python編譯出的文件"
  12.511  
  12.512 -#: cook:458
  12.513 +#: cook:503
  12.514  msgid "Removing Perl compiled files..."
  12.515  msgstr "正在刪除Perl編譯出的文件"
  12.516  
  12.517 -#: cook:472 cook:600
  12.518 -msgid "Build dependencies to remove: "
  12.519 +#: cook:518 cook:647
  12.520 +msgid "Build dependencies to remove:"
  12.521  msgstr "要刪除的編譯依賴"
  12.522  
  12.523 -#: cook:473 cook:601
  12.524 +#: cook:520 cook:648
  12.525  msgid "Removing:"
  12.526 -msgstr "正在刪除:"
  12.527 +msgstr "正在刪除:"
  12.528  
  12.529 -#: cook:487
  12.530 -#, sh-format
  12.531 -msgid "Cook: $PACKAGE $VERSION"
  12.532 -msgstr "Cook: $PACKAGE $VERSION"
  12.533 +#: cook:535
  12.534 +msgid "Cook: %s"
  12.535 +msgstr ""
  12.536  
  12.537 -#: cook:501
  12.538 -#, sh-format
  12.539 -msgid "$ARCH sysroot: $sysroot"
  12.540 -msgstr "$ARCH sysroot: $sysroot"
  12.541 +#: cook:549
  12.542 +msgid "%s sysroot: %s"
  12.543 +msgstr ""
  12.544  
  12.545 -#: cook:502
  12.546 -#, sh-format
  12.547 -msgid "Adding $tools/bin to PATH"
  12.548 -msgstr "正將 $tools/bin 加入 PATH"
  12.549 +#: cook:550
  12.550 +msgid "Adding \"%s\" to PATH"
  12.551 +msgstr "正將 %s 加入 PATH"
  12.552  
  12.553 -#: cook:506
  12.554 -#, sh-format
  12.555 -msgid "Using cross-tools: $CROSS_COMPILE"
  12.556 -msgstr "正使用cross-tools: $CROSS_COMPILE"
  12.557 +#: cook:554
  12.558 +msgid "Using cross-tools: %s"
  12.559 +msgstr "正使用cross-tools:%s"
  12.560  
  12.561 -#: cook:528
  12.562 -#, sh-format
  12.563 -msgid "Disabling -pipe compile flag: $free RAM"
  12.564 -msgstr "正在禁用 -pipe 編譯標誌: $free RAM"
  12.565 +#: cook:578
  12.566 +msgid "Disabling -pipe compile flag: %d RAM free"
  12.567 +msgstr "正在禁用 -pipe 編譯標誌:%d RAM"
  12.568  
  12.569 -#: cook:545
  12.570 +#: cook:594
  12.571  msgid "Checking build dependencies..."
  12.572  msgstr "正在檢查編譯依賴"
  12.573  
  12.574 -#: cook:546
  12.575 -#, sh-format
  12.576 -msgid "Using packages DB: ${root}$DB"
  12.577 -msgstr "正使用包數據庫: ${root}$DB"
  12.578 +#: cook:595
  12.579 +msgid "Using packages DB: %s"
  12.580 +msgstr "正使用包數據庫:%s"
  12.581  
  12.582 -#: cook:572
  12.583 -#, sh-format
  12.584 -msgid "Missing dep (wok/pkg): $i $vers"
  12.585 -msgstr "欠缺依賴 (wok/pkg): $i $vers"
  12.586 +#: cook:619
  12.587 +msgid "Missing dep (wok/pkg): %s"
  12.588 +msgstr "欠缺依賴 (wok/pkg):%s"
  12.589  
  12.590 -#: cook:580
  12.591 -#, sh-format
  12.592 -msgid "ERROR: unknown dep $i"
  12.593 -msgstr "錯誤: 未知依賴 $i"
  12.594 +#: cook:627
  12.595 +msgid "ERROR: unknown dep \"%s\""
  12.596 +msgstr "錯誤:未知依賴 %s"
  12.597  
  12.598 -#: cook:593
  12.599 -msgid "Auto cook config is set: AUTO_COOK"
  12.600 -msgstr "自動生成已配置: AUTO_COOK"
  12.601 +#: cook:641
  12.602 +msgid "Auto cook config is set: %s"
  12.603 +msgstr "自動生成已配置:%s"
  12.604  
  12.605 -#: cook:597
  12.606 -#, sh-format
  12.607 -msgid "Building dep (wok/pkg)    : $i $vers"
  12.608 -msgstr "正在生成依賴 (wok/pkg)   : $i $vers"
  12.609 +#: cook:644
  12.610 +msgid "Building dep (wok/pkg)    : %s"
  12.611 +msgstr "正在生成依賴 (wok/pkg):%s"
  12.612  
  12.613 -#: cook:602
  12.614 -#, sh-format
  12.615 -msgid "ERROR: can't cook dep '$i'"
  12.616 -msgstr "錯誤: 無法生成依賴 '$i'"
  12.617 +#: cook:649
  12.618 +msgid "ERROR: can't cook dep \"%s\""
  12.619 +msgstr "錯誤:無法生成依賴 '%s'"
  12.620  
  12.621 -#: cook:617
  12.622 -#, sh-format
  12.623 -msgid "ERROR: missing dep $nb"
  12.624 -msgstr "錯誤: 欠缺依賴 $nb"
  12.625 +#: cook:664
  12.626 +msgid "ERROR: missing %d dependency"
  12.627 +msgid_plural "ERROR: missing %d dependencies"
  12.628 +msgstr[0] "錯誤:欠缺依賴 %d"
  12.629  
  12.630 -#: cook:624
  12.631 -#, sh-format
  12.632 -msgid "Installing dep (pkg/local): $i"
  12.633 -msgstr "正在安裝依賴 (包/本地): $i"
  12.634 +#: cook:671
  12.635 +msgid "Installing dep (pkg/local): %s"
  12.636 +msgstr "正在安裝依賴 (包/本地):%s"
  12.637  
  12.638 -#: cook:632
  12.639 -#, sh-format
  12.640 -msgid "Installing dep (web/cache): $i"
  12.641 -msgstr "正在安裝依賴 (在線/緩存): $i"
  12.642 +#: cook:678
  12.643 +msgid "Installing dep (web/cache): %s"
  12.644 +msgstr "正在安裝依賴 (在線/緩存):%s"
  12.645  
  12.646 -#: cook:682
  12.647 -msgid "Executing: compile_rules"
  12.648 -msgstr "正執行: 編譯規則"
  12.649 +#: cook:734 cook:789
  12.650 +msgid "Executing: %s"
  12.651 +msgstr "正執行:%s"
  12.652  
  12.653 -#: cook:699
  12.654 +#: cook:751
  12.655  msgid "Running testsuite"
  12.656  msgstr "正運行測試"
  12.657  
  12.658 -#: cook:708
  12.659 +#: cook:762
  12.660  msgid "ERROR: cook failed"
  12.661 -msgstr "錯誤: 生成失敗"
  12.662 +msgstr "錯誤:生成失敗"
  12.663  
  12.664 -#: cook:729
  12.665 -#, sh-format
  12.666 -msgid "Pack: $PACKAGE ${VERSION}${arch}"
  12.667 -msgstr "Pack: $PACKAGE ${VERSION}${arch}"
  12.668 +#: cook:786
  12.669 +msgid "Pack: %s"
  12.670 +msgstr ""
  12.671  
  12.672 -#: cook:732
  12.673 -msgid "Executing: genpkg_rules"
  12.674 -msgstr "正在執行: 包生成規則"
  12.675 +#: cook:791
  12.676 +msgid "ERROR: genpkg_rules failed"
  12.677 +msgstr "錯誤:生成包規則錯誤"
  12.678  
  12.679 -#: cook:734
  12.680 -msgid "ERROR: genpkg_rules failed"
  12.681 -msgstr "錯誤: 生成包規則錯誤"
  12.682 +#: cook:794
  12.683 +msgid "No packages rules: meta package"
  12.684 +msgstr "沒有包規則:元包"
  12.685  
  12.686 -#: cook:737
  12.687 -msgid "No packages rules: meta package"
  12.688 -msgstr "沒有包規則: 元包"
  12.689 +#: cook:807
  12.690 +msgid "Copying \"%s\"..."
  12.691 +msgstr "正在拷貝 %s..."
  12.692  
  12.693 -#: cook:751
  12.694 -#, sh-format
  12.695 -msgid "Copying $file..."
  12.696 -msgstr "正在拷貝 $file..."
  12.697 -
  12.698 -#: cook:757
  12.699 +#: cook:816
  12.700  msgid "Creating the list of files..."
  12.701  msgstr "正在創建文件清單"
  12.702  
  12.703 -#: cook:768
  12.704 +#: cook:824
  12.705  msgid "Creating md5sum of files..."
  12.706  msgstr "正在創建文件md5校驗和"
  12.707  
  12.708 -#: cook:783
  12.709 -msgid "Compressing the fs..."
  12.710 +#: cook:839
  12.711 +msgid "Compressing the FS..."
  12.712  msgstr "正在壓縮文件系統"
  12.713  
  12.714 -#: cook:790
  12.715 +#: cook:847
  12.716  msgid "Updating receipt sizes..."
  12.717  msgstr "正在更新清單大小"
  12.718  
  12.719 -#: cook:798
  12.720 -#, sh-format
  12.721 -msgid "Updating receipt EXTRAVERSION: $EXTRAVERSION"
  12.722 -msgstr "正在更新包額外版本: $EXTRAVERSION"
  12.723 +#: cook:855
  12.724 +msgid "Updating receipt EXTRAVERSION: %s"
  12.725 +msgstr "正在更新包額外版本:%s"
  12.726  
  12.727 -#: cook:805
  12.728 +#: cook:862
  12.729  msgid "Creating full cpio archive..."
  12.730  msgstr "正在創建完整cpio壓縮包"
  12.731  
  12.732 -#: cook:809
  12.733 +#: cook:867
  12.734  msgid "Restoring original package tree..."
  12.735  msgstr "正復原包樹"
  12.736  
  12.737 -#: cook:817
  12.738 -#, sh-format
  12.739 -msgid "Package: $tazpkg"
  12.740 -msgstr "包: $tazpkg"
  12.741 +#: cook:876
  12.742 +msgid "Package \"%s\" created"
  12.743 +msgstr "包:%s"
  12.744  
  12.745 -#: cook:833
  12.746 +#: cook:895
  12.747  msgid "QA: checking for empty package..."
  12.748  msgstr ""
  12.749  
  12.750 -#: cook:836
  12.751 +#: cook:898
  12.752  msgid "ERROR: empty package"
  12.753 -msgstr "錯誤: 空包"
  12.754 +msgstr "錯誤:空包"
  12.755  
  12.756 -#: cook:844
  12.757 -#, sh-format
  12.758 -msgid "Removing old: $old_pkg"
  12.759 -msgstr "正在刪除舊包: $old_pkg"
  12.760 +#: cook:906
  12.761 +msgid "Removing old package \"%s\""
  12.762 +msgstr "正在刪除舊包:%s"
  12.763  
  12.764 -#: cook:874
  12.765 +#: cook:940
  12.766  msgid "Unable to install package, build has failed."
  12.767  msgstr "無法安裝包,生成失敗"
  12.768  
  12.769 -#: cook:883
  12.770 -#, sh-format
  12.771 -msgid "Updating $ARCH chroot environment..."
  12.772 -msgstr "正在更新 $ARCH chroot 環境"
  12.773 +#: cook:949
  12.774 +msgid "Updating %s chroot environment..."
  12.775 +msgstr "正在更新 %s chroot 環境"
  12.776  
  12.777 -#: cook:884
  12.778 -#, sh-format
  12.779 -msgid "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
  12.780 -msgstr "正在更新 chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})"
  12.781 +#: cook:950
  12.782 +msgid "Updating chroot: %s"
  12.783 +msgstr "正在更新 chroot:%s"
  12.784  
  12.785 -#: cook:905
  12.786 +#: cook:982
  12.787  msgid "Setup aufs chroot..."
  12.788  msgstr "正設置 aufs chroot"
  12.789  
  12.790 -#: cook:917
  12.791 -msgid "Aufs mountage failure"
  12.792 -msgstr "Aufs mountage 錯誤"
  12.793 +#: cook:994
  12.794 +msgid "Aufs mount failure"
  12.795 +msgstr "Aufs mount 錯誤"
  12.796  
  12.797 -#: cook:928
  12.798 +#: cook:1006
  12.799  msgid "Leaving aufs chroot..."
  12.800  msgstr "正離開 aufs chroot..."
  12.801  
  12.802 -#: cook:1030
  12.803 -#, sh-format
  12.804 -msgid "List of $ARCH packages in: $WOK"
  12.805 -msgstr "$WOK 內的 $ARCH 包清單"
  12.806 +#: cook:1075
  12.807 +msgid "Multiple choice:"
  12.808 +msgstr ""
  12.809  
  12.810 -#: cook:1046
  12.811 -msgid "Packages:"
  12.812 -msgstr "包:"
  12.813 +#: cook:1076
  12.814 +msgid "Select one [%s]: "
  12.815 +msgstr ""
  12.816  
  12.817 -#: cook:1053
  12.818 -#, sh-format
  12.819 -msgid "Search results for: $query"
  12.820 -msgstr "$query 的搜索結果"
  12.821 +#: cook:1117
  12.822 +msgid "Getting standard devel files..."
  12.823 +msgstr ""
  12.824  
  12.825 -#: cook:1059
  12.826 +#: cook:1134
  12.827 +msgid "List of %s packages in \"%s\""
  12.828 +msgstr "%2$s 內的 %1$s 包清單"
  12.829 +
  12.830 +#: cook:1150
  12.831 +msgid "%s package"
  12.832 +msgid_plural "%s packages"
  12.833 +msgstr[0] "包:"
  12.834 +
  12.835 +#: cook:1159
  12.836 +msgid "Search results for \"%s\""
  12.837 +msgstr "%s 的搜索結果"
  12.838 +
  12.839 +#: cook:1166
  12.840  msgid "Cook: setup environment"
  12.841 -msgstr "Cook: 設置環境"
  12.842 +msgstr "Cook:設置環境"
  12.843  
  12.844 -#: cook:1060
  12.845 +#: cook:1167
  12.846  msgid "Setting up your environment"
  12.847  msgstr "設置個人環境"
  12.848  
  12.849 -#: cook:1063
  12.850 +#: cook:1170
  12.851  msgid "Checking for packages to install..."
  12.852  msgstr "檢查要安裝的包"
  12.853  
  12.854 -#: cook:1069
  12.855 -msgid "ERROR: cross is not installed"
  12.856 -msgstr "錯誤: 未安裝cross"
  12.857 +#: cook:1176
  12.858 +msgid "ERROR: %s is not installed"
  12.859 +msgstr "錯誤:未安裝%s"
  12.860  
  12.861 -#: cook:1072
  12.862 -msgid "Using config file: /etc/slitaz/cross.conf"
  12.863 -msgstr "使用配置文件: /etc/slitaz/cross.conf"
  12.864 +#: cook:1179
  12.865 +msgid "Using config file: %s"
  12.866 +msgstr "使用配置文件:%s"
  12.867  
  12.868 -#: cook:1097
  12.869 -msgid "Adding group: slitaz"
  12.870 -msgstr "正在加入組: slitaz"
  12.871 +#: cook:1200
  12.872 +msgid "Adding group \"%s\""
  12.873 +msgstr "正在加入組:%s"
  12.874  
  12.875 -#: cook:1100
  12.876 -msgid "Setting permissions for slitaz group..."
  12.877 -msgstr "正在設置slitaz組的權限"
  12.878 +#: cook:1203
  12.879 +msgid "Setting permissions for group \"%s\"..."
  12.880 +msgstr "正在設置%s組的權限"
  12.881  
  12.882 -#: cook:1103
  12.883 +#: cook:1206
  12.884  msgid "All done, ready to cook packages :-)"
  12.885  msgstr "完成,可以開始生成包 :-)"
  12.886  
  12.887 -#: cook:1116
  12.888 -#, sh-format
  12.889 -msgid "Cook: setup $arch cross environment"
  12.890 -msgstr "生成: 設置 $arch cross 環境"
  12.891 +#: cook:1221
  12.892 +msgid "Cook: setup %s cross environment"
  12.893 +msgstr "生成:設置 %s cross 環境"
  12.894  
  12.895 -#: cook:1117
  12.896 -#, sh-format
  12.897 -msgid "Setting up your $arch cross environment"
  12.898 -msgstr "正在設置你的 $arch cross 環境"
  12.899 +#: cook:1222
  12.900 +msgid "Setting up your %s cross environment"
  12.901 +msgstr "正在設置你的 %s cross 環境"
  12.902  
  12.903  #. L10n: keep the same width of translations to get a consistent view
  12.904 -#: cook:1148
  12.905 -#, sh-format
  12.906 -msgid "Target arch     : $ARCH"
  12.907 -msgstr "目標架構   : $ARCH"
  12.908 +#: cook:1251
  12.909 +msgid "Target arch     : %s"
  12.910 +msgstr "目標架構:%s"
  12.911  
  12.912 -#: cook:1149
  12.913 -#, sh-format
  12.914 -msgid "Configure args  : $CONFIGURE_ARGS"
  12.915 -msgstr "設置標誌   : $CONFIGURE_ARGS"
  12.916 +#: cook:1252
  12.917 +msgid "Configure args  : %s"
  12.918 +msgstr "設置標誌:%s"
  12.919  
  12.920 -#: cook:1150
  12.921 -#, sh-format
  12.922 -msgid "Build flags     : $flags"
  12.923 -msgstr "編譯標誌   : $flags"
  12.924 +#: cook:1253
  12.925 +msgid "Build flags     : %s"
  12.926 +msgstr "編譯標誌:%s"
  12.927  
  12.928 -#: cook:1151
  12.929 -#, sh-format
  12.930 -msgid "Arch sysroot    : $sysroot"
  12.931 -msgstr "Arch sysroot   : $sysroot"
  12.932 +#: cook:1254
  12.933 +msgid "Arch sysroot    : %s"
  12.934 +msgstr ""
  12.935  
  12.936 -#: cook:1152
  12.937 -#, sh-format
  12.938 -msgid "Tools prefix    : $tools/bin"
  12.939 -msgstr "工具前綴   : $tools/bin"
  12.940 +#: cook:1255
  12.941 +msgid "Tools prefix    : %s"
  12.942 +msgstr "工具前綴:%s"
  12.943  
  12.944 -#: cook:1154
  12.945 -#, sh-format
  12.946 -msgid "Packages DB     : ${root}$DB"
  12.947 -msgstr "包數據庫   : ${root}$DB"
  12.948 +#: cook:1257
  12.949 +msgid "Packages DB     : %s"
  12.950 +msgstr "包數據庫:%s"
  12.951  
  12.952 -#: cook:1165
  12.953 -msgid "WARNING: (e)glibc-base is not installed in sysroot"
  12.954 -msgstr "警告: 並無在sysroot 安裝 (e)glibc-base "
  12.955 +#: cook:1268
  12.956 +msgid "WARNING: %s is not installed in sysroot"
  12.957 +msgstr "警告:並無在sysroot 安裝 %s"
  12.958  
  12.959 -#: cook:1169
  12.960 -#, sh-format
  12.961 -msgid "Cross compiler  : ${HOST_SYSTEM}-gcc"
  12.962 -msgstr "交叉編譯器   : ${HOST_SYSTEM}-gcc"
  12.963 +#: cook:1272
  12.964 +msgid "Cross compiler  : %s"
  12.965 +msgstr "交叉編譯器:%s"
  12.966  
  12.967 -#: cook:1171
  12.968 -#, sh-format
  12.969 -msgid "C compiler is missing: ${HOST_SYSTEM}-gcc"
  12.970 -msgstr "欠缺C編譯器: ${HOST_SYSTEM}-gcc"
  12.971 +#: cook:1274
  12.972 +msgid "C compiler \"%s\" is missing"
  12.973 +msgstr "欠缺C編譯器:%s"
  12.974  
  12.975 -#: cook:1172
  12.976 -msgid "Run 'cross compile' to cook a toolchain"
  12.977 -msgstr "運行 'cross compile' 以生成工具串"
  12.978 +#: cook:1275
  12.979 +msgid "Run \"%s\" to cook a toolchain"
  12.980 +msgstr "運行 '%s' 以生成工具串"
  12.981  
  12.982 -#: cook:1177
  12.983 +#: cook:1281
  12.984  msgid "Cook test: testing the cook environment"
  12.985 -msgstr "生成測試: 正在測試生成環境"
  12.986 +msgstr "生成測試:正在測試生成環境"
  12.987  
  12.988 -#: cook:1187
  12.989 -#, sh-format
  12.990 -msgid "$pkg package already exists."
  12.991 -msgstr "$pkg 包已存在"
  12.992 +#: cook:1292
  12.993 +msgid "Package \"%s\" already exists."
  12.994 +msgstr "%s 包已存在"
  12.995  
  12.996 -#: cook:1190
  12.997 -#, sh-format
  12.998 -msgid "Creating $WOK/$pkg"
  12.999 -msgstr "正在創建 $WOK/$pkg"
 12.1000 +#: cook:1296
 12.1001 +msgid "Creating folder \"%s\""
 12.1002 +msgstr "正在創建 %s"
 12.1003  
 12.1004 -#: cook:1192
 12.1005 +#: cook:1299
 12.1006  msgid "Preparing the package receipt..."
 12.1007  msgstr "正預備包清單"
 12.1008  
 12.1009 -#: cook:1200
 12.1010 +#: cook:1307
 12.1011  msgid "Entering interactive mode..."
 12.1012  msgstr "正進入互動模式"
 12.1013  
 12.1014 -#: cook:1202
 12.1015 -#, sh-format
 12.1016 -msgid "Package       : $pkg"
 12.1017 -msgstr "包   : $pkg"
 12.1018 +#: cook:1309
 12.1019 +msgid "Package       : %s"
 12.1020 +msgstr "包:%s"
 12.1021  
 12.1022 -#: cook:1203
 12.1023 +#: cook:1311
 12.1024  msgid "Version       : "
 12.1025 -msgstr "版本   : "
 12.1026 +msgstr "版本:"
 12.1027  
 12.1028 -#: cook:1205
 12.1029 +#: cook:1314
 12.1030  msgid "Category      : "
 12.1031 -msgstr "分類   : "
 12.1032 +msgstr "分類:"
 12.1033  
 12.1034  #. L10n: Short description
 12.1035 -#: cook:1208
 12.1036 +#: cook:1318
 12.1037  msgid "Short desc    : "
 12.1038 -msgstr "簡短描述   : "
 12.1039 +msgstr "簡短描述:"
 12.1040  
 12.1041 -#: cook:1210
 12.1042 +#: cook:1321
 12.1043  msgid "Maintainer    : "
 12.1044 -msgstr "維護者   : "
 12.1045 +msgstr "維護者:"
 12.1046  
 12.1047 -#: cook:1212
 12.1048 +#: cook:1324
 12.1049  msgid "License       : "
 12.1050 -msgstr "授權 : "
 12.1051 +msgstr "授權:"
 12.1052  
 12.1053 -#: cook:1214
 12.1054 +#: cook:1327
 12.1055  msgid "Web site      : "
 12.1056 -msgstr "網站   : "
 12.1057 +msgstr "網站:"
 12.1058  
 12.1059 -#: cook:1218
 12.1060 +#: cook:1332
 12.1061  msgid "Wget URL to download source tarball."
 12.1062  msgstr "Wget URL 以下載源tarball包"
 12.1063  
 12.1064 -#: cook:1219
 12.1065 +#: cook:1333
 12.1066  msgid "Example  : "
 12.1067 -msgstr "例子   : "
 12.1068 +msgstr "例子:"
 12.1069  
 12.1070 -#: cook:1220
 12.1071 +#: cook:1334
 12.1072  msgid "Wget url : "
 12.1073 -msgstr "Wget url : "
 12.1074 +msgstr ""
 12.1075  
 12.1076 -#: cook:1223
 12.1077 -msgid "Do you need a stuff directory? (y/N) : "
 12.1078 -msgstr "你需要一個stuff目錄嗎? (y/N) : "
 12.1079 +#: cook:1338
 12.1080 +msgid "Do you need a stuff directory? (y/N)"
 12.1081 +msgstr "你需要一個stuff目錄嗎? (y/N):"
 12.1082  
 12.1083 -#: cook:1225
 12.1084 +#: cook:1340
 12.1085  msgid "Creating the stuff directory..."
 12.1086  msgstr "正在創建stuff目錄"
 12.1087  
 12.1088 -#: cook:1229
 12.1089 -msgid "Are you going to write a description? (y/N) : "
 12.1090 -msgstr "你想寫一個描述嗎? (y/N) : "
 12.1091 +#: cook:1345
 12.1092 +msgid "Are you going to write a description? (y/N)"
 12.1093 +msgstr "你想寫一個描述嗎? (y/N):"
 12.1094  
 12.1095 -#: cook:1231
 12.1096 -msgid "Creating the description.txt file..."
 12.1097 -msgstr "正在創建 description.txt 文件"
 12.1098 +#: cook:1347
 12.1099 +msgid "Creating the \"%s\" file..."
 12.1100 +msgstr "正在創建 %s 文件"
 12.1101  
 12.1102 -#: cook:1234
 12.1103 +#: cook:1351
 12.1104  msgid "Receipt is ready to use."
 12.1105  msgstr "清單已可使用"
 12.1106  
 12.1107 -#: cook:1240
 12.1108 +#: cook:1359
 12.1109  msgid "No list in argument."
 12.1110  msgstr "參數裏沒有清單"
 12.1111  
 12.1112 -#: cook:1242
 12.1113 -#, sh-format
 12.1114 -msgid "No list found: $list2"
 12.1115 -msgstr "找不到清單: $list2"
 12.1116 +#: cook:1363
 12.1117 +msgid "List \"%s\" not found."
 12.1118 +msgstr "找不到清單:%s"
 12.1119  
 12.1120 -#: cook:1243
 12.1121 -#, sh-format
 12.1122 -msgid "Cook list starting: $list2"
 12.1123 -msgstr "己在按清單生成: $list2"
 12.1124 +#: cook:1367
 12.1125 +msgid "Starting cooking the list \"%s\""
 12.1126 +msgstr "己在按清單生成:%s"
 12.1127  
 12.1128 -#: cook:1250
 12.1129 +#: cook:1375
 12.1130  msgid "Cleaning all packages files..."
 12.1131  msgstr "清除所有包文件"
 12.1132  
 12.1133 -#: cook:1255
 12.1134 +#: cook:1381
 12.1135  msgid "Cleaning all packages sources..."
 12.1136  msgstr "清除所有包源文件"
 12.1137  
 12.1138 -#: cook:1268
 12.1139 -msgid "Packages directory doesn't exist"
 12.1140 -msgstr "包目錄不存在"
 12.1141 -
 12.1142 -#: cook:1275
 12.1143 -msgid "Cook pkgdb: Creating all packages lists"
 12.1144 -msgstr "Cook pkgdb: 創建所有包清單"
 12.1145 -
 12.1146 -#: cook:1276
 12.1147 -#, sh-format
 12.1148 -msgid "Creating lists for: $PKGS"
 12.1149 -msgstr "正在為 $PKGS 包創建清單"
 12.1150 -
 12.1151 -#: cook:1278
 12.1152 -#, sh-format
 12.1153 -msgid "Cook pkgdb started: $datenow"
 12.1154 -msgstr "已開始生成 pkgdb : $datenow"
 12.1155 -
 12.1156 -#: cook:1281
 12.1157 -msgid "Creating: packages.list"
 12.1158 -msgstr "正在創建: packages.list"
 12.1159 -
 12.1160 -#: cook:1283
 12.1161 -msgid "Creating: packages.md5"
 12.1162 -msgstr "正在創建: packages.md5"
 12.1163 -
 12.1164 -#: cook:1286
 12.1165 -#, sh-format
 12.1166 -msgid "Creating lists from: $WOK"
 12.1167 +#: cook:1388
 12.1168 +msgid "Checking for uncooked packages"
 12.1169  msgstr ""
 12.1170  
 12.1171 -#: cook:1328
 12.1172 -msgid "Done: packages.desc"
 12.1173 -msgstr "完成: packages.desc"
 12.1174 +#: cook:1401
 12.1175 +msgid "Package \"%s\""
 12.1176 +msgstr "包%s"
 12.1177  
 12.1178 -#: cook:1329
 12.1179 -msgid "Done: packages.txt"
 12.1180 -msgstr "完成: packages.txt"
 12.1181 +#: cook:1420
 12.1182 +msgid "%s uncooked package"
 12.1183 +msgid_plural "%s uncooked packages"
 12.1184 +msgstr[0] ""
 12.1185  
 12.1186 -#: cook:1330
 12.1187 -msgid "Done: packages.equiv"
 12.1188 -msgstr "完成: packages.equiv"
 12.1189 +#: cook:1422
 12.1190 +msgid "All packages are cooked :-)"
 12.1191 +msgstr ""
 12.1192  
 12.1193 -#: cook:1333
 12.1194 -msgid "Creating: files.list.lzma"
 12.1195 -msgstr "正在創建: files.list.lzma"
 12.1196 +#: cook:1435
 12.1197 +msgid "Packages directory \"%s\" doesn't exist"
 12.1198 +msgstr "包目錄不存在%s"
 12.1199 +
 12.1200 +#: cook:1445
 12.1201 +msgid "Cook pkgdb: Creating all packages lists"
 12.1202 +msgstr "Cook pkgdb:創建所有包清單"
 12.1203 +
 12.1204 +#: cook:1446
 12.1205 +msgid "Creating lists for \"%s\""
 12.1206 +msgstr "正在為 %s 包創建清單"
 12.1207 +
 12.1208 +#: cook:1448
 12.1209 +msgid "Cook pkgdb started: %s"
 12.1210 +msgstr "已開始生成 pkgdb:%s"
 12.1211 +
 12.1212 +#: cook:1454 cook:1457 cook:1523 cook:1535 cook:1540
 12.1213 +msgid "Creating file \"%s\""
 12.1214 +msgstr "正在創建:%s"
 12.1215 +
 12.1216 +#: cook:1463
 12.1217 +msgid "Creating lists from \"%s\""
 12.1218 +msgstr ""
 12.1219 +
 12.1220 +#: cook:1516 cook:1517 cook:1518 cook:1529 cook:1547
 12.1221 +msgid "Done: %s (%s)"
 12.1222 +msgstr "完成:%s (%s)"
 12.1223  
 12.1224  #. L10n: 's' is for seconds (cooking time)
 12.1225 -#: cook:1342
 12.1226 -#, sh-format
 12.1227 -msgid "Packages: $nb - Time: ${time}s"
 12.1228 -msgstr "包: $nb - Time: ${time}s"
 12.1229 +#: cook:1554
 12.1230 +msgid "Packages: %s - Time: %ss"
 12.1231 +msgstr "包:%s - Time:%ss"
 12.1232  
 12.1233 -#: cook:1348
 12.1234 -#, sh-format
 12.1235 -msgid "Missing flavors: $flavors"
 12.1236 -msgstr "欠缺設置: $flavors"
 12.1237 +#: cook:1563
 12.1238 +msgid "Missing flavors folder \"%s\""
 12.1239 +msgstr "欠缺設置:%s"
 12.1240  
 12.1241 -#: cook:1350
 12.1242 -#, sh-format
 12.1243 -msgid "Creating flavors files in: $live"
 12.1244 -msgstr "正在於 $live 創建設置文件"
 12.1245 +#: cook:1568
 12.1246 +msgid "Creating flavors files in \"%s\""
 12.1247 +msgstr "正在於 %s 創建設置文件"
 12.1248  
 12.1249 -#: cook:1351
 12.1250 +#: cook:1569
 12.1251  msgid "Cook pkgdb: Creating all flavors"
 12.1252 -msgstr "生成 pkgdb: 正創建所有設置"
 12.1253 +msgstr "生成 pkgdb:正創建所有設置"
 12.1254  
 12.1255 -#: cook:1353
 12.1256 +#: cook:1572
 12.1257  msgid "Recharging lists to use latest packages..."
 12.1258  msgstr "重新載入清單以使用最新包"
 12.1259  
 12.1260 -#: cook:1358
 12.1261 -msgid "Creating configuration file: tazlito.conf"
 12.1262 -msgstr "正創建配置文件: tazlito.conf"
 12.1263 +#: cook:1577
 12.1264 +msgid "Creating configuration file \"%s\""
 12.1265 +msgstr "正創建配置文件:%s"
 12.1266  
 12.1267 -#: cook:1368
 12.1268 +#: cook:1589
 12.1269  msgid "Starting to generate flavors..."
 12.1270  msgstr "開始生成設置"
 12.1271  
 12.1272 -#: cook:1373
 12.1273 -#, sh-format
 12.1274 -msgid "Packing flavor: $fl"
 12.1275 -msgstr "正打包設置: $fl"
 12.1276 +#: cook:1593
 12.1277 +msgid "Packing flavor \"%s\""
 12.1278 +msgstr "正打包設置:%s"
 12.1279  
 12.1280 -#: cook:1381
 12.1281 -#, sh-format
 12.1282 -msgid "Flavors size: $fl_size"
 12.1283 -msgstr "設置大小: $fl_size"
 12.1284 +#: cook:1599
 12.1285 +msgid "Total flavors size: %s"
 12.1286 +msgstr "設置大小:%s"
 12.1287  
 12.1288 -#: cook:1385
 12.1289 -#, sh-format
 12.1290 -msgid "Cook pkgdb end: $datenow"
 12.1291 -msgstr "生成 pkgdb 完成: $datenow"
 12.1292 +#: cook:1602
 12.1293 +msgid "Cook pkgdb end: %s"
 12.1294 +msgstr "生成 pkgdb 完成:%s"
 12.1295  
 12.1296 -#: cook:1412
 12.1297 -#, sh-format
 12.1298 -msgid "cook: HOST_ARCH is not set in $pkg receipt"
 12.1299 -msgstr "生成: 沒有在 $pkg 清單設置 HOST_ARCH"
 12.1300 +#: cook:1622
 12.1301 +msgid "cook: HOST_ARCH is not set in \"%s\" receipt"
 12.1302 +msgstr "生成:沒有在 %s 清單設置 HOST_ARCH"
 12.1303  
 12.1304 -#: cook:1413
 12.1305 -#, sh-format
 12.1306 -msgid "cook: This package is not included in: $ARCH"
 12.1307 -msgstr "生成: 本包並不在 $ARCH 內"
 12.1308 +#: cook:1623
 12.1309 +msgid "package \"%s\" is not included in %s"
 12.1310 +msgstr "%s 並不在 %s 內"
 12.1311  
 12.1312 -#: cook:1414 cook:1425
 12.1313 -#, sh-format
 12.1314 -msgid "bugs: $CROSS_BUGS"
 12.1315 -msgstr "bugs: $CROSS_BUGS"
 12.1316 +#: cook:1624 cook:1637 cook:1639
 12.1317 +msgid "cook: %s"
 12.1318 +msgstr "生成:%s"
 12.1319  
 12.1320 -#: cook:1415
 12.1321 -#, sh-format
 12.1322 -msgid "Cook skip: $pkg is not included in: $ARCH"
 12.1323 -msgstr "生成跳過: $pkg 並不在 $ARCH 內"
 12.1324 +#: cook:1625 cook:1640
 12.1325 +msgid "bugs: %s"
 12.1326 +msgstr ""
 12.1327  
 12.1328 -#: cook:1423
 12.1329 -#, sh-format
 12.1330 -msgid "cook: HOST_ARCH=$HOST_ARCH"
 12.1331 -msgstr "生成: HOST_ARCH=$HOST_ARCH"
 12.1332 +#: cook:1626 cook:1641
 12.1333 +msgid "Cook skip: %s"
 12.1334 +msgstr "生成跳過:%s"
 12.1335  
 12.1336 -#: cook:1424
 12.1337 -#, sh-format
 12.1338 -msgid "cook: $pkg doesn't cook or is not included in: $ARCH"
 12.1339 -msgstr "生成: $pkg 並未生成或不在  $ARCH"
 12.1340 +#: cook:1634
 12.1341 +msgid "Host arch %s"
 12.1342 +msgstr "主機架構%s"
 12.1343  
 12.1344 -#: cook:1426
 12.1345 -#, sh-format
 12.1346 -msgid "Cook skip: $pkg doesn't cook or is not included in: $ARCH"
 12.1347 -msgstr "生成跳過: $pkg 並未生成或不在  $ARCH"
 12.1348 +#: cook:1638
 12.1349 +msgid "package \"%s\" doesn't cook or is not included in %s"
 12.1350 +msgstr "%s 並未生成或不在 %s"
 12.1351  
 12.1352 -#: cook:1432
 12.1353 -#, sh-format
 12.1354 -msgid "Blocked package: $pkg"
 12.1355 -msgstr "已封鎖包: $pkg"
 12.1356 +#: cook:1649
 12.1357 +msgid "Package \"%s\" is blocked"
 12.1358 +msgstr "已封鎖包:%s"
 12.1359  
 12.1360 -#: cook:1439
 12.1361 -#, sh-format
 12.1362 -msgid "Cook started for: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
 12.1363 -msgstr "已開始生成: <a href='cooker.cgi?pkg=$pkg'>$pkg</a>"
 12.1364 +#: cook:1656
 12.1365 +msgid "Cook started for: %s"
 12.1366 +msgstr "已開始生成:%s"
 12.1367  
 12.1368 -#: cook:1450
 12.1369 -#, sh-format
 12.1370 -msgid "Cleaning: $pkg"
 12.1371 -msgstr "正在清理: $pkg"
 12.1372 +#: cook:1667
 12.1373 +msgid "Cleaning \"%s\""
 12.1374 +msgstr "正在清理:%s"
 12.1375  
 12.1376 -#: cook:1456
 12.1377 -#, sh-format
 12.1378 -msgid "Getting source for: $pkg"
 12.1379 -msgstr "正在取得包源文件: $pkg"
 12.1380 +#: cook:1676
 12.1381 +msgid "Getting source for \"%s\""
 12.1382 +msgstr "正在取得包源文件:%s"
 12.1383  
 12.1384 -#: cook:1458
 12.1385 -#, sh-format
 12.1386 -msgid "Tarball: $SRC/$TARBALL"
 12.1387 -msgstr "Tarball: $SRC/$TARBALL"
 12.1388 +#: cook:1678
 12.1389 +msgid "Tarball: %s"
 12.1390 +msgstr ""
 12.1391  
 12.1392 -#: cook:1461
 12.1393 -#, sh-format
 12.1394 -msgid "Blocking: $pkg"
 12.1395 -msgstr "正在封鎖: $pkg"
 12.1396 +#: cook:1682
 12.1397 +msgid "Blocking package \"%s\""
 12.1398 +msgstr "正在封鎖:%s"
 12.1399  
 12.1400 -#: cook:1465
 12.1401 -#, sh-format
 12.1402 -msgid "Unblocking: $pkg"
 12.1403 -msgstr "取消封鎖: $pkg"
 12.1404 +#: cook:1688
 12.1405 +msgid "Unblocking package \"%s\""
 12.1406 +msgstr "取消封鎖:%s"
 12.1407  
 12.1408 -#: cook:1475 cook:1479
 12.1409 -#, sh-format
 12.1410 -msgid "Need to build $pkg."
 12.1411 -msgstr "需要生成 $pkg"
 12.1412 +#: cook:1700 cook:1707
 12.1413 +msgid "Need to build \"%s\""
 12.1414 +msgstr "需要生成 %s"
 12.1415  
 12.1416 -#: cook:1480
 12.1417 +#: cook:1711
 12.1418  msgid "Checking depends"
 12.1419  msgstr "正在檢查依賴"
 12.1420  
 12.1421 -#: cook:1507
 12.1422 -#, sh-format
 12.1423 -msgid "WANTED package is blocked: $wanted"
 12.1424 -msgstr "所請求的包被封鎖: $wanted"
 12.1425 +#: cook:1742
 12.1426 +msgid "WANTED package \"%s\" is blocked"
 12.1427 +msgstr "所請求的包被封鎖:%s"
 12.1428  
 12.1429 -#: cook:1511
 12.1430 -#, sh-format
 12.1431 -msgid "WANTED package is broken: $wanted"
 12.1432 -msgstr "所請求的包已損壞: $wanted"
 12.1433 +#: cook:1748
 12.1434 +msgid "WANTED package \"%s\" is broken"
 12.1435 +msgstr "所請求的包已損壞:%s"
    13.1 --- a/web/cooker.cgi	Sun May 03 19:43:46 2015 +0300
    13.2 +++ b/web/cooker.cgi	Thu May 07 15:11:47 2015 +0300
    13.3 @@ -23,7 +23,7 @@
    13.4  # We're not logged and want time zone to display correct server date.
    13.5  export TZ=$(cat /etc/TZ)
    13.6  
    13.7 -if [ "${QUERY_STRING%%=*}" == "download" ]; then
    13.8 +if [ "${QUERY_STRING%%=*}" == 'download' ]; then
    13.9  	file=$(busybox httpd -d "$PKGS/${QUERY_STRING#*=}")
   13.10  	cat <<EOT
   13.11  Content-Type: application/octet-stream
   13.12 @@ -36,17 +36,17 @@
   13.13  fi
   13.14  
   13.15  echo -n "Content-Type: "
   13.16 -if [ "$QUERY_STRING" == "rss" ]; then
   13.17 -	echo "application/rss+xml"
   13.18 +if [ "$QUERY_STRING" == 'rss' ]; then
   13.19 +	echo 'application/rss+xml'
   13.20  else
   13.21 -	echo "text/html; charset=utf-8"
   13.22 +	echo 'text/html; charset=utf-8'
   13.23  fi
   13.24 -echo ""
   13.25 +echo ''
   13.26  
   13.27  # RSS feed generator
   13.28 -if [ "$QUERY_STRING" == "rss" ]; then
   13.29 +if [ "$QUERY_STRING" == 'rss' ]; then
   13.30  	pubdate=$(date -R)
   13.31 -	cat << EOT
   13.32 +	cat <<EOT
   13.33  <?xml version="1.0" encoding="utf-8" ?>
   13.34  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
   13.35  <channel>
   13.36 @@ -57,22 +57,24 @@
   13.37  	<pubDate>$pubdate</pubDate>
   13.38  	<atom:link href="http://cook.slitaz.org/cooker.cgi?rss" rel="self" type="application/rss+xml" />
   13.39  EOT
   13.40 -	for rss in $(ls -lt $FEEDS/*.xml | head -n 12)
   13.41 -	do
   13.42 +	for rss in $(ls -lt $FEEDS/*.xml | head -n 12); do
   13.43  		cat $rss | sed 's|<guid|& isPermaLink="false"|g;s|</pubDate| GMT&|g'
   13.44  	done
   13.45 -	cat << EOT
   13.46 +	cat <<EOT
   13.47  </channel>
   13.48  </rss>
   13.49  EOT
   13.50  	exit 0
   13.51  fi
   13.52  
   13.53 +
   13.54  #
   13.55  # Functions
   13.56  #
   13.57  
   13.58 +
   13.59  # Put some colors in log and DB files.
   13.60 +
   13.61  syntax_highlighter() {
   13.62  	case $1 in
   13.63  		log)
   13.64 @@ -89,49 +91,57 @@
   13.65  				-e s"#^[a-zA-Z0-9]\([^']*\) :: #<span class='span-sky'>\0</span>#"g \
   13.66  				-e s"#ftp://[^ '\"]*#<a href='\0'>\0</a>#"g	\
   13.67  				-e s"#http://[^ '\"]*#<a href='\0'>\0</a>#"g ;;
   13.68 +
   13.69  		receipt)
   13.70  			sed	-e s'|&|\&amp;|g' -e 's|<|\&lt;|g' -e 's|>|\&gt;|'g \
   13.71  				-e s"#^\#\([^']*\)#<span class='sh-comment'>\0</span>#"g \
   13.72  				-e s"#\"\([^']*\)\"#<span class='sh-val'>\0</span>#"g ;;
   13.73 +
   13.74  		diff)
   13.75  			sed -e 's|&|\&amp;|g' -e 's|<|\&lt;|g' -e 's|>|\&gt;|g' \
   13.76  				-e s"#^-\([^']*\).#<span class='span-red'>\0</span>#"g \
   13.77  				-e s"#^+\([^']*\).#<span class='span-ok'>\0</span>#"g \
   13.78  				-e s"#@@\([^']*\)@@#<span class='span-sky'>@@\1@@</span>#"g ;;
   13.79 +
   13.80  		activity)
   13.81  			sed s"#^\([^']* : \)#<span class='log-date'>\0</span>#"g ;;
   13.82  	esac
   13.83  }
   13.84  
   13.85 +
   13.86  # Latest build pkgs.
   13.87 +
   13.88  list_packages() {
   13.89  	cd $PKGS
   13.90  	ls -1t *.tazpkg | head -20 | \
   13.91 -	while read file
   13.92 -	do
   13.93 +	while read file; do
   13.94  		echo -n $(stat -c '%y' $PKGS/$file | cut -d . -f 1 | sed s/:[0-9]*$//)
   13.95  		echo " : $file"
   13.96  	done
   13.97  }
   13.98  
   13.99 +
  13.100  # Optional full list button
  13.101 +
  13.102  more_button() {
  13.103  	[ $(wc -l < ${3:-$CACHE/$1}) -gt ${4:-12} ] &&
  13.104  	echo "<a class=\"button\" href=\"cooker.cgi?file=$1\">$2</a>"
  13.105  }
  13.106  
  13.107 +
  13.108  # xHTML header. Pages can be customized with a separated html.header file.
  13.109 +
  13.110  if [ -f "header.html" ]; then
  13.111  	cat header.html
  13.112  else
  13.113 -	cat << EOT
  13.114 +	cat <<EOT
  13.115  <!DOCTYPE html>
  13.116 -<html xmlns="http://www.w3.org/1999/xhtml">
  13.117 +<html lang="en">
  13.118  <head>
  13.119 +	<meta charset="utf-8"/>
  13.120  	<title>SliTaz Cooker</title>
  13.121 -	<meta charset="utf-8" />
  13.122 -	<link rel="shortcut icon" href="favicon.ico" />
  13.123 -	<link rel="stylesheet" type="text/css" href="style.css" />
  13.124 +	<link rel="shortcut icon" href="favicon.ico"/>
  13.125 +	<link rel="stylesheet" type="text/css" href="style.css"/>
  13.126  </head>
  13.127  <body>
  13.128  
  13.129 @@ -145,6 +155,7 @@
  13.130  EOT
  13.131  fi
  13.132  
  13.133 +
  13.134  #
  13.135  # Load requested page
  13.136  #
  13.137 @@ -161,8 +172,10 @@
  13.138  			echo "<a href='cooker.cgi?receipt=$pkg'>receipt</a>"
  13.139  			unset WEB_SITE
  13.140  			. $wok/$pkg/receipt
  13.141 +
  13.142  			[ -n "$WEB_SITE" ] && # busybox wget -s $WEB_SITE &&
  13.143  			echo "<a href='$WEB_SITE'>home</a>"
  13.144 +
  13.145  			if [ -f "$wok/$pkg/taz/$PACKAGE-$VERSION/receipt" ]; then
  13.146  				echo "<a href='cooker.cgi?files=$pkg'>files</a>"
  13.147  				unset EXTRAVERSION
  13.148 @@ -208,28 +221,29 @@
  13.149  				echo "<pre>The Cooker is currently building: $pkg</pre>"
  13.150  			fi
  13.151  			if fgrep -q "Summary for:" $LOGS/$pkg.log; then
  13.152 -				echo "<h3>Cook summary</h3>"
  13.153 +				echo '<h3>Cook summary</h3>'
  13.154  				echo '<pre>'
  13.155  				grep -A 12 "^Summary for:" $LOGS/$pkg.log | sed /^$/d | \
  13.156  					syntax_highlighter log
  13.157  				echo '</pre>'
  13.158  			fi
  13.159  			if fgrep -q "Debug information" $LOGS/$pkg.log; then
  13.160 -				echo "<h3>Cook failed</h3>"
  13.161 +				echo '<h3>Cook failed</h3>'
  13.162  				echo '<pre>'
  13.163  				grep -A 8 "^Debug information" $LOGS/$pkg.log | sed /^$/d | \
  13.164  						syntax_highlighter log
  13.165  				echo '</pre>'
  13.166  			fi
  13.167 -			echo "<h3>Cook log</h3>"
  13.168 +			echo '<h3>Cook log</h3>'
  13.169  			echo '<pre>'
  13.170  			cat $log | syntax_highlighter log
  13.171  			echo '</pre>'
  13.172  		else
  13.173  			[ "$pkg" ] && echo "<pre>No log: $pkg</pre>"
  13.174  		fi ;;
  13.175 +
  13.176  	file=*)
  13.177 -		# Dont allow all files on the system for security reasons.
  13.178 +		# Don't allow all files on the system for security reasons.
  13.179  		file=${QUERY_STRING#file=}
  13.180  		case "$file" in
  13.181  			activity|cooknotes|cooklist)
  13.182 @@ -239,6 +253,7 @@
  13.183  				echo '<pre>'
  13.184  				tac $CACHE/$file | syntax_highlighter activity
  13.185  				echo '</pre>' ;;
  13.186 +
  13.187  			broken)
  13.188  				nb=$(cat $broken | wc -l)
  13.189  				echo "<h2>DB: broken - Packages: $nb</h2>"
  13.190 @@ -246,6 +261,7 @@
  13.191  				cat $CACHE/$file | sort | \
  13.192  					sed s"#^[^']*#<a href='cooker.cgi?pkg=\0'>\0</a>#"g
  13.193  				echo '</pre>' ;;
  13.194 +
  13.195  			*.diff)
  13.196  				diff=$CACHE/$file
  13.197  				echo "<h2>Diff for: ${file%.diff}</h2>"
  13.198 @@ -255,6 +271,7 @@
  13.199  				echo '<pre>'
  13.200  				cat $diff | syntax_highlighter diff
  13.201  				echo '</pre>' ;;
  13.202 +
  13.203  			*.log)
  13.204  				log=$LOGS/$file
  13.205  				name=$(basename $log)
  13.206 @@ -273,12 +290,14 @@
  13.207  					echo "<pre>No log file: $log</pre>"
  13.208  				fi ;;
  13.209  		esac ;;
  13.210 +
  13.211  	stuff=*)
  13.212  		file=${QUERY_STRING#stuff=}
  13.213  		echo "<h2>$file</h2>"
  13.214  		echo '<pre>'
  13.215  		cat $wok/$file | sed 's/&/\&amp;/g;s/</\&lt;/g;s/>/\&gt;/g'
  13.216  		echo '</pre>' ;;
  13.217 +
  13.218  	receipt=*)
  13.219  		pkg=${QUERY_STRING#receipt=}
  13.220  		echo "<h2>Receipt for: $pkg</h2>"
  13.221 @@ -294,6 +313,7 @@
  13.222  		else
  13.223  			echo "<pre>No receipt for: $pkg</pre>"
  13.224  		fi ;;
  13.225 +
  13.226  	files=*)
  13.227  		pkg=${QUERY_STRING#files=}
  13.228  		dir=$(ls -d $WOK/$pkg/taz/$pkg-*)
  13.229 @@ -306,6 +326,7 @@
  13.230  		else
  13.231  			echo "<pre>No files list for: $pkg</pre>"
  13.232  		fi ;;
  13.233 +
  13.234  	description=*)
  13.235  		pkg=${QUERY_STRING#description=}
  13.236  		echo "<h2>Description of $pkg</h2>"
  13.237 @@ -318,6 +339,7 @@
  13.238  		else
  13.239  			echo "<pre>No description for: $pkg</pre>"
  13.240  		fi ;;
  13.241 +
  13.242  	*)
  13.243  		# We may have a toolchain.cgi script for cross cooker's
  13.244  		if [ -f "toolchain.cgi" ]; then
  13.245 @@ -332,7 +354,7 @@
  13.246  		unbuilt=$(($inwok - $cooked))
  13.247  		pct=0
  13.248  		[ $inwok -gt 0 ] && pct=$(( ($cooked * 100) / $inwok ))
  13.249 -		cat << EOT
  13.250 +		cat <<EOT
  13.251  <div style="float: right;">
  13.252  	<form method="get" action="$SCRIPT_NAME">
  13.253  		Package:
  13.254 @@ -352,8 +374,8 @@
  13.255  </pre>
  13.256  
  13.257  <p class="info">
  13.258 -	Packages: $inwok in the wok - $cooked cooked - $unbuilt unbuilt -
  13.259 -	Server date: $(date -u '+%Y-%m-%d %H:%M %Z')
  13.260 +	Packages: $inwok in the wok | $cooked cooked | $unbuilt unbuilt |
  13.261 +	Server date: $(date -u '+%F %R %Z')
  13.262  </p>
  13.263  <div class="pctbar">
  13.264  	<div class="pct" style="width: ${pct}%;">${pct}%</div>
  13.265 @@ -368,48 +390,48 @@
  13.266  	<a href="$toolchain">toolchain</a>
  13.267  </p>
  13.268  
  13.269 -<a name="activity"></a>
  13.270 -<h2>Activity</h2>
  13.271 +
  13.272 +<h2 id="activity">Activity</h2>
  13.273  <pre>
  13.274  $(tac $CACHE/activity | head -n 12 | syntax_highlighter activity)
  13.275  </pre>
  13.276  $(more_button activity "More activity" $CACHE/activity 12)
  13.277  
  13.278 -<a name="cooknotes"></a>
  13.279 -<h2>Cooknotes</h2>
  13.280 +
  13.281 +<h2 id="cooknotes">Cooknotes</h2>
  13.282  <pre>
  13.283  $(tac $cooknotes | head -n 12 | syntax_highlighter activity)
  13.284  </pre>
  13.285  $(more_button cooknotes "More notes" $cooknotes 12)
  13.286  
  13.287 -<a name="commits"></a>
  13.288 -<h2>Commits</h2>
  13.289 +
  13.290 +<h2 id="commits">Commits</h2>
  13.291  <pre>
  13.292  $(cat $commits)
  13.293  </pre>
  13.294  
  13.295 -<a name="cooklist"></a>
  13.296 -<h2>Cooklist</h2>
  13.297 +
  13.298 +<h2 id="cooklist">Cooklist</h2>
  13.299  <pre>
  13.300  $(cat $cooklist | head -n 20)
  13.301  </pre>
  13.302  $(more_button cooklist "Full cooklist" $cooklist 20)
  13.303  
  13.304 -<a name="broken"></a>
  13.305 -<h2>Broken</h2>
  13.306 +
  13.307 +<h2 id="broken">Broken</h2>
  13.308  <pre>
  13.309  $(cat $broken | head -n 20 | sed s"#^[^']*#<a href='cooker.cgi?pkg=\0'>\0</a>#"g)
  13.310  </pre>
  13.311  $(more_button broken "All broken packages" $broken 20)
  13.312  
  13.313 -<a name="blocked"></a>
  13.314 -<h2>Blocked</h2>
  13.315 +
  13.316 +<h2 id="blocked">Blocked</h2>
  13.317  <pre>
  13.318  $(cat $blocked | sed s"#^[^']*#<a href='cooker.cgi?pkg=\0'>\0</a>#"g)
  13.319  </pre>
  13.320  
  13.321 -<a name="lastcook"></a>
  13.322 -<h2>Latest cook</h2>
  13.323 +
  13.324 +<h2 id="lastcook">Latest cook</h2>
  13.325  <pre>
  13.326  $(list_packages | sed s"#^\([^']*\).* : #<span class='log-date'>\0</span>#"g)
  13.327  </pre>
  13.328 @@ -417,8 +439,10 @@
  13.329  	;;
  13.330  esac
  13.331  
  13.332 +
  13.333  # Close xHTML page
  13.334 -cat << EOT
  13.335 +
  13.336 +cat <<EOT
  13.337  </div>
  13.338  
  13.339  <div id="footer">
    14.1 --- a/web/cookiso.cgi	Sun May 03 19:43:46 2015 +0300
    14.2 +++ b/web/cookiso.cgi	Thu May 07 15:11:47 2015 +0300
    14.3 @@ -2,13 +2,15 @@
    14.4  #
    14.5  # SliTaz Cookiso CGI/web interface.
    14.6  #
    14.7 -echo "Content-Type: text/html"
    14.8 -echo ""
    14.9 +echo 'Content-Type: text/html'
   14.10 +echo ''
   14.11  
   14.12  [ -f "/etc/slitaz/cook.conf" ] && . /etc/slitaz/cook.conf
   14.13  [ -f "cook.conf" ] && . ./cook.conf
   14.14  
   14.15 +
   14.16  # Cookiso DB files.
   14.17 +
   14.18  cache="$CACHE/cookiso"
   14.19  iso="$SLITAZ/iso"
   14.20  activity="$cache/activity"
   14.21 @@ -16,6 +18,7 @@
   14.22  rollog="$cache/rolling.log"
   14.23  synclog="$cache/rsync.log"
   14.24  
   14.25 +
   14.26  #
   14.27  # Functions
   14.28  #
   14.29 @@ -33,29 +36,32 @@
   14.30  	esac
   14.31  }
   14.32  
   14.33 +
   14.34  # Latest build pkgs.
   14.35 +
   14.36  list_isos() {
   14.37  	cd $iso
   14.38  	ls -1t *.iso | head -6 | \
   14.39 -	while read file
   14.40 -	do
   14.41 +	while read file; do
   14.42  		echo -n $(stat -c '%y' $file | cut -d . -f 1 | sed s/:[0-9]*$//)
   14.43  		echo " : $file"
   14.44  	done
   14.45  }
   14.46  
   14.47 +
   14.48  # xHTML header. Pages can be customized with a separate html.header file.
   14.49 -if [ -f "header.html" ]; then
   14.50 +
   14.51 +if [ -f 'header.html' ]; then
   14.52  	cat header.html | sed s'/Cooker/ISO Cooker/'
   14.53  else
   14.54 -	cat << EOT
   14.55 +	cat <<EOT
   14.56  <!DOCTYPE html>
   14.57 -<html xmlns="http://www.w3.org/1999/xhtml">
   14.58 +<html lang="en">
   14.59  <head>
   14.60 +	<meta charset="utf-8"/>
   14.61  	<title>SliTaz ISO Cooker</title>
   14.62 -	<meta charset="utf-8" />
   14.63 -	<link rel="shortcut icon" href="favicon.ico" />
   14.64 -	<link rel="stylesheet" type="text/css" href="style.css" />
   14.65 +	<link rel="shortcut icon" href="favicon.ico"/>
   14.66 +	<link rel="stylesheet" type="text/css" href="style.css"/>
   14.67  </head>
   14.68  <body>
   14.69  
   14.70 @@ -93,15 +99,16 @@
   14.71  		echo '<pre>'
   14.72  		cat $log | syntax_highlighter log
   14.73  		echo '</pre>' ;;
   14.74 +
   14.75  	*)
   14.76  		# Main page with summary.
   14.77 -		echo -n "Running command  : "
   14.78 +		echo -n 'Running command  : '
   14.79  		if [ -f "$command" ]; then
   14.80  			cat $command
   14.81  		else
   14.82 -			echo "Not running"
   14.83 +			echo 'Not running'
   14.84  		fi
   14.85 -		cat << EOT
   14.86 +		cat <<EOT
   14.87  <h2>Activity</h2>
   14.88  <pre>
   14.89  $(tac $activity | head -n 12 | syntax_highlighter activity)
   14.90 @@ -114,14 +121,14 @@
   14.91  EOT
   14.92  		# Rolling Bot log.
   14.93  		if [ -f "$rollog" ]; then
   14.94 -			echo "<h2>Rolling log</h2>"
   14.95 +			echo '<h2>Rolling log</h2>'
   14.96  			echo '<pre>'
   14.97  			cat $rollog
   14.98  			echo '</pre>'
   14.99  		fi
  14.100  		# Rsync log.
  14.101  		if [ -f "$synclog" ]; then
  14.102 -			echo "<h2>Rsync log</h2>"
  14.103 +			echo '<h2>Rsync log</h2>'
  14.104  			echo '<pre>'
  14.105  			awk '{
  14.106  	if (/\/s/) h=$0; 
  14.107 @@ -135,8 +142,10 @@
  14.108  		fi ;;
  14.109  esac
  14.110  
  14.111 +
  14.112  # Close xHTML page
  14.113 -cat << EOT
  14.114 +
  14.115 +cat <<EOT
  14.116  </div>
  14.117  
  14.118  <div id="footer">
    15.1 --- a/web/style.css	Sun May 03 19:43:46 2015 +0300
    15.2 +++ b/web/style.css	Thu May 07 15:11:47 2015 +0300
    15.3 @@ -4,7 +4,8 @@
    15.4  body { font: 13px sans-serif, vernada, arial; margin: 0; }
    15.5  h1 { margin: 0; padding: 8px; color: #fff; font-size: 20px; }
    15.6  h1 a { color: #fff; text-decoration: none; }
    15.7 -h2 { color: #444; } h3 { color: #666; font-size: 140%; }
    15.8 +h2 { color: #444; }
    15.9 +h3 { color: #666; font-size: 140%; }
   15.10  a { text-decoration: underline; color: #215090; }
   15.11  a:hover { text-decoration: none; }
   15.12  hr { margin: 0; border: 1px solid #cfcfcf; }
   15.13 @@ -19,7 +20,7 @@
   15.14  /* Header */
   15.15  
   15.16  #header {
   15.17 -	color: white;
   15.18 +	color: #fff;
   15.19  	background: #222;
   15.20  	height: 40px;
   15.21  	border-bottom: 4px solid #afafaf;
   15.22 @@ -32,7 +33,7 @@
   15.23  }
   15.24  
   15.25  #header h1 a {
   15.26 -	color: white;
   15.27 +	color: #fff;
   15.28  	text-decoration: none;
   15.29  	font-size: 20px;
   15.30  	font-style: italic;
   15.31 @@ -64,14 +65,14 @@
   15.32  	text-align: justify;
   15.33  }
   15.34  
   15.35 -.span-ok { color: green; }
   15.36 -.span-red { color: red; }
   15.37 -.span-sky { color: blue; }
   15.38 -.span-no { color: orange; }
   15.39 -.span-line { color: #888; }
   15.40 -.log-date { color: #666; font-size: 95%; }
   15.41 +.span-ok    { color: green; }
   15.42 +.span-red   { color: red; }
   15.43 +.span-sky   { color: blue; }
   15.44 +.span-no    { color: orange; }
   15.45 +.span-line  { color: #888; }
   15.46 +.log-date   { color: #666; font-size: 95%; }
   15.47  .sh-comment { color: #b20000; }
   15.48 -.sh-val { color: #f35a00; }
   15.49 +.sh-val     { color: #f35a00; }
   15.50  
   15.51  /* Buttons */
   15.52  
   15.53 @@ -90,7 +91,7 @@
   15.54  	border: 1px solid #999;
   15.55  }
   15.56  
   15.57 -.pct { background: #9dff4a; padding: 2px 4px;  }
   15.58 +.pct { background: #9dff4a; padding: 2px 4px; }
   15.59  .pctbar { overflow: hidden; }
   15.60  
   15.61  .button, .pctbar {