# HG changeset patch # User Aleksej Bobylev # Date 1364576730 0 # Node ID 8fbd30a8686a98b1f175c62ff2c4ade16dc2941a # Parent 2bc4a2670e3165f8d59b96080992a637bfeb7222 cook: rework and finish i18n (for local use), translate to Russian diff -r 2bc4a2670e31 -r 8fbd30a8686a Makefile --- a/Makefile Tue Mar 19 09:04:37 2013 +0100 +++ b/Makefile Fri Mar 29 17:05:30 2013 +0000 @@ -3,6 +3,8 @@ PREFIX?=/usr DESTDIR?= +LINGUAS?=ru +VERSION:=$(shell grep ^VERSION cook | cut -d'=' -f2) all: @@ -65,3 +67,40 @@ $(DESTDIR)$(PREFIX)/bin/cross \ $(DESTDIR)/etc/slitaz/cross.conf \ $(DESTDIR)$(PREFIX)/share/doc/cookutils/cross.txt + +# i18n + +pot: + xgettext -o po/cook.pot -k_ -k_n -L Shell -cL10n \ + --copyright-holder="SliTaz Association" \ + --package-name="Cook" \ + --package-version="$(VERSION)" \ + ./cook + +msgmerge: + @for l in $(LINGUAS); do \ + echo -n "Updating $$l po file."; \ + msgmerge -U po/$$l.po po/cook.pot; \ + done; + +msgfmt: + @for l in $(LINGUAS); do \ + echo "Compiling $$l mo file..."; \ + mkdir -p po/mo/$$l/LC_MESSAGES; \ + msgfmt -o po/mo/$$l/LC_MESSAGES/cook.mo po/$$l.po; \ + done; + +# Clean source + +clean: + rm -rf po/mo + rm -f po/*.mo + rm -f po/*.*~ + +help: + @echo "make" + @echo " install | uninstall - all" + @echo " install-cook | uninstall-cook - cook" + @echo " install-libcook | uninstall-libcook - libcook" + @echo " install-cross | uninstall-cross - cross" + @echo " pot | msgmerge | msgfmt | clean - i18n" diff -r 2bc4a2670e31 -r 8fbd30a8686a README --- a/README Tue Mar 19 09:04:37 2013 +0100 +++ b/README Fri Mar 29 17:05:30 2013 +0000 @@ -18,10 +18,10 @@ Cook features: - * Setup a build env - * Check and install missing build deps + * Setup a build environment + * Check and install missing build dependencies * Compile and generate the package - * Remove installed build deps + * Remove installed build dependencies * Provide a log for each cook * Clean one or all packages in the wok * Check for receipt and package quality @@ -31,7 +31,7 @@ * Depend on Hg but can use it to manage a wok * Do complex work like compiling the whole system from source in - one command (but it can rebuild the full system step by step). + one command (but it can rebuild the full system step by step) * Check build deps for you, use: BUILD_DEPENDS * The work of a Build Bot, unix philosophy: one tool for one task * Cook a package if your receipt is crappy :-) @@ -54,12 +54,12 @@ Cook also manages packages lists so they can be used for a personal packages repository or sent to the official mirror. We create and use: - * packages.list Simple list of package-versions - * packages.md5 MD5sum list of all packages - * packages.txt List of packages with version, desc and sizes - * packages.desc Packages with name, version, category, desc - * packages.equiv Equivalent packages list - * files.list.lzma A list of files provided by all packages + * packages.list : Simple list of package-versions + * packages.md5 : MD5sum list of all packages + * packages.txt : List of packages with version, description and sizes + * packages.desc : Packages with name, version, category, description + * packages.equiv : Equivalent packages list + * files.list.lzma : A list of files provided by all packages Cooker @@ -77,7 +77,7 @@ a nice way. A web interface also highlights success and error and can show receipts and the cooker logs such as the last ordered list or commits check. -Database files in the cache folder +Database files in the cache folder: * activity : Activity information for the web interface * blocked : List of manually blocked packages @@ -86,7 +86,7 @@ * cooklist : Cooklist for unbuilt packages or custom commands * cooknotes : All the notes added with 'cooker -n "My note" * installed* : Lists used to compare installed packages before and after - a package is cooked so we can remove them + a package is cooked so we can remove them The Cooker web interface can by highly customized through the CSS style and via an optional header.html file that must be in the same directory as the CGI @@ -121,27 +121,28 @@ Cross compiling -------------------------------------------------------------------------------- -Cookutils lets you cross compile a package for a specific architecture. Say you want -to build ARM binaries from a standard i486 machine. Cookutils provides helpers -for the ARM platform, but the first thing to do is compile a cross toolchain and -modify the main cook.conf variables to use a correct ARCH, CFLAGS and BUILD_SYSTEM +Cookutils lets you cross compile a package for a specific architecture. Say you +want to build ARM binaries from a standard i486 machine. Cookutils provides +helpers for the ARM platform, but the first thing to do is compile a cross +toolchain and modify the main cook.conf variables to use a correct ARCH, CFLAGS +and BUILD_SYSTEM -Cook handles HOST_ARCH and CROSS_* receipt variables. Some packages won't build or -are not packaged for an architecture and so cross compiling will fail if the +Cook handles HOST_ARCH and CROSS_* receipt variables. Some packages won't build +or are not packaged for an architecture and so cross compiling will fail if the package receipt has not been reviewed and includes HOST_ARCH. Here is an example and a list of cross variables: HOST_ARCH="i486 arm" CROSS_BUGS="Bugs description" -Before cross compiling, cook will automatically add cross-tools path to PATH, set -CC, AR, LD, etc and also export CROSS_COMPILE. +Before cross compiling, cook will automatically add cross-tools path to PATH, +set CC, AR, LD, etc and also export CROSS_COMPILE. Toolchain -------------------------------------------------------------------------------- To rebuild the full SliTaz toolchain at once - cook and the Cooker will use the -slitaz-toolchain package. No built-in code manages that since it is not a +slitaz-toolchain package. No built-in code manages that since it is not a common task. The toolchain package will build all needed packages in the correct order, which is very important. @@ -166,8 +167,8 @@ * If you add a feature, add also the doc to explain it * Use clean case with space before case end ;; case "$pkg" in - a) echo "Hello World" ;; - *) continue ;; + a) echo "Hello World" ;; + *) continue ;; esac * Make commands and options as short as possible * Think to log everything to help debug diff -r 2bc4a2670e31 -r 8fbd30a8686a cook --- a/cook Tue Mar 19 09:04:37 2013 +0100 +++ b/cook Fri Mar 29 17:05:30 2013 +0000 @@ -8,6 +8,20 @@ # . /usr/lib/slitaz/libcook.sh +VERSION="3.1.4" + +# Internationalization. +. /usr/bin/gettext.sh +TEXTDOMAIN='cook' +export TEXTDOMAIN + +_() echo -e "$(eval_gettext "$1")" +_n() echo -en "$(eval_gettext "$1")" +# to disable i18n: +# _() echo -e "$1" +# _n() echo -en "$1" + + # # Functions # @@ -15,35 +29,35 @@ usage() { cat << EOT -$(echo -e "\033[1m$(gettext "Usage:")\033[0m") cook [package|command] [list|--option] +$(_ "\033[1mUsage:\033[0m cook [package|command] [list|--option]") -$(echo -e "\033[1m$(gettext "Commands:")\033[0m") - usage|help $(gettext "Display this short usage.") - setup $(gettext "Setup your build environment.") - *-setup $(gettext "Setup a cross environment.") - test $(gettext "Test environment and cook a package.") - list-wok $(gettext "List packages in the wok.") - search $(gettext "Simple packages search function.") - new $(gettext "Create a new package with a receipt".) - list $(gettext "Cook a list of packages.") - clean-wok $(gettext "Clean-up all packages files.") - clean-src $(gettext "Clean-up all packages sources.") - pkgdb $(gettext "Create packages DB lists and flavors.") +$(_ "\033[1mCommands:\033[0m") + usage|help $(_ "Display this short usage.") + setup $(_ "Setup your build environment.") + *-setup $(_ "Setup a cross environment.") + test $(_ "Test environment and cook a package.") + list-wok $(_ "List packages in the wok.") + search $(_ "Simple packages search function.") + new $(_ "Create a new package with a receipt.") + list $(_ "Cook a list of packages.") + clean-wok $(_ "Clean-up all packages files.") + clean-src $(_ "Clean-up all packages sources.") + pkgdb $(_ "Create packages DB lists and flavors.") -$(echo -e "\033[1m$(gettext "Options:")\033[0m") - --clean|-c Cook : $(gettext "clean the package in the wok.") - --install|-i Cook : $(gettext "cook and install the package.") - --getsrc|-gs Cook : $(gettext "get the package source tarball.") - --block|-b Cook : $(gettext "Block a package so cook will skip it.") - --unblock|-ub Cook : $(gettext "Unblock a blocked package.") - --pack Cook : $(gettext "repack an already built package.") - --interactive|-x New : $(gettext "create a receipt interactively.") - --wok Setup: $(gettext "clone the cooking wok from Hg repo.") - --stable Setup: $(gettext "clone the stable wok from Hg repo.") - --undigest Setup: $(gettext "clone the undigest wok from Hg repo.") - --tiny Setup: $(gettext "clone the tiny SliTaz wok from Hg repo.") - --forced Setup: $(gettext "force reinstall of chroot packages.") - --flavors Pkgdb: $(gettext "create up-to-date flavors files.") +$(_ "\033[1mOptions:\033[0m") + --clean|-c Cook : $(_ "clean the package in the wok.") + --install|-i Cook : $(_ "cook and install the package.") + --getsrc|-gs Cook : $(_ "get the package source tarball.") + --block|-b Cook : $(_ "block a package so cook will skip it.") + --unblock|-ub Cook : $(_ "unblock a blocked package.") + --pack Cook : $(_ "repack an already built package.") + --interactive|-x New : $(_ "create a receipt interactively.") + --wok Setup: $(_ "clone the cooking wok from Hg repo.") + --stable Setup: $(_ "clone the stable wok from Hg repo.") + --undigest Setup: $(_ "clone the undigest wok from Hg repo.") + --tiny Setup: $(_ "clone the tiny SliTaz wok from Hg repo.") + --forced Setup: $(_ "force reinstall of chroot packages.") + --flavors Pkgdb: $(_ "create up-to-date flavors files.") EOT exit 0 @@ -58,23 +72,24 @@ # Be sure package exists in wok. check_pkg_in_wok() { if [ ! -d "$WOK/$pkg" ]; then - gettext -e "\nUnable to find package in the wok:" - echo -e " $pkg\n" && exit 1 + newline; _ "Unable to find package in the wok: \$pkg"; newline + exit 1 fi } if_empty_value() { if [ -z "$value" ]; then - gettext "QA: empty variable:"; echo -e " ${var}=\"\"\n" + # L10n: QA is quality assurance + _ "QA: empty variable: \${var}=\"\""; newline exit 1 fi } # Initialize files used in $CACHE init_db_files() { - gettext "Creating directories structure in:"; echo " $SLITAZ" + _ "Creating directories structure in: \$SLITAZ" mkdir -p $WOK $PKGS $SRC $CACHE $LOGS $FEEDS - gettext "Creating DB files in:"; echo " $CACHE" + _ "Creating DB files in: \$CACHE" for f in $activity $command $broken $blocked do touch $f @@ -83,7 +98,7 @@ # QA: check a receipt consistency before building. receipt_quality() { - gettext -e "QA: checking package receipt...\n" + _ "QA: checking package receipt..." unset online if ifconfig | grep -q -A 1 "^[a-z]*[0-9]" | fgrep 'addr:'; then online="online" @@ -97,10 +112,11 @@ if_empty_value ;; CATEGORY) [ -z "$value" ] && value="empty" - valid="$PKGS_CATEGORIES" + valid="$(echo $PKGS_CATEGORIES)" # avoid newlines if ! echo "$valid" | grep -q -w "$value"; then - gettext "QA: unknown category:"; echo -e " $value\n" - exit 1 + _ "QA: unknown category: \$value" + _ "Please, use one of: \$valid" | busybox fold -s + newline; exit 1 fi ;; WEB_SITE) # We don't check WGET_URL since if dl is needed it will fail. @@ -108,7 +124,7 @@ if_empty_value [ -z "$online" ] || break if ! busybox wget -T 12 -s $value 2>/dev/null; then - gettext "QA: Unable to reach:"; echo -e " $value" + _ "QA: unable to reach: \$value" fi ;; esac done @@ -161,7 +177,7 @@ local tarball tarball=$pkgsrc.tar.bz2 [ "$LZMA_SRC" ] && tarball=$lzma_tarball - gettext "Creating tarball: "; echo "$tarball" + _ "Creating tarball: \$tarball" if [ "$LZMA_SRC" ]; then tar -c $pkgsrc | lzma e $SRC/$tarball -si $LZMA_SET_DIR || exit 1 LZMA_SRC="" @@ -181,35 +197,35 @@ http://*|ftp://*) # Busybox Wget is better! busybox wget -T 60 -c -O $SRC/$TARBALL $WGET_URL || \ - (echo -e "ERROR: wget $WGET_URL" && exit 1) ;; + (_ "ERROR: wget \$WGET_URL" && exit 1) ;; https://*) wget -c --no-check-certificate -O $SRC/$TARBALL $WGET_URL || \ - (echo -e "ERROR: wget $WGET_URL" && exit 1) ;; + (_ "ERROR: wget \$WGET_URL" && exit 1) ;; hg*|mercurial*) if $(echo "$WGET_URL" | fgrep -q "hg|"); then url=${WGET_URL#hg|} else url=${WGET_URL#mercurial|} fi - gettext -e "Getting source from Hg...\n" - echo "URL: $url" - gettext "Cloning to: "; echo "$pwd/$pkgsrc" + _ "Getting source from Hg..." + _ "URL: \$url" + _ "Cloning to: \$pwd/\$pkgsrc" if [ "$BRANCH" ]; then - echo "Hg branch: $BRANCH" + _ "Hg branch: \$BRANCH" hg clone $url --rev $BRANCH $pkgsrc || \ - (echo "ERROR: hg clone $url --rev $BRANCH" && exit 1) + (_ "ERROR: hg clone \$url --rev \$BRANCH" && exit 1) else - hg clone $url $pkgsrc || (echo "ERROR: hg clone $url" && exit 1) + hg clone $url $pkgsrc || (_ "ERROR: hg clone \$url" && exit 1) fi rm -rf $pkgsrc/.hg create_tarball ;; git*) url=${WGET_URL#git|} - gettext -e "Getting source from Git...\n" - echo "URL: $url" - git clone $url $pkgsrc || (echo "ERROR: git clone $url" && exit 1) + _ "Getting source from Git..." + _ "URL: \$url" + git clone $url $pkgsrc || (_ "ERROR: git clone \$url" && exit 1) if [ "$BRANCH" ]; then - echo "Git branch: $BRANCH" + _ "Git branch: \$BRANCH" cd $pkgsrc && git checkout $BRANCH && cd .. fi create_tarball ;; @@ -217,10 +233,10 @@ url=${WGET_URL#cvs|} mod=$PACKAGE [ "$CVS_MODULE" ] && mod=$CVS_MODULE - gettext -e "Getting source from CVS...\n" - echo "URL: $url" - [ "$CVS_MODULE" ] && echo "CVS module: $mod" - gettext "Cloning to: "; echo "$pwd/$mod" + _ "Getting source from CVS..." + _ "URL: \$url" + [ "$CVS_MODULE" ] && _ "CVS module: \$mod" + _ "Cloning to: \$pwd/\$mod" cvs -d:$url co $mod && mv $mod $pkgsrc create_tarball ;; svn*|subversion*) @@ -229,8 +245,8 @@ else url=${WGET_URL#subversion|} fi - gettext -e "Getting source from SVN...\n" - echo "URL: $url" + _ "Getting source from SVN..." + _ "URL: \$url" if [ "$BRANCH" ]; then echo t | svn co $url -r $BRANCH $pkgsrc else @@ -239,7 +255,7 @@ create_tarball ;; bzr*) url=${WGET_URL#bzr|} - gettext -e "Getting source from bazaar...\n" + _ "Getting source from bazaar..." cd $SRC pkgsrc=${url#*:} if [ "$BRANCH" ]; then @@ -249,14 +265,14 @@ echo "bzr -Ossl.cert_reqs=none branch $url" bzr -Ossl.cert_reqs=none branch $url cd $pkgsrc && BRANCH=$(bzr revno) && cd .. - gettext -e "Don't forget to add to receipt:\n" - echo -e 'BRANCH="'$BRANCH'"'"\n\n" + _ "Don't forget to add to receipt:" + echo 'BRANCH="'$BRANCH'"'; newline fi mv $pkgsrc $pkgsrc-$BRANCH pkgsrc=$pkgsrc-$BRANCH create_tarball ;; *) - gettext -e "\nERROR: Unable to handle:"; echo -e " $WGET_URL \n" | \ + (newline; _ "ERROR: Unable to handle: \$WGET_URL"; newline) | \ tee -a $LOGS/$PACKAGE.log exit 1 ;; esac @@ -268,10 +284,10 @@ local url url="$MIRROR_URL/sources/packages" url=$url/${TARBALL:0:1}/$TARBALL - gettext "Getting source from mirror:"; echo " $url" - busybox wget -c -P $SRC $url || echo -e "ERROR: wget $url" + _ "Getting source from mirror: \$url" + busybox wget -c -P $SRC $url || _ "ERROR: wget \$url" fi - gettext "Extracting:"; echo " $TARBALL" + _ "Extracting: \$TARBALL" case "$TARBALL" in *.tar.gz|*.tgz) tar xzf $SRC/$TARBALL 2>/dev/null ;; *.tar.bz2|*.tbz|*.tbz2) tar xjf $SRC/$TARBALL 2>/dev/null ;; @@ -295,41 +311,46 @@ size=$(du -sh $PKGS/$pkg-${VERSION}*.tazpkg | awk '{print $1}') files=$(cat $WOK/$pkg/taz/$pkg-*/files.list | wc -l) [ "$TARBALL" ] && srcsize=$(du -sh $SRC/$TARBALL | awk '{print $1}') - cookdate=$(date "+%Y-%m-%d %H:%M") + cookdate=$(date "$(_ '+%Y-%m-%d %H:%M')") sec=$time div=$(( ($time + 30) / 60)) - [ "$div" != 0 ] && min="~ ${div}m" - gettext "Summary for:"; echo " $PACKAGE $VERSION" + # L10n: 'm' is for minutes (approximate cooking time) + min=$(_n "~ \${div}m"); [ "$div" = 0 ] && min="" + _ "Summary for: \$PACKAGE \$VERSION" separator - [ "$srcdir" ] && echo "Source dir : $srcdir" - [ "$TARBALL" ] && echo "Src file : $TARBALL" - [ "$srcsize" ] && echo "Src size : $srcsize" - [ "$prod" ] && echo "Produced : $prod" - cat << EOT -Packed : $fs -Compressed : $size -Files : $files -Cook time : ${sec}s $min -Cook date : $cookdate -Host arch : $ARCH -$(separator) -EOT + # L10n: keep the same width of translations to get a consistent view + [ "$srcdir" ] && _ "Source dir : \$srcdir" + [ "$TARBALL" ] && _ "Src file : \$TARBALL" + [ "$srcsize" ] && _ "Src size : \$srcsize" + [ "$prod" ] && _ "Produced : \$prod" + _ "Packed : \$fs" + _ "Compressed : \$size" + _ "Files : \$files" + # L10n: 's' is for seconds (cooking time) + _ "Cook time : \${sec}s \$min" + _ "Cook date : \$cookdate" + _ "Host arch : \$ARCH" + separator } # Display debugging error info. debug_info() { - echo -e "\nDebug information" - separator - echo "Cook date: $(date '+%Y-%m-%d %H:%M')" + newline; _ "Debug information"; separator + # L10n: specify your format of date and time (to help: man date) + # L10n: not bad one is '+%x %R' + datenow=$(date "$(_ '+%Y-%m-%d %H:%M')") + _ "Cook date: \$datenow" + # L10n: Please, translate all messages beginning with ERROR in a same way + lerror=$(_n "ERROR") for error in \ - ERROR "No package" "cp: can't" "can't open" "can't cd" \ + ERROR $lerror "No package" "cp: can't" "can't open" "can't cd" \ "error:" "fatal error:" "undefined reference to" \ "Unable to connect to" "link: cannot find the library" \ "CMake Error" do fgrep "$error" $LOGS/$pkg.log done - separator && newline + separator; newline } # Copy all generic files (locale, pixmaps, .desktop). We use standard paths, @@ -395,7 +416,7 @@ fi } -# Find and strip : --strip-all (-s) or --strip-debug on static libs as well +# Find and strip: --strip-all (-s) or --strip-debug on static libs as well # as removing uneeded files like in Python packages. Cross compiled binaries # must be stripped with cross-tools aka $ARCH-slitaz-*-strip strip_package() { @@ -403,7 +424,7 @@ arm|x86_64) export STRIP=${HOST_SYSTEM}-strip ;; *) export STRIP=strip ;; esac - gettext "Executing strip on all files..." + _n "Executing strip on all files..." for dir in $fs/bin $fs/sbin $fs/usr/bin $fs/usr/sbin $fs/usr/games do if [ -d "$dir" ]; then @@ -416,7 +437,7 @@ # Remove Python .pyc and .pyo from packages. if echo "$PACKAGE $DEPENDS" | fgrep -q "python"; then - gettext "Removing Python compiled files..." + _n "Removing Python compiled files..." find $fs -type f -name "*.pyc" -delete 2>/dev/null find $fs -type f -name "*.pyo" -delete 2>/dev/null status @@ -424,7 +445,7 @@ # Remove Perl perllocal.pod and .packlist from packages. if echo "$DEPENDS" | fgrep -q "perl"; then - gettext "Removing Perl compiled files..." + _n "Removing Perl compiled files..." find $fs -type f -name "perllocal.pod" -delete 2>/dev/null find $fs -type f -name ".packlist" -delete 2>/dev/null status @@ -438,14 +459,14 @@ if [ -s "$CACHE/installed.cook.diff" ]; then deps=$(cat $diff | grep ^+[a-zA-Z0-9] | sed s/^+//) nb=$(cat $diff | grep ^+[a-zA-Z0-9] | wc -l) - gettext "Build dependencies to remove:"; echo " $nb $root" - gettext "Removing:" + _n "Build dependencies to remove: "; echo $nb $root + _n "Removing:" for dep in $deps do echo -n " $dep" echo 'y' | tazpkg remove $dep --root=$root >/dev/null done - echo -e "\n" + newline; newline # Keep the last diff for debug and info. mv -f $CACHE/installed.cook.diff $CACHE/installed.diff fi @@ -453,27 +474,26 @@ # The main cook function. cookit() { - echo "Cook: $PACKAGE $VERSION" - separator + _ "Cook: \$PACKAGE \$VERSION"; separator set_paths # Handle cross-tools. case "$ARCH" in arm|x86_64) # CROSS_COMPILE is used by at least Busybox and the kernel to set - # the cross-tools prefix. Sysroot the the root of our target arch + # the cross-tools prefix. Sysroot is the root of our target arch sysroot=$CROSS_TREE/sysroot tools=$CROSS_TREE/tools # Set root path when cross compiling. ARM tested but not x86_64 # When cross compiling we must install build deps in $sysroot. arch="-${ARCH}" root=$sysroot - echo "$ARCH sysroot: $sysroot" - echo "Adding $tools/bin to PATH" + _ "\$ARCH sysroot: \$sysroot" + _ "Adding \$tools/bin to PATH" export PATH=$PATH:$tools/bin export PKG_CONFIG_PATH=$sysroot/usr/lib/pkgconfig export CROSS_COMPILE=${HOST_SYSTEM}- - echo "Using cross-tools: $CROSS_COMPILE" + _ "Using cross-tools: \$CROSS_COMPILE" if [ "$ARCH" == "x86_64" ]; then export CC="${HOST_SYSTEM}-gcc -m64" export CXX="${HOST_SYSTEM}-g++ -m64" @@ -495,7 +515,7 @@ # Disable -pipe if less than 512Mb free RAM. free=$(free | fgrep '/+ buffers' | tr -s ' ' | cut -f 4 -d ' ') if [ "$free" -lt 524288 ] && [ "$CFLAGS" != "${CFLAGS/-pipe}" ]; then - gettext -e "Disabling -pipe compile flag: $free RAM\n" + _ "Disabling -pipe compile flag: \$free RAM" CFLAGS="${CFLAGS/-pipe}" && CFLAGS=$(echo "$CFLAGS" | tr -s ' ') CXXFLAGS="${CXXFLAGS/-pipe}" && \ CXXFLAGS=$(echo "$CXXFLAGS" | tr -s ' ') @@ -504,6 +524,7 @@ # Export flags and path to be used by make and receipt. DESTDIR=$pkgdir/install + # FIXME: L10n: Is this the right time for 'LC_ALL=C LANG=C'? export DESTDIR MAKEFLAGS CFLAGS CXXFLAGS CONFIG_SITE LC_ALL=C LANG=C #LDFLAGS @@ -511,8 +532,8 @@ # (ex: libusb-dev :: libusb). rm -f $CACHE/installed.local $CACHE/installed.web $CACHE/missing.dep touch $CACHE/installed.local $CACHE/installed.web - [ "$BUILD_DEPENDS" ] && gettext -e "Checking build dependencies...\n" - [ "$root" ] && echo "Using packages DB: ${root}$DB" + [ "$BUILD_DEPENDS" ] && _ "Checking build dependencies..." + [ "$root" ] && _ "Using packages DB: \${root}\$DB" for dep in $BUILD_DEPENDS do implicit=${dep%-dev} @@ -538,7 +559,7 @@ echo $i >> $CACHE/installed.web else # So package exists in wok but not available. - gettext "Missing dep (wok/pkg):"; echo " $i $vers" + _ "Missing dep (wok/pkg): \$i \$vers" echo $i >> $CACHE/missing.dep fi else @@ -546,7 +567,7 @@ if fgrep -q $i-${vers}${arch} ${root}$DB/packages.list; then echo $i >> $CACHE/installed.web else - echo "ERROR: unknown dep $i" && exit 1 + _ "ERROR: unknown dep \$i"; exit 1 fi fi fi @@ -557,17 +578,20 @@ # Get the list of installed packages cd ${root}$INSTALLED && ls -1 > $CACHE/installed.list - # Have we a missing build dep to cook ? + # Have we a missing build dep to cook? if [ -s "$CACHE/missing.dep" ] && [ "$AUTO_COOK" ]; then - gettext -e "Auto cook config is set : AUTO_COOK\n" + _ "Auto cook config is set: AUTO_COOK" cp -f $LOGS/$PACKAGE.log $LOGS/$PACKAGE.log.$$ for i in $(uniq $CACHE/missing.dep) do - (gettext "Building dep (wok/pkg) :"; echo " $i $vers") | \ + (_ "Building dep (wok/pkg) : \$i \$vers") | \ tee -a $LOGS/$PACKAGE.log.$$ - cook $i || (echo -e "ERROR: can't cook dep '$i'\n" && \ - fgrep "remove: " $LOGS/$i.log && \ - fgrep "Removing: " $LOGS/$i.log && newline) | \ + # programmers: next two messages are exact copy from remove_deps() + togrep1=$(_n "Build dependencies to remove: ") + togrep2=$(_n "Removing:") + cook $i || (_ "ERROR: can't cook dep '\$i'" && newline && \ + fgrep $togrep1 $LOGS/$i.log && \ + fgrep $togrep2 $LOGS/$i.log && newline) | \ tee -a $LOGS/$PACKAGE.log.$$ && break done rm -f $CACHE/missing.dep @@ -577,16 +601,17 @@ # QA: Exit on missing dep errors. We exit in both cases, if AUTO_COOK # is enabled and cook fails we have ERROR in log, if no auto cook we have # missing dep in cached file. - if fgrep -q "ERROR:" $LOGS/$pkg.log || [ -s "$CACHE/missing.dep" ]; then + lerror=$(_n "ERROR") + if fgrep -q $lerror $LOGS/$pkg.log || [ -s "$CACHE/missing.dep" ]; then [ -s "$CACHE/missing.dep" ] && nb=$(cat $CACHE/missing.dep | wc -l) - echo "ERROR: missing dep $nb" && exit 1 + _ "ERROR: missing dep \$nb" && exit 1 fi # Install local packages: package-version${arch} cd $PKGS for i in $(uniq $CACHE/installed.local) do - gettext "Installing dep (pkg/local):"; echo " $i" + _ "Installing dep (pkg/local): \$i" tazpkg install $i --root=$root >/dev/null done @@ -594,7 +619,7 @@ # use local packages). for i in $(uniq $CACHE/installed.web) do - gettext "Installing dep (web/cache):"; echo " $i" + _ "Installing dep (web/cache): \$i" tazpkg get-install $i --root=$root >/dev/null done @@ -644,7 +669,7 @@ # Execute receipt rules. if grep -q ^compile_rules $receipt; then - echo "Executing: compile_rules" + _ "Executing: compile_rules" echo "CFLAGS : $CFLAGS" #echo "LDFLAGS : $LDFLAGS" [ -d "$src" ] && cd $src @@ -654,27 +679,27 @@ # QA: compile_rules success so valid. mkdir -p $install else - # QA: No compile_rules so no error, valid. + # QA: no compile_rules so no error, valid. mkdir -p $install fi - separator && newline + separator; newline # Execute testsuite. if grep -q ^testsuite $receipt; then - echo "Running testsuite" - separator + _ "Running testsuite"; separator testsuite $@ || exit 1 - separator && newline + separator; newline fi } # Cook quality assurance. cookit_quality() { if [ ! -d "$WOK/$pkg/install" ] && [ ! "$WANTED" ]; then - echo -e "ERROR: cook failed" | tee -a $LOGS/$pkg.log + _ "ERROR: cook failed" | tee -a $LOGS/$pkg.log fi # ERROR can be echoed any time in cookit() - if grep -Eq '(ERROR:|undefined reference to)' $LOGS/$pkg.log; then + lerror=$(_n "ERROR") + if grep -Eq "($lerror|undefined reference to)" $LOGS/$pkg.log; then debug_info | tee -a $LOGS/$pkg.log rm -f $command && exit 1 fi @@ -690,21 +715,21 @@ arm|x86_64) arch="-$ARCH" ;; esac - echo "Pack: $PACKAGE ${VERSION}${arch}" - separator + _ "Pack: \$PACKAGE \${VERSION}\${arch}"; separator if grep -q ^genpkg_rules $receipt; then - gettext -e "Executing: genpkg_rules\n" + _ "Executing: genpkg_rules" set -e && cd $pkgdir && mkdir -p $fs - genpkg_rules || echo -e "\nERROR: genpkg_rules failed\n" >> \ + genpkg_rules || (newline; _ "ERROR: genpkg_rules failed"; newline) >> \ $LOGS/$pkg.log else - gettext "No packages rules: meta package"; echo + _ "No packages rules: meta package" mkdir -p $fs fi # First QA check to stop now if genpkg_rules failed. - if fgrep -q ERROR: $LOGS/$pkg.log; then + lerror=$(_n "ERROR") + if fgrep -q $lerror $LOGS/$pkg.log; then exit 1 fi @@ -712,13 +737,14 @@ for file in receipt description.txt do [ ! -f "../$file" ] && continue - gettext "Copying"; echo -n " $file..." + _n "Copying \$file..." cp -f ../$file $pack && chown 0.0 $pack/$file && status done copy_generic_files # Create files.list with redirecting find output. - gettext "Creating the list of files..." && cd $fs + _n "Creating the list of files..." + cd $fs find . -type f -print > ../files.list find . -type l -print >> ../files.list cd .. && sed -i s/'^.'/''/ files.list @@ -728,7 +754,7 @@ strip_package # Md5sum of files. - gettext "Creating md5sum of files..." + _n "Creating md5sum of files..." while read file; do [ -L "fs$file" ] && continue [ -f "fs$file" ] || continue @@ -743,14 +769,14 @@ '{ sz=$1 } END { print sz }') # Build cpio archives. - gettext "Compressing the fs... " + _n "Compressing the fs..." find fs | cpio -o -H newc --quiet | lzma e fs.cpio.lzma -si rm -rf fs status PACKED_SIZE=$(du -chs fs.cpio.lzma receipt files.list \ md5sum description.txt 2> /dev/null | awk \ '{ sz=$1 } END { print sz }') - gettext "Updating receipt sizes..." + _n "Updating receipt sizes..." sed -i s/^PACKED_SIZE.*$// receipt sed -i s/^UNPACKED_SIZE.*$// receipt sed -i "s/^PACKAGE=/PACKED_SIZE=\"$PACKED_SIZE\"\nUNPACKED_SIZE=\"$UNPACKED_SIZE\"\nPACKAGE=/" receipt @@ -758,18 +784,18 @@ # Set extra version. if [ "$EXTRAVERSION" ]; then - gettext "Updating receipt EXTRAVERSION: "; echo -n "$EXTRAVERSION" + _n "Updating receipt EXTRAVERSION: \$EXTRAVERSION" sed -i s/^EXTRAVERSION.*$// receipt sed -i "s/^VERSION=/EXTRAVERSION=\"$EXTRAVERSION\"\nVERSION=/" receipt status fi # Compress. - gettext "Creating full cpio archive... " + _n "Creating full cpio archive..." find . -print | cpio -o -H newc --quiet > \ ../$PACKAGE-${VERSION}${EXTRAVERSION}${arch}.tazpkg status - gettext "Restoring original package tree... " + _n "Restoring original package tree..." unlzma -c fs.cpio.lzma | cpio -idm --quiet status rm fs.cpio.lzma && cd .. @@ -777,32 +803,34 @@ # QA and give info. tazpkg=$(ls *.tazpkg) packit_quality - separator && gettext "Package:"; echo -e " $tazpkg\n" + separator; _ "Package: \$tazpkg"; newline } # Verify package quality and consistency. packit_quality() { - #gettext "QA: Checking for broken link..." + #gettext "QA: checking for broken link..." #link=$(find $fs/usr -type l -follow) #[ "$link" ] && echo -e "\nERROR: broken link in filesystem" #status # Exit if any error found in log file. - if fgrep -q ERROR: $LOGS/$pkg.log; then + lerror=$(_n "ERROR") + if fgrep -q $lerror $LOGS/$pkg.log; then rm -f $command && exit 1 fi - gettext "QA: Checking for empty package..." + _n "QA: checking for empty package..." files=$(cat $WOK/$pkg/taz/$pkg-*/files.list | wc -l) if [ "$files" == 0 ] && [ "$CATEGORY" != "meta" ]; then - echo -e "\nERROR: empty package" + newline; _ "ERROR: empty package" rm -f $command && exit 1 else # Ls sort by name so the first file is the one we want. old=$(ls $PKGS/$pkg-*.tazpkg 2>/dev/null | head -n 1) status if [ -f "$old" ]; then - gettext "Removing old: $(basename $old)" + old_pkg=$(basename $old) + _n "Removing old: \$old_pkg" rm -f $old && status fi mv -f $pkgdir/taz/$pkg-*.tazpkg $PKGS @@ -832,7 +860,7 @@ cd $PKGS && tazpkg install \ $PACKAGE-${VERSION}${EXTRAVERSION}.tazpkg --forced else - gettext -e "Unable to install package, build has failed.\n\n" + _ "Unable to install package, build has failed."; newline exit 1 fi fi @@ -841,8 +869,8 @@ if [ -d "${root}$INSTALLED/$pkg" ]; then . /etc/slitaz/cook.conf . $WOK/$pkg/taz/$pkg-*/receipt - echo "Updating $ARCH chroot environment..." - echo "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})" | log + _ "Updating \$ARCH chroot environment..." + _ "Updating chroot: \$pkg (\${VERSION}\${EXTRAVERSION}\${arch})" | log cd $PKGS && tazpkg install \ $pkg-${VERSION}${EXTRAVERSION}${arch}.tazpkg \ --forced --root=$root @@ -856,14 +884,14 @@ base=/dev/shm/aufsmnt$$ - # Can we setup the chroot ? Is it already done ? + # Can we setup the chroot? Is it already done? grep -q ^AUFS_NOT_SUPPORTED $receipt && return grep -q ^AUFS_NOT_RAMFS $receipt && base=/mnt/aufsmnt$$ [ -n "$AUFS_MOUNTS" -a ! -f /aufs-umount.sh ] || return lsmod | grep -q aufs || modprobe aufs 2> /dev/null || return mkdir ${base}root ${base}rw || return - echo "Setup aufs chroot..." + _ "Setup aufs chroot..." # Sanity check for i in / /proc /sys /dev/shm /home ; do @@ -875,7 +903,7 @@ for mnt in $(echo $AUFS_MOUNTS | sort | uniq); do mount --bind $mnt ${base}root$mnt if [ $mnt == / ] && ! mount -t aufs -o br=${base}rw:/ none ${base}root; then - echo "Aufs mountage failure" + _ "Aufs mountage failure" umount ${base}root rmdir ${base}* return @@ -886,7 +914,7 @@ chroot ${base}root $(cd $(dirname $0); pwd)/$(basename $0) "$@" status=$? - echo "Leaving aufs chroot..." + _ "Leaving aufs chroot..." tac ${base}rw/aufs-umount.sh | sh rm -rf ${base}rw umount ${base}root @@ -928,40 +956,36 @@ usage|help|-u|-h) usage ;; list-wok) - gettext -e "\nList of packages in:"; echo " $WOK" - separator + newline; _ "List of packages in: \$WOK"; separator cd $WOK && ls -1 separator - echo -n "Packages: " && ls | wc -l - newline ;; + pkg_total=$(ls | wc -l) + _ "Packages: \$pkg_total"; newline ;; activity) cat $activity ;; search) # Just a simple search function, we dont need more actually. query="$2" - newline - gettext "Search results for:"; echo " $query" - separator + newline; _ "Search results for: \$query"; separator cd $WOK && ls -1 | grep "$query" - separator && newline ;; + separator; newline ;; setup) # Setup a build environment check_root - echo "Cook: setup environment" | log - newline - gettext "Setting up your environment"; newline - separator && cd $SLITAZ + _ "Cook: setup environment" | log + newline; _ "Setting up your environment"; separator + cd $SLITAZ init_db_files - gettext "Checking for packages to install..."; echo + _ "Checking for packages to install..." # Use setup pkgs from cross.conf or cook.conf. When cross compiling # ARCH-setup or 'cross check-env' should be used before: cook setup case "$ARCH" in arm|x86_64) if [ ! -x "/usr/bin/cross" ]; then - gettext "ERROR: cross is not installed"; echo + _ "ERROR: cross is not installed" exit 1 fi - gettext "Using config file: /etc/slitaz/cross.conf"; echo + _ "Using config file: /etc/slitaz/cross.conf" . /etc/slitaz/cross.conf ;; esac for pkg in $SETUP_PKGS; do @@ -986,22 +1010,19 @@ # SliTaz group and permissions if ! grep -q ^slitaz /etc/group; then - gettext -e "Adding group: slitaz\n" + _ "Adding group: slitaz" addgroup slitaz fi - gettext -e "Setting permissions for slitaz group...\n" + _ "Setting permissions for slitaz group..." find $SLITAZ -maxdepth 2 -exec chown root.slitaz {} \; find $SLITAZ -maxdepth 2 -exec chmod g+w {} \; - separator - gettext -e "All done, ready to cook packages :-)\n\n" ;; + separator; _ "All done, ready to cook packages :-)"; newline ;; *-setup) # Setup for cross compiling. arch=${1%-setup} check_root - echo "Cook: setup $arch cross environment" | log - newline - boldify $(gettext "Setting up your $arch cross environment") - separator + _ "Cook: setup \$arch cross environment" | log + newline; boldify $(_n "Setting up your \$arch cross environment"); separator init_db_files sed -i \ -e s"/ARCH=.*/ARCH=\"$arch\"/" \ @@ -1026,12 +1047,13 @@ tools=/cross/$arch/tools root=$sysroot CC=$tools/bin/${HOST_SYSTEM}-gcc - echo "Target arch : $ARCH" - echo "Configure args : $CONFIGURE_ARGS" - echo "Arch sysroot : $sysroot" - echo "Tools prefix : $tools/bin" + # L10n: keep the same width of translations to get a consistent view + _ "Target arch : \$ARCH" + _ "Configure args : \$CONFIGURE_ARGS" + _ "Arch sysroot : \$sysroot" + _ "Tools prefix : \$tools/bin" # Tell the packages manager where to find packages. - echo "Packages DB : ${root}$DB" + _ "Packages DB : \${root}\$DB" mkdir -p ${root}$INSTALLED cd ${root}$DB && rm -f *.bak for list in packages.list packages.desc packages.equiv packages.md5 @@ -1042,19 +1064,19 @@ # i486 package will be used as dep by tazpkg and then break the # cross environment if [ ! -f "${root}$INSTALLED/glibc-base/receipt" ]; then - colorize 36 "WARNING: (e)glibc-base is not installed in sysroot" + colorize 36 $(_ "WARNING: (e)glibc-base is not installed in sysroot") fi # Show GCC version or warn if not yet compiled. if [ -x $CC ]; then - echo "Cross compiler : ${HOST_SYSTEM}-gcc" + _ "Cross compiler : \${HOST_SYSTEM}-gcc" else - colorize 36 "C compiler is missing: ${HOST_SYSTEM}-gcc" - echo "Run 'cross compile' to cook a toolchain" + colorize 36 $(_ "C compiler is missing: \${HOST_SYSTEM}-gcc") + _ "Run 'cross compile' to cook a toolchain" fi - separator && newline ;; + separator; newline ;; test) # Test a cook environment. - echo "Cook test: testing the cook environment" | log + _ "Cook test: testing the cook environment" | log [ ! -d "$WOK" ] && exit 1 [ ! -d "$WOK/cooktest" ] && cp -r $DATA/cooktest $WOK cook cooktest ;; @@ -1064,12 +1086,12 @@ [ "$pkg" ] || usage newline if [ -d "$WOK/$pkg" ]; then - echo -n "$pkg " && gettext "package already exists." - echo -e "\n" && exit 1 + _ "\$pkg package already exists." + exit 1 fi - gettext "Creating"; echo -n " $WOK/$pkg" + _n "Creating \$WOK/\$pkg" mkdir $WOK/$pkg && cd $WOK/$pkg && status - gettext "Preparing the package receipt..." + _n "Preparing the package receipt..." cp $DATA/receipt . sed -i s"/^PACKAGE=.*/PACKAGE=\"$pkg\"/" receipt status && newline @@ -1077,71 +1099,64 @@ # Interactive mode, asking and seding. case "$3" in --interactive|-x) - gettext -e "Entering interactive mode...\n" + _ "Entering interactive mode..." separator - echo "Package : $pkg" - # Version. - echo -n "Version : " ; read anser - sed -i s/'VERSION=\"\"'/"VERSION=\"$anser\""/ receipt - # Category. - echo -n "Category : " ; read anser - sed -i s/'CATEGORY=\"\"'/"CATEGORY=\"$anser\""/ receipt - # Short description. - echo -n "Short desc : " ; read anser - sed -i s/'SHORT_DESC=\"\"'/"SHORT_DESC=\"$anser\""/ receipt - # Maintainer. - echo -n "Maintainer : " ; read anser - sed -i s/'MAINTAINER=\"\"'/"MAINTAINER=\"$anser\""/ receipt - # License. - echo -n "License : " ; read anser - sed -i s/'LICENSE=\"\"'/"LICENSE=\"$anser\""/ receipt - # Web site. - echo -n "Web site : " ; read anser - sed -i s#'WEB_SITE=\"\"'#"WEB_SITE=\"$anser\""# receipt + _ "Package : \$pkg" + _n "Version : " ; read answer + sed -i s/'VERSION=\"\"'/"VERSION=\"$answer\""/ receipt + _n "Category : " ; read answer + sed -i s/'CATEGORY=\"\"'/"CATEGORY=\"$answer\""/ receipt + # L10n: Short description + _n "Short desc : " ; read answer + sed -i s/'SHORT_DESC=\"\"'/"SHORT_DESC=\"$answer\""/ receipt + _n "Maintainer : " ; read answer + sed -i s/'MAINTAINER=\"\"'/"MAINTAINER=\"$answer\""/ receipt + _n "License : " ; read answer + sed -i s/'LICENSE=\"\"'/"LICENSE=\"$answer\""/ receipt + _n "Web site : " ; read answer + sed -i s#'WEB_SITE=\"\"'#"WEB_SITE=\"$answer\""# receipt newline # Wget URL. - echo "Wget URL to download source tarball." - echo "Example : \$GNU_MIRROR/\$PACKAGE/\$TARBALL" - echo -n "Wget url : " ; read anser - sed -i s#'WGET_URL=\"$TARBALL\"'#"WGET_URL=\"$anser\""# receipt + _ "Wget URL to download source tarball." + _n "Example : " ; echo '$GNU_MIRROR/$PACKAGE/$TARBALL' + _n "Wget url : " ; read answer + sed -i s#'WGET_URL=\"$TARBALL\"'#"WGET_URL=\"$answer\""# receipt # Ask for a stuff dir. - echo -n "Do you need a stuff directory ? (y/N) : " ; read anser - if [ "$anser" = "y" ]; then - echo -n "Creating the stuff directory..." + _n "Do you need a stuff directory? (y/N) : " ; read answer + if [ "$answer" = "y" ]; then + _n "Creating the stuff directory..." mkdir $WOK/$pkg/stuff && status fi # Ask for a description file. - echo -n "Are you going to write a description ? (y/N) : " ; read anser - if [ "$anser" = "y" ]; then - echo -n "Creating the description.txt file..." + _n "Are you going to write a description? (y/N) : " ; read answer + if [ "$answer" = "y" ]; then + _n "Creating the description.txt file..." newline > $WOK/$pkg/description.txt && status fi - separator - gettext -e "Receipt is ready to use.\n" - newline ;; + separator; _ "Receipt is ready to use."; newline ;; esac ;; list) # Cook a list of packages (better use the Cooker since it will order # packages before executing cook). check_root - [ -z "$2" ] && gettext -e "\nNo list in argument.\n\n" && exit 1 - [ ! -f "$2" ] && gettext -e "\nNo list found:" && \ - echo -e " $2\n" && exit 1 - echo "Cook list starting: $2" | log + [ -z "$2" ] && (newline; _ "No list in argument."; newline) && exit 1 + list2=$2 + [ ! -f "$2" ] && (newline; _ "No list found: \$list2"; newline) && exit 1 + _ "Cook list starting: \$list2" | log for pkg in $(cat $2) do cook $pkg || broken done ;; clean-wok) check_root - gettext -e "\nCleaning all packages files..." + newline; _n "Cleaning all packages files..." rm -rf $WOK/*/taz $WOK/*/install $WOK/*/source - status && newline ;; + status; newline ;; clean-src) check_root - gettext -e "\nCleaning all packages sources..." + newline; _n "Cleaning all packages sources..." rm -rf $WOK/*/source - status && newline ;; + status; newline ;; pkgdb) # Create suitable packages list for TazPKG and only for built packages # as well as flavors files for TazLiTo. We dont need logs since we do it @@ -1152,25 +1167,25 @@ *) [ "$2" ] && PKGS="$2" [ ! -d "$PKGS" ] && \ - gettext -e "\nPackages directory doesn't exist\n\n" && exit 1 ;; + newline && _ "Packages directory doesn't exist" && \ + newline && exit 1 ;; esac time=$(date +%s) flavors=$SLITAZ/flavors live=$SLITAZ/live echo "cook:pkgdb" > $command - echo "Cook pkgdb: Creating all packages lists" | log - newline - gettext "Creating lists for: "; echo "$PKGS" - separator - gettext "Cook pkgdb started: "; date "+%Y-%m-%d %H:%M" + _ "Cook pkgdb: Creating all packages lists" | log + newline; _ "Creating lists for: \$PKGS"; separator + datenow=$(date "$(_ '+%Y-%m-%d %H:%M')") + _ "Cook pkgdb started: \$datenow" cd $PKGS rm -f packages.* - gettext -e "Creating: packages.list\n" + _ "Creating: packages.list" ls -1 *.tazpkg | sed s'/.tazpkg//' > $PKGS/packages.list - gettext -e "Creating: packages.md5\n" + _ "Creating: packages.md5" md5sum *.tazpkg > $PKGS/packages.md5 md5sum packages.md5 | cut -f1 -d' ' > ID - gettext -e "Creating lists from: "; echo "$WOK" + _ "Creating lists from: \$WOK" cd $WOK for pkg in * do @@ -1212,12 +1227,12 @@ done # Display list size. - gettext -e "Done: packages.desc\n" - gettext -e "Done: packages.txt\n" - gettext -e "Done: packages.equiv\n" + _ "Done: packages.desc" + _ "Done: packages.txt" + _ "Done: packages.equiv" # files.list.lzma - gettext -e "Creating: files.list.lzma\n" + _ "Creating: files.list.lzma" cd $PKGS && lzma e files.list files.list.lzma rm -f files.list @@ -1225,23 +1240,24 @@ separator nb=$(ls $PKGS/*.tazpkg | wc -l) time=$(($(date +%s) - $time)) - echo -e "Packages: $nb - Time: ${time}s\n" + # L10n: 's' is for seconds (cooking time) + _ "Packages: \$nb - Time: \${time}s"; newline # Create all flavors files at once. Do we really need code to monitor - # flavors changes ? Lets just build them with packages lists before + # flavors changes? Lets just build them with packages lists before # syncing the mirror. [ "$2" == "--flavors" ] || exit 1 - [ ! -d "$flavors" ] && echo -e "Missing flavors: $flavors\n" && exit 1 + [ ! -d "$flavors" ] && (_ "Missing flavors: \$flavors"; newline) && exit 1 [ -d "$live" ] || mkdir -p $live - gettext "Creating flavors files in:"; echo " $live" - echo "Cook pkgdb: Creating all flavors" | log + _ "Creating flavors files in: \$live" + _ "Cook pkgdb: Creating all flavors" | log separator - gettext -e "Recharging lists to use latest packages...\n" + _ "Recharging lists to use latest packages..." tazpkg recharge >/dev/null 2>/dev/null # We need a custom tazlito config to set working dir to /home/slitaz. if [ ! -f "$live/tazlito.conf" ]; then - echo "Creating configuration file: tazlito.conf" + _ "Creating configuration file: tazlito.conf" cp /etc/tazlito/tazlito.conf $live sed -i s@WORK_DIR=.*@WORK_DIR=\"/home/slitaz\"@ \ $live/tazlito.conf @@ -1251,20 +1267,24 @@ [ -d "$flavors/.hg" ] && cd $flavors && hg pull -u cd $live - echo "Starting to generate flavors..." + _ "Starting to generate flavors..." rm -f flavors.list *.flavor for i in $flavors/* do fl=$(basename $i) - echo "Packing flavor: $(basename $i)" + _ "Packing flavor: \$fl" tazlito pack-flavor $fl >/dev/null || exit 1 tazlito show-flavor $fl --brief --noheader 2> \ /dev/null >> flavors.list done cp -f $live/*.flavor $live/flavors.list $PKGS - separator && gettext "Flavors size: "; du -sh $live | awk '{print $1}' - newline && rm -f $command - separator && gettext "Cook pkgdb end: "; date "+%Y-%m-%d %H:%M";; + separator + fl_size=$(du -sh $live | awk '{print $1}') + _ "Flavors size: \$fl_size"; newline + rm -f $command + separator + datenow=$(date "$(_ '+%Y-%m-%d %H:%M')") + _ "Cook pkgdb end: \$datenow" ;; *) # Just cook and generate a package. check_root @@ -1284,17 +1304,17 @@ # the cooker and build each commit in wok is not possible since # we dont cook the full wok for this arch. For ARM we need a set # of packages to handle a touch screen desktop, servers but not - # erland. + # erlang. # # The temporary solution is to build only reviewed and tested # packages with HOST_ARCH set in receipt. case "$ARCH" in arm) if [ ! "$HOST_ARCH" ]; then - echo "cook: HOST_ARCH is not set in $pkg receipt" - echo "cook: This package is not included in: $ARCH" - [ "$CROSS_BUGS" ] && echo "bugs: $CROSS_BUGS" - echo "Cook skip: $pkg is not included in: $ARCH" | log + _ "cook: HOST_ARCH is not set in \$pkg receipt" + _ "cook: This package is not included in: \$ARCH" + [ "$CROSS_BUGS" ] && _ "bugs: \$CROSS_BUGS" + _ "Cook skip: \$pkg is not included in: \$ARCH" | log newline && exit 1 fi ;; esac @@ -1302,46 +1322,49 @@ # Some packages are not included in some arch or fail to cross compile. : ${HOST_ARCH=i486} if ! $(echo "$HOST_ARCH" | fgrep -q $ARCH); then - echo "cook: HOST_ARCH=$HOST_ARCH" - echo "cook: $pkg doesn't cook or is not included in: $ARCH" - [ "$CROSS_BUGS" ] && echo "bugs: $CROSS_BUGS" - echo "Cook skip: $pkg doesn't cook or is not included in: $ARCH" | log + _ "cook: HOST_ARCH=\$HOST_ARCH" + _ "cook: \$pkg doesn't cook or is not included in: \$ARCH" + [ "$CROSS_BUGS" ] && _ "bugs: \$CROSS_BUGS" + _ "Cook skip: \$pkg doesn't cook or is not included in: \$ARCH" | log newline && exit 1 fi # Skip blocked, 3 lines also for the Cooker. if grep -q "^$pkg$" $blocked && [ "$2" != "--unblock" ]; then - gettext -e "Blocked package:"; echo -e " $pkg\n" && exit 0 + _ "Blocked package: \$pkg"; newline + exit 0 fi try_aufs_chroot "$@" # Log and source receipt. - echo "Cook started for: $pkg" | log + _ "Cook started for: \$pkg" | log echo "cook:$pkg" > $command # Display and log info if cook process stopped. - trap 'gettext -e "\n\nCook stopped: control-C\n\n" | \ + # FIXME: gettext not worked (in single quotes) here! + trap '_ "\n\nCook stopped: control-C\n\n" | \ tee -a $LOGS/$pkg.log' INT # Handle --options case "$2" in --clean|-c) - gettext -e "Cleaning:"; echo -n " $pkg" + _n "Cleaning: \$pkg" cd $WOK/$pkg && rm -rf install taz source status && newline && exit 0 ;; --install|-i) inst='yes' ;; --getsrc|-gs) - gettext "Getting source for:"; echo " $pkg" - separator && get_source - echo -e "Tarball: $SRC/$TARBALL\n" && exit 0 ;; + _ "Getting source for: \$pkg"; separator + get_source + _ "Tarball: \$SRC/\$TARBALL"; newline + exit 0 ;; --block|-b) - gettext "Blocking:"; echo -n " $pkg" + _n "Blocking: \$pkg" [ $(grep "^$pkg$" $blocked) ] || echo "$pkg" >> $blocked status && newline && exit 0 ;; --unblock|-ub) - gettext "Unblocking:"; echo -n " $pkg" + _n "Unblocking: \$pkg" sed -i "/^${pkg}$/"d $blocked status && newline && exit 0 ;; --pack) @@ -1351,7 +1374,7 @@ packit 2>&1 | tee -a $LOGS/$pkg-pack.log clean_log else - gettext "Need to build $pkg." && exit 0 + _ "Need to build \$pkg." && exit 0 fi exit 0 ;; esac @@ -1359,11 +1382,11 @@ # Check if wanted is built now so we have separate log files. for wanted in $WANTED ; do if grep -q "^$wanted$" $blocked; then - echo "WANTED package is blocked: $wanted" | tee $LOGS/$pkg.log + _ "WANTED package is blocked: \$wanted" | tee $LOGS/$pkg.log newline && rm -f $command && exit 1 fi if grep -q "^$wanted$" $broken; then - echo "WANTED package is broken: $wanted" | tee $LOGS/$pkg.log + _ "WANTED package is broken: \$wanted" | tee $LOGS/$pkg.log newline && rm -f $command && exit 1 fi if [ ! -d "$WOK/$wanted/install" ]; then @@ -1379,7 +1402,8 @@ clean_log # Exit if any error in packing. - if grep -Eq '(^ERROR|No such file or directory)' $LOGS/$pkg.log; then + lerror=$(_n "ERROR") + if grep -Eq "(^$lerror|No such file or directory)" $LOGS/$pkg.log; then debug_info | tee -a $LOGS/$pkg.log rm -f $command && exit 1 fi @@ -1395,7 +1419,7 @@ # We may want to install/update. install_package - # Finally we DONT WANT to build the *-dev or packages with WANTED="$pkg" + # Finally we DON'T WANT to build the *-dev or packages with WANTED="$pkg" # You want automation: use the Cooker Build Bot. rm -f $command ;; esac diff -r 2bc4a2670e31 -r 8fbd30a8686a cross.conf --- a/cross.conf Tue Mar 19 09:04:37 2013 +0100 +++ b/cross.conf Fri Mar 29 17:05:30 2013 +0000 @@ -23,14 +23,14 @@ EGLIBC_TARBALL="eglibc-$EGLIBC_VERSION.tar.bz2" GCC_TARBALL="gcc-$GCC_VERSION.tar.bz2" -# Cross tools urls +# Cross-tools URLs BINUTILS_WGET="http://ftp.gnu.org/gnu/binutils/$BINUTILS_TARBALL" LINUX_WGET="http://www.kernel.org/pub/linux/kernel/v3.x/$LINUX_TARBALL" GLIBC_WGET="http://ftp.gnu.org/gnu/libc/$GLIBC_TARBALL" EGLIBC_WGET="svn://svn.eglibc.org/branches/eglibc-2_13" GCC_WGET="http://ftp.gnu.org/gnu/gcc/gcc-$GCC_VERSION/$GCC_TARBALL" -# Peer package configure arguments +# Per package configure arguments # # x86_64: BINUTILS_ARGS="--disable-multilib --enable-64-bit-bfd" # x86_64: GCC_STATIC_ARGS="--enable-languages=c --disable-multilib" diff -r 2bc4a2670e31 -r 8fbd30a8686a po/cook.pot --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/po/cook.pot Fri Mar 29 17:05:30 2013 +0000 @@ -0,0 +1,934 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR SliTaz Association +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Cook 3.1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-03-29 17:02+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: cook:32 +msgid "\\033[1mUsage:\\033[0m cook [package|command] [list|--option]" +msgstr "" + +#: cook:34 +msgid "\\033[1mCommands:\\033[0m" +msgstr "" + +#: cook:35 +msgid "Display this short usage." +msgstr "" + +#: cook:36 +msgid "Setup your build environment." +msgstr "" + +#: cook:37 +msgid "Setup a cross environment." +msgstr "" + +#: cook:38 +msgid "Test environment and cook a package." +msgstr "" + +#: cook:39 +msgid "List packages in the wok." +msgstr "" + +#: cook:40 +msgid "Simple packages search function." +msgstr "" + +#: cook:41 +msgid "Create a new package with a receipt." +msgstr "" + +#: cook:42 +msgid "Cook a list of packages." +msgstr "" + +#: cook:43 +msgid "Clean-up all packages files." +msgstr "" + +#: cook:44 +msgid "Clean-up all packages sources." +msgstr "" + +#: cook:45 +msgid "Create packages DB lists and flavors." +msgstr "" + +#: cook:47 +msgid "\\033[1mOptions:\\033[0m" +msgstr "" + +#: cook:48 +msgid "clean the package in the wok." +msgstr "" + +#: cook:49 +msgid "cook and install the package." +msgstr "" + +#: cook:50 +msgid "get the package source tarball." +msgstr "" + +#: cook:51 +msgid "block a package so cook will skip it." +msgstr "" + +#: cook:52 +msgid "unblock a blocked package." +msgstr "" + +#: cook:53 +msgid "repack an already built package." +msgstr "" + +#: cook:54 +msgid "create a receipt interactively." +msgstr "" + +#: cook:55 +msgid "clone the cooking wok from Hg repo." +msgstr "" + +#: cook:56 +msgid "clone the stable wok from Hg repo." +msgstr "" + +#: cook:57 +msgid "clone the undigest wok from Hg repo." +msgstr "" + +#: cook:58 +msgid "clone the tiny SliTaz wok from Hg repo." +msgstr "" + +#: cook:59 +msgid "force reinstall of chroot packages." +msgstr "" + +#: cook:60 +msgid "create up-to-date flavors files." +msgstr "" + +#: cook:75 +#, sh-format +msgid "Unable to find package in the wok: $pkg" +msgstr "" + +#. L10n: QA is quality assurance +#: cook:83 +#, sh-format +msgid "QA: empty variable: ${var}=\"\"" +msgstr "" + +#: cook:90 +#, sh-format +msgid "Creating directories structure in: $SLITAZ" +msgstr "" + +#: cook:92 +#, sh-format +msgid "Creating DB files in: $CACHE" +msgstr "" + +#: cook:101 +msgid "QA: checking package receipt..." +msgstr "" + +#: cook:117 +#, sh-format +msgid "QA: unknown category: $value" +msgstr "" + +#: cook:118 +#, sh-format +msgid "Please, use one of: $valid" +msgstr "" + +#: cook:127 +#, sh-format +msgid "QA: unable to reach: $value" +msgstr "" + +#: cook:180 +#, sh-format +msgid "Creating tarball: $tarball" +msgstr "" + +#: cook:200 cook:203 +#, sh-format +msgid "ERROR: wget $WGET_URL" +msgstr "" + +#: cook:210 +msgid "Getting source from Hg..." +msgstr "" + +#: cook:211 cook:225 cook:237 cook:249 +#, sh-format +msgid "URL: $url" +msgstr "" + +#: cook:212 +#, sh-format +msgid "Cloning to: $pwd/$pkgsrc" +msgstr "" + +#: cook:214 +#, sh-format +msgid "Hg branch: $BRANCH" +msgstr "" + +#: cook:216 +#, sh-format +msgid "ERROR: hg clone $url --rev $BRANCH" +msgstr "" + +#: cook:218 +#, sh-format +msgid "ERROR: hg clone $url" +msgstr "" + +#: cook:224 +msgid "Getting source from Git..." +msgstr "" + +#: cook:226 +#, sh-format +msgid "ERROR: git clone $url" +msgstr "" + +#: cook:228 +#, sh-format +msgid "Git branch: $BRANCH" +msgstr "" + +#: cook:236 +msgid "Getting source from CVS..." +msgstr "" + +#: cook:238 +#, sh-format +msgid "CVS module: $mod" +msgstr "" + +#: cook:239 +#, sh-format +msgid "Cloning to: $pwd/$mod" +msgstr "" + +#: cook:248 +msgid "Getting source from SVN..." +msgstr "" + +#: cook:258 +msgid "Getting source from bazaar..." +msgstr "" + +#: cook:268 +msgid "Don't forget to add to receipt:" +msgstr "" + +#: cook:275 +#, sh-format +msgid "ERROR: Unable to handle: $WGET_URL" +msgstr "" + +#: cook:287 +#, sh-format +msgid "Getting source from mirror: $url" +msgstr "" + +#: cook:288 +#, sh-format +msgid "ERROR: wget $url" +msgstr "" + +#: cook:290 +#, sh-format +msgid "Extracting: $TARBALL" +msgstr "" + +#. L10n: specify your format of date and time (to help: man date) +#. L10n: not bad one is '+%x %R' +#: cook:314 cook:341 cook:1179 cook:1286 +msgid "+%Y-%m-%d %H:%M" +msgstr "" + +#. L10n: 'm' is for minutes (approximate cooking time) +#: cook:318 +#, sh-format +msgid "~ ${div}m" +msgstr "" + +#: cook:319 +#, sh-format +msgid "Summary for: $PACKAGE $VERSION" +msgstr "" + +#. L10n: keep the same width of translations to get a consistent view +#: cook:322 +#, sh-format +msgid "Source dir : $srcdir" +msgstr "" + +#: cook:323 +#, sh-format +msgid "Src file : $TARBALL" +msgstr "" + +#: cook:324 +#, sh-format +msgid "Src size : $srcsize" +msgstr "" + +#: cook:325 +#, sh-format +msgid "Produced : $prod" +msgstr "" + +#: cook:326 +#, sh-format +msgid "Packed : $fs" +msgstr "" + +#: cook:327 +#, sh-format +msgid "Compressed : $size" +msgstr "" + +#: cook:328 +#, sh-format +msgid "Files : $files" +msgstr "" + +#. L10n: 's' is for seconds (cooking time) +#: cook:330 +#, sh-format +msgid "Cook time : ${sec}s $min" +msgstr "" + +#: cook:331 +#, sh-format +msgid "Cook date : $cookdate" +msgstr "" + +#: cook:332 +#, sh-format +msgid "Host arch : $ARCH" +msgstr "" + +#: cook:338 +msgid "Debug information" +msgstr "" + +#: cook:342 +#, sh-format +msgid "Cook date: $datenow" +msgstr "" + +#. L10n: Please, translate all messages beginning with ERROR in a same way +#: cook:344 cook:604 cook:701 cook:731 cook:817 cook:1405 +msgid "ERROR" +msgstr "" + +#: cook:427 +msgid "Executing strip on all files..." +msgstr "" + +#: cook:440 +msgid "Removing Python compiled files..." +msgstr "" + +#: cook:448 +msgid "Removing Perl compiled files..." +msgstr "" + +#: cook:462 cook:590 +msgid "Build dependencies to remove: " +msgstr "" + +#: cook:463 cook:591 +msgid "Removing:" +msgstr "" + +#: cook:477 +#, sh-format +msgid "Cook: $PACKAGE $VERSION" +msgstr "" + +#: cook:491 +#, sh-format +msgid "$ARCH sysroot: $sysroot" +msgstr "" + +#: cook:492 +#, sh-format +msgid "Adding $tools/bin to PATH" +msgstr "" + +#: cook:496 +#, sh-format +msgid "Using cross-tools: $CROSS_COMPILE" +msgstr "" + +#: cook:518 +#, sh-format +msgid "Disabling -pipe compile flag: $free RAM" +msgstr "" + +#: cook:535 +msgid "Checking build dependencies..." +msgstr "" + +#: cook:536 +#, sh-format +msgid "Using packages DB: ${root}$DB" +msgstr "" + +#: cook:562 +#, sh-format +msgid "Missing dep (wok/pkg): $i $vers" +msgstr "" + +#: cook:570 +#, sh-format +msgid "ERROR: unknown dep $i" +msgstr "" + +#: cook:583 +msgid "Auto cook config is set: AUTO_COOK" +msgstr "" + +#: cook:587 +#, sh-format +msgid "Building dep (wok/pkg) : $i $vers" +msgstr "" + +#: cook:592 +#, sh-format +msgid "ERROR: can't cook dep '$i'" +msgstr "" + +#: cook:607 +#, sh-format +msgid "ERROR: missing dep $nb" +msgstr "" + +#: cook:614 +#, sh-format +msgid "Installing dep (pkg/local): $i" +msgstr "" + +#: cook:622 +#, sh-format +msgid "Installing dep (web/cache): $i" +msgstr "" + +#: cook:672 +msgid "Executing: compile_rules" +msgstr "" + +#: cook:689 +msgid "Running testsuite" +msgstr "" + +#: cook:698 +msgid "ERROR: cook failed" +msgstr "" + +#: cook:718 +#, sh-format +msgid "Pack: $PACKAGE ${VERSION}${arch}" +msgstr "" + +#: cook:721 +msgid "Executing: genpkg_rules" +msgstr "" + +#: cook:723 +msgid "ERROR: genpkg_rules failed" +msgstr "" + +#: cook:726 +msgid "No packages rules: meta package" +msgstr "" + +#: cook:740 +#, sh-format +msgid "Copying $file..." +msgstr "" + +#: cook:746 +msgid "Creating the list of files..." +msgstr "" + +#: cook:757 +msgid "Creating md5sum of files..." +msgstr "" + +#: cook:772 +msgid "Compressing the fs..." +msgstr "" + +#: cook:779 +msgid "Updating receipt sizes..." +msgstr "" + +#: cook:787 +#, sh-format +msgid "Updating receipt EXTRAVERSION: $EXTRAVERSION" +msgstr "" + +#: cook:794 +msgid "Creating full cpio archive..." +msgstr "" + +#: cook:798 +msgid "Restoring original package tree..." +msgstr "" + +#: cook:806 +#, sh-format +msgid "Package: $tazpkg" +msgstr "" + +#: cook:822 +msgid "QA: checking for empty package..." +msgstr "" + +#: cook:825 +msgid "ERROR: empty package" +msgstr "" + +#: cook:833 +#, sh-format +msgid "Removing old: $old_pkg" +msgstr "" + +#: cook:863 +msgid "Unable to install package, build has failed." +msgstr "" + +#: cook:872 +#, sh-format +msgid "Updating $ARCH chroot environment..." +msgstr "" + +#: cook:873 +#, sh-format +msgid "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})" +msgstr "" + +#: cook:894 +msgid "Setup aufs chroot..." +msgstr "" + +#: cook:906 +msgid "Aufs mountage failure" +msgstr "" + +#: cook:917 +msgid "Leaving aufs chroot..." +msgstr "" + +#: cook:959 +#, sh-format +msgid "List of packages in: $WOK" +msgstr "" + +#: cook:963 +#, sh-format +msgid "Packages: $pkg_total" +msgstr "" + +#: cook:969 +#, sh-format +msgid "Search results for: $query" +msgstr "" + +#: cook:975 +msgid "Cook: setup environment" +msgstr "" + +#: cook:976 +msgid "Setting up your environment" +msgstr "" + +#: cook:979 +msgid "Checking for packages to install..." +msgstr "" + +#: cook:985 +msgid "ERROR: cross is not installed" +msgstr "" + +#: cook:988 +msgid "Using config file: /etc/slitaz/cross.conf" +msgstr "" + +#: cook:1013 +msgid "Adding group: slitaz" +msgstr "" + +#: cook:1016 +msgid "Setting permissions for slitaz group..." +msgstr "" + +#: cook:1019 +msgid "All done, ready to cook packages :-)" +msgstr "" + +#: cook:1024 +#, sh-format +msgid "Cook: setup $arch cross environment" +msgstr "" + +#: cook:1025 +#, sh-format +msgid "Setting up your $arch cross environment" +msgstr "" + +#. L10n: keep the same width of translations to get a consistent view +#: cook:1051 +#, sh-format +msgid "Target arch : $ARCH" +msgstr "" + +#: cook:1052 +#, sh-format +msgid "Configure args : $CONFIGURE_ARGS" +msgstr "" + +#: cook:1053 +#, sh-format +msgid "Arch sysroot : $sysroot" +msgstr "" + +#: cook:1054 +#, sh-format +msgid "Tools prefix : $tools/bin" +msgstr "" + +#: cook:1056 +#, sh-format +msgid "Packages DB : ${root}$DB" +msgstr "" + +#: cook:1067 +msgid "WARNING: (e)glibc-base is not installed in sysroot" +msgstr "" + +#: cook:1071 +#, sh-format +msgid "Cross compiler : ${HOST_SYSTEM}-gcc" +msgstr "" + +#: cook:1073 +#, sh-format +msgid "C compiler is missing: ${HOST_SYSTEM}-gcc" +msgstr "" + +#: cook:1074 +msgid "Run 'cross compile' to cook a toolchain" +msgstr "" + +#: cook:1079 +msgid "Cook test: testing the cook environment" +msgstr "" + +#: cook:1089 +#, sh-format +msgid "$pkg package already exists." +msgstr "" + +#: cook:1092 +#, sh-format +msgid "Creating $WOK/$pkg" +msgstr "" + +#: cook:1094 +msgid "Preparing the package receipt..." +msgstr "" + +#: cook:1102 +msgid "Entering interactive mode..." +msgstr "" + +#: cook:1104 +#, sh-format +msgid "Package : $pkg" +msgstr "" + +#: cook:1105 +msgid "Version : " +msgstr "" + +#: cook:1107 +msgid "Category : " +msgstr "" + +#. L10n: Short description +#: cook:1110 +msgid "Short desc : " +msgstr "" + +#: cook:1112 +msgid "Maintainer : " +msgstr "" + +#: cook:1114 +msgid "License : " +msgstr "" + +#: cook:1116 +msgid "Web site : " +msgstr "" + +#: cook:1120 +msgid "Wget URL to download source tarball." +msgstr "" + +#: cook:1121 +msgid "Example : " +msgstr "" + +#: cook:1122 +msgid "Wget url : " +msgstr "" + +#: cook:1125 +msgid "Do you need a stuff directory? (y/N) : " +msgstr "" + +#: cook:1127 +msgid "Creating the stuff directory..." +msgstr "" + +#: cook:1131 +msgid "Are you going to write a description? (y/N) : " +msgstr "" + +#: cook:1133 +msgid "Creating the description.txt file..." +msgstr "" + +#: cook:1136 +msgid "Receipt is ready to use." +msgstr "" + +#: cook:1142 +msgid "No list in argument." +msgstr "" + +#: cook:1144 +#, sh-format +msgid "No list found: $list2" +msgstr "" + +#: cook:1145 +#, sh-format +msgid "Cook list starting: $list2" +msgstr "" + +#: cook:1152 +msgid "Cleaning all packages files..." +msgstr "" + +#: cook:1157 +msgid "Cleaning all packages sources..." +msgstr "" + +#: cook:1170 +msgid "Packages directory doesn't exist" +msgstr "" + +#: cook:1177 +msgid "Cook pkgdb: Creating all packages lists" +msgstr "" + +#: cook:1178 +#, sh-format +msgid "Creating lists for: $PKGS" +msgstr "" + +#: cook:1180 +#, sh-format +msgid "Cook pkgdb started: $datenow" +msgstr "" + +#: cook:1183 +msgid "Creating: packages.list" +msgstr "" + +#: cook:1185 +msgid "Creating: packages.md5" +msgstr "" + +#: cook:1188 +#, sh-format +msgid "Creating lists from: $WOK" +msgstr "" + +#: cook:1230 +msgid "Done: packages.desc" +msgstr "" + +#: cook:1231 +msgid "Done: packages.txt" +msgstr "" + +#: cook:1232 +msgid "Done: packages.equiv" +msgstr "" + +#: cook:1235 +msgid "Creating: files.list.lzma" +msgstr "" + +#. L10n: 's' is for seconds (cooking time) +#: cook:1244 +#, sh-format +msgid "Packages: $nb - Time: ${time}s" +msgstr "" + +#: cook:1250 +#, sh-format +msgid "Missing flavors: $flavors" +msgstr "" + +#: cook:1252 +#, sh-format +msgid "Creating flavors files in: $live" +msgstr "" + +#: cook:1253 +msgid "Cook pkgdb: Creating all flavors" +msgstr "" + +#: cook:1255 +msgid "Recharging lists to use latest packages..." +msgstr "" + +#: cook:1260 +msgid "Creating configuration file: tazlito.conf" +msgstr "" + +#: cook:1270 +msgid "Starting to generate flavors..." +msgstr "" + +#: cook:1275 +#, sh-format +msgid "Packing flavor: $fl" +msgstr "" + +#: cook:1283 +#, sh-format +msgid "Flavors size: $fl_size" +msgstr "" + +#: cook:1287 +#, sh-format +msgid "Cook pkgdb end: $datenow" +msgstr "" + +#: cook:1314 +#, sh-format +msgid "cook: HOST_ARCH is not set in $pkg receipt" +msgstr "" + +#: cook:1315 +#, sh-format +msgid "cook: This package is not included in: $ARCH" +msgstr "" + +#: cook:1316 cook:1327 +#, sh-format +msgid "bugs: $CROSS_BUGS" +msgstr "" + +#: cook:1317 +#, sh-format +msgid "Cook skip: $pkg is not included in: $ARCH" +msgstr "" + +#: cook:1325 +#, sh-format +msgid "cook: HOST_ARCH=$HOST_ARCH" +msgstr "" + +#: cook:1326 +#, sh-format +msgid "cook: $pkg doesn't cook or is not included in: $ARCH" +msgstr "" + +#: cook:1328 +#, sh-format +msgid "Cook skip: $pkg doesn't cook or is not included in: $ARCH" +msgstr "" + +#: cook:1334 +#, sh-format +msgid "Blocked package: $pkg" +msgstr "" + +#: cook:1341 +#, sh-format +msgid "Cook started for: $pkg" +msgstr "" + +#: cook:1352 +#, sh-format +msgid "Cleaning: $pkg" +msgstr "" + +#: cook:1358 +#, sh-format +msgid "Getting source for: $pkg" +msgstr "" + +#: cook:1360 +#, sh-format +msgid "Tarball: $SRC/$TARBALL" +msgstr "" + +#: cook:1363 +#, sh-format +msgid "Blocking: $pkg" +msgstr "" + +#: cook:1367 +#, sh-format +msgid "Unblocking: $pkg" +msgstr "" + +#: cook:1377 +#, sh-format +msgid "Need to build $pkg." +msgstr "" + +#: cook:1385 +#, sh-format +msgid "WANTED package is blocked: $wanted" +msgstr "" + +#: cook:1389 +#, sh-format +msgid "WANTED package is broken: $wanted" +msgstr "" diff -r 2bc4a2670e31 -r 8fbd30a8686a po/ru.po --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/po/ru.po Fri Mar 29 17:05:30 2013 +0000 @@ -0,0 +1,941 @@ +# Russian translations for Cook package +# Copyright (C) 2013 THE Cook'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Cook package. +# Aleksej Bobylev , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: Cook 3.1.4\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-03-29 17:02+0000\n" +"PO-Revision-Date: 2013-03-29 16:52-0000\n" +"Last-Translator: Aleksej Bobylev \n" +"Language-Team: Russian\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"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" +"X-Poedit-Language: Russian\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Poedit-KeywordsList: _;_n\n" +"X-Poedit-Basepath: ..\n" +"X-Poedit-SearchPath-0: .\n" + +#: cook:32 +msgid "\\033[1mUsage:\\033[0m cook [package|command] [list|--option]" +msgstr "" +"\\033[1mИспользование:\\033[0m cook [пакет|команда] [список|--параметр]" + +#: cook:34 +msgid "\\033[1mCommands:\\033[0m" +msgstr "\\033[1mКоманды:\\033[0m" + +#: cook:35 +msgid "Display this short usage." +msgstr "Показать эту краткую справку." + +#: cook:36 +msgid "Setup your build environment." +msgstr "Настроить сборочное окружение." + +#: cook:37 +msgid "Setup a cross environment." +msgstr "Настроить кросс-сборочное окружение." + +#: cook:38 +msgid "Test environment and cook a package." +msgstr "Тестировать окружение и приготовить пакет." + +#: cook:39 +msgid "List packages in the wok." +msgstr "Список пакетов в wok." + +#: cook:40 +msgid "Simple packages search function." +msgstr "Простой поиск по пакетам." + +#: cook:41 +msgid "Create a new package with a receipt." +msgstr "Создать новый пакет с рецептом." + +#: cook:42 +msgid "Cook a list of packages." +msgstr "Приготовить список пакетов." + +#: cook:43 +msgid "Clean-up all packages files." +msgstr "Очистить все файлы пакета." + +#: cook:44 +msgid "Clean-up all packages sources." +msgstr "Очистить все исходники пакета." + +#: cook:45 +msgid "Create packages DB lists and flavors." +msgstr "Создать базу данных пакетов и редакций." + +#: cook:47 +msgid "\\033[1mOptions:\\033[0m" +msgstr "\\033[1mПараметры:\\033[0m" + +#: cook:48 +msgid "clean the package in the wok." +msgstr "очистить пакет в wok." + +#: cook:49 +msgid "cook and install the package." +msgstr "приготовить и установить пакет." + +#: cook:50 +msgid "get the package source tarball." +msgstr "загрузить архив исходников пакета." + +#: cook:51 +msgid "block a package so cook will skip it." +msgstr "блокировать пакет, чтобы cook пропускал его." + +#: cook:52 +msgid "unblock a blocked package." +msgstr "разблокировать заблокированный пакет." + +#: cook:53 +msgid "repack an already built package." +msgstr "повторно упаковать созданный пакет." + +#: cook:54 +msgid "create a receipt interactively." +msgstr "интерактивно создать рецепт." + +#: cook:55 +msgid "clone the cooking wok from Hg repo." +msgstr "клонировать cooking wok из репозитория Hg." + +#: cook:56 +msgid "clone the stable wok from Hg repo." +msgstr "клонировать стабильный wok из репозитория Hg." + +#: cook:57 +msgid "clone the undigest wok from Hg repo." +msgstr "клонировать undigest wok из репозитория Hg." + +#: cook:58 +msgid "clone the tiny SliTaz wok from Hg repo." +msgstr "клонировать tiny SliTaz wok из репозитория Hg." + +#: cook:59 +msgid "force reinstall of chroot packages." +msgstr "принудительная переустановка пакетов в chroot." + +#: cook:60 +msgid "create up-to-date flavors files." +msgstr "создать актуальные файлы редакций (flavors)." + +#: cook:75 +#, sh-format +msgid "Unable to find package in the wok: $pkg" +msgstr "Не удалось найти пакет «$pkg» в wok." + +#. L10n: QA is quality assurance +#: cook:83 +#, sh-format +msgid "QA: empty variable: ${var}=\"\"" +msgstr "ОТК: пустая переменная: ${var}=\"\"" + +#: cook:90 +#, sh-format +msgid "Creating directories structure in: $SLITAZ" +msgstr "Создание структуры папок в $SLITAZ" + +#: cook:92 +#, sh-format +msgid "Creating DB files in: $CACHE" +msgstr "Создание файлов базы данных в $CACHE" + +#: cook:101 +msgid "QA: checking package receipt..." +msgstr "ОТК: проверка рецепта пакета…" + +#: cook:117 +#, sh-format +msgid "QA: unknown category: $value" +msgstr "ОТК: неизвестная категория «$value»" + +#: cook:118 +#, sh-format +msgid "Please, use one of: $valid" +msgstr "Используйте одну из: $valid" + +#: cook:127 +#, sh-format +msgid "QA: unable to reach: $value" +msgstr "ОТК: не удалось подключиться к $value" + +#: cook:180 +#, sh-format +msgid "Creating tarball: $tarball" +msgstr "Создание архива: $tarball" + +#: cook:200 cook:203 +#, sh-format +msgid "ERROR: wget $WGET_URL" +msgstr "ОШИБКА: wget $WGET_URL" + +#: cook:210 +msgid "Getting source from Hg..." +msgstr "Загрузка исходников с Hg…" + +#: cook:211 cook:225 cook:237 cook:249 +#, sh-format +msgid "URL: $url" +msgstr "Адрес: $url" + +#: cook:212 +#, sh-format +msgid "Cloning to: $pwd/$pkgsrc" +msgstr "Клонирование в $pwd/$pkgsrc" + +#: cook:214 +#, sh-format +msgid "Hg branch: $BRANCH" +msgstr "Ветвь Hg: $BRANCH" + +#: cook:216 +#, sh-format +msgid "ERROR: hg clone $url --rev $BRANCH" +msgstr "ОШИБКА: hg clone $url --rev $BRANCH" + +#: cook:218 +#, sh-format +msgid "ERROR: hg clone $url" +msgstr "ОШИБКА: hg clone $url" + +#: cook:224 +msgid "Getting source from Git..." +msgstr "Загрузка исходников с Git…" + +#: cook:226 +#, sh-format +msgid "ERROR: git clone $url" +msgstr "ОШИБКА: git clone $url" + +#: cook:228 +#, sh-format +msgid "Git branch: $BRANCH" +msgstr "Ветвь Git: $BRANCH" + +#: cook:236 +msgid "Getting source from CVS..." +msgstr "Загрузка исходников с CVS…" + +#: cook:238 +#, sh-format +msgid "CVS module: $mod" +msgstr "Модуль CVS: $mod" + +#: cook:239 +#, sh-format +msgid "Cloning to: $pwd/$mod" +msgstr "Клонирование в $pwd/$mod" + +#: cook:248 +msgid "Getting source from SVN..." +msgstr "Загрузка исходников с SVN…" + +#: cook:258 +msgid "Getting source from bazaar..." +msgstr "Загрузка исходников с bazaar…" + +#: cook:268 +msgid "Don't forget to add to receipt:" +msgstr "Не забудьте добавить в рецепт:" + +#: cook:275 +#, sh-format +msgid "ERROR: Unable to handle: $WGET_URL" +msgstr "ОШИБКА: Не удалось обработать $WGET_URL" + +#: cook:287 +#, sh-format +msgid "Getting source from mirror: $url" +msgstr "Загрузка исходников из репозитария mirror: $url" + +#: cook:288 +#, sh-format +msgid "ERROR: wget $url" +msgstr "ОШИБКА: wget $url" + +#: cook:290 +#, sh-format +msgid "Extracting: $TARBALL" +msgstr "Распаковка архива $TARBALL" + +#. L10n: specify your format of date and time (to help: man date) +#. L10n: not bad one is '+%x %R' +#: cook:314 cook:341 cook:1179 cook:1286 +msgid "+%Y-%m-%d %H:%M" +msgstr "+%x %R" + +#. L10n: 'm' is for minutes (approximate cooking time) +#: cook:318 +#, sh-format +msgid "~ ${div}m" +msgstr "(около $div мин)" + +#: cook:319 +#, sh-format +msgid "Summary for: $PACKAGE $VERSION" +msgstr "Сводка по пакету $PACKAGE $VERSION" + +#. L10n: keep the same width of translations to get a consistent view +#: cook:322 +#, sh-format +msgid "Source dir : $srcdir" +msgstr "Папка исходников : $srcdir" + +#: cook:323 +#, sh-format +msgid "Src file : $TARBALL" +msgstr "Имя архива исходников: $TARBALL" + +#: cook:324 +#, sh-format +msgid "Src size : $srcsize" +msgstr "Размер архива : $srcsize" + +#: cook:325 +#, sh-format +msgid "Produced : $prod" +msgstr "Скомпилировано : $prod" + +#: cook:326 +#, sh-format +msgid "Packed : $fs" +msgstr "Помещено в пакет : $fs" + +#: cook:327 +#, sh-format +msgid "Compressed : $size" +msgstr "Размер сжатого пакета: $size" + +#: cook:328 +#, sh-format +msgid "Files : $files" +msgstr "Количество файлов : $files" + +#. L10n: 's' is for seconds (cooking time) +#: cook:330 +#, sh-format +msgid "Cook time : ${sec}s $min" +msgstr "Время приготовления : $sec с $min" + +#: cook:331 +#, sh-format +msgid "Cook date : $cookdate" +msgstr "Дата приготовления : $cookdate" + +#: cook:332 +#, sh-format +msgid "Host arch : $ARCH" +msgstr "Архитектура хоста : $ARCH" + +#: cook:338 +msgid "Debug information" +msgstr "Отладочная информация" + +#: cook:342 +#, sh-format +msgid "Cook date: $datenow" +msgstr "Дата приготовления: $datenow" + +#. L10n: Please, translate all messages beginning with ERROR in a same way +#: cook:344 cook:604 cook:701 cook:731 cook:817 cook:1405 +msgid "ERROR" +msgstr "ОШИБКА" + +#: cook:427 +msgid "Executing strip on all files..." +msgstr "Выполнение команды strip для всех файлов…" + +#: cook:440 +msgid "Removing Python compiled files..." +msgstr "Удаление скомпилированных файлов Python…" + +#: cook:448 +msgid "Removing Perl compiled files..." +msgstr "Удаление скомпилированных файлов Perl…" + +#: cook:462 cook:590 +msgid "Build dependencies to remove: " +msgstr "Будут удалены зависимости сборки: " + +#: cook:463 cook:591 +msgid "Removing:" +msgstr "Удаление:" + +#: cook:477 +#, sh-format +msgid "Cook: $PACKAGE $VERSION" +msgstr "Приготовление пакета: $PACKAGE $VERSION" + +#: cook:491 +#, sh-format +msgid "$ARCH sysroot: $sysroot" +msgstr "Корень $ARCH: $sysroot" + +#: cook:492 +#, sh-format +msgid "Adding $tools/bin to PATH" +msgstr "Добавление «$tools/bin» в PATH" + +#: cook:496 +#, sh-format +msgid "Using cross-tools: $CROSS_COMPILE" +msgstr "Используемые кросс-инструменты: $CROSS_COMPILE" + +#: cook:518 +#, sh-format +msgid "Disabling -pipe compile flag: $free RAM" +msgstr "Отключение флага компиляции «-pipe»: свободно $free КБ RAM" + +#: cook:535 +msgid "Checking build dependencies..." +msgstr "Проверка зависимостей сборки…" + +#: cook:536 +#, sh-format +msgid "Using packages DB: ${root}$DB" +msgstr "Используемая база данных пакетов: ${root}$DB" + +#: cook:562 +#, sh-format +msgid "Missing dep (wok/pkg): $i $vers" +msgstr "Отсутствует зависимость (wok/пакет): $i $vers" + +#: cook:570 +#, sh-format +msgid "ERROR: unknown dep $i" +msgstr "ОШИБКА: неизвестная зависимость «$i»" + +#: cook:583 +msgid "Auto cook config is set: AUTO_COOK" +msgstr "Авто-приготовление включено: AUTO_COOK" + +#: cook:587 +#, sh-format +msgid "Building dep (wok/pkg) : $i $vers" +msgstr "Приготовление зависимости (wok/пакет): $i $vers" + +#: cook:592 +#, sh-format +msgid "ERROR: can't cook dep '$i'" +msgstr "ОШИБКА: не удалось приготовить зависимость «$i»" + +#: cook:607 +#, sh-format +msgid "ERROR: missing dep $nb" +msgstr "ОШИБКА: отсутствует зависимость «$nb»" + +#: cook:614 +#, sh-format +msgid "Installing dep (pkg/local): $i" +msgstr "Установка зависимости (пакет/локальный): $i" + +#: cook:622 +#, sh-format +msgid "Installing dep (web/cache): $i" +msgstr "Установка зависимости (веб/кеш): $i" + +#: cook:672 +msgid "Executing: compile_rules" +msgstr "Выполнение правил компиляции исходников" + +#: cook:689 +msgid "Running testsuite" +msgstr "Запуск набора тестов" + +#: cook:698 +msgid "ERROR: cook failed" +msgstr "ОШИБКА: приготовление не удалось" + +#: cook:718 +#, sh-format +msgid "Pack: $PACKAGE ${VERSION}${arch}" +msgstr "Упаковка: $PACKAGE ${VERSION}${arch}" + +#: cook:721 +msgid "Executing: genpkg_rules" +msgstr "Выполнение правил создания пакета" + +#: cook:723 +msgid "ERROR: genpkg_rules failed" +msgstr "ОШИБКА: не удалось выполнить правила создания пакета" + +#: cook:726 +msgid "No packages rules: meta package" +msgstr "Для пакета отсутствуют правила, это мета-пакет" + +#: cook:740 +#, sh-format +msgid "Copying $file..." +msgstr "Копирование файла $file…" + +#: cook:746 +msgid "Creating the list of files..." +msgstr "Создание списка файлов…" + +#: cook:757 +msgid "Creating md5sum of files..." +msgstr "Расчёт контрольных сумм файлов…" + +#: cook:772 +msgid "Compressing the fs..." +msgstr "Сжатие файловой системы…" + +#: cook:779 +msgid "Updating receipt sizes..." +msgstr "Обновление размеров в рецепте…" + +#: cook:787 +#, sh-format +msgid "Updating receipt EXTRAVERSION: $EXTRAVERSION" +msgstr "Обновление EXTRAVERSION в рецепте: $EXTRAVERSION" + +#: cook:794 +msgid "Creating full cpio archive..." +msgstr "Создание полного архива CPIO…" + +#: cook:798 +msgid "Restoring original package tree..." +msgstr "Восстановление оригинального дерева пакета…" + +#: cook:806 +#, sh-format +msgid "Package: $tazpkg" +msgstr "Создан пакет «$tazpkg»" + +#: cook:822 +msgid "QA: checking for empty package..." +msgstr "ОТК: проверка на пустой пакет…" + +#: cook:825 +msgid "ERROR: empty package" +msgstr "ОШИБКА: пустой пакет" + +#: cook:833 +#, sh-format +msgid "Removing old: $old_pkg" +msgstr "Удаление старого пакета «$old_pkg»…" + +#: cook:863 +msgid "Unable to install package, build has failed." +msgstr "Не удалось установить пакет, сборка завершилась неудачей." + +#: cook:872 +#, sh-format +msgid "Updating $ARCH chroot environment..." +msgstr "Обновление окружения chroot $ARCH…" + +#: cook:873 +#, sh-format +msgid "Updating chroot: $pkg (${VERSION}${EXTRAVERSION}${arch})" +msgstr "Обновление пакета $pkg (${VERSION}${EXTRAVERSION}${arch}) в chroot" + +#: cook:894 +msgid "Setup aufs chroot..." +msgstr "Настройка chroot AUFS…" + +#: cook:906 +msgid "Aufs mountage failure" +msgstr "Не удалось смонтировать AUFS" + +#: cook:917 +msgid "Leaving aufs chroot..." +msgstr "Выход из chroot AUFS…" + +#: cook:959 +#, sh-format +msgid "List of packages in: $WOK" +msgstr "Список пакетов в $WOK" + +#: cook:963 +#, sh-format +msgid "Packages: $pkg_total" +msgstr "Пакетов: $pkg_total" + +#: cook:969 +#, sh-format +msgid "Search results for: $query" +msgstr "Результаты поиска «$query»" + +#: cook:975 +msgid "Cook: setup environment" +msgstr "Cook: настройка окружения" + +#: cook:976 +msgid "Setting up your environment" +msgstr "Настройка окружения" + +#: cook:979 +msgid "Checking for packages to install..." +msgstr "Подготовка к установке пакетов…" + +#: cook:985 +msgid "ERROR: cross is not installed" +msgstr "ОШИБКА: cross не установлен" + +#: cook:988 +msgid "Using config file: /etc/slitaz/cross.conf" +msgstr "Использование файла параметров: /etc/slitaz/cross.conf" + +#: cook:1013 +msgid "Adding group: slitaz" +msgstr "Добавление группы «slitaz»" + +#: cook:1016 +msgid "Setting permissions for slitaz group..." +msgstr "Установка прав доступа для группы slitaz…" + +#: cook:1019 +msgid "All done, ready to cook packages :-)" +msgstr "Хорошо, теперь можно готовить пакеты :-)" + +#: cook:1024 +#, sh-format +msgid "Cook: setup $arch cross environment" +msgstr "Cook: настройка кросс-окружения $arch" + +#: cook:1025 +#, sh-format +msgid "Setting up your $arch cross environment" +msgstr "Настройка кросс-окружения $arch" + +#. L10n: keep the same width of translations to get a consistent view +#: cook:1051 +#, sh-format +msgid "Target arch : $ARCH" +msgstr "Целевая архитектура : $ARCH" + +#: cook:1052 +#, sh-format +msgid "Configure args : $CONFIGURE_ARGS" +msgstr "Параметры конфигурации: $CONFIGURE_ARGS" + +#: cook:1053 +#, sh-format +msgid "Arch sysroot : $sysroot" +msgstr "Sysroot архитектуры : $sysroot" + +#: cook:1054 +#, sh-format +msgid "Tools prefix : $tools/bin" +msgstr "Префикс инструментов : $tools/bin" + +#: cook:1056 +#, sh-format +msgid "Packages DB : ${root}$DB" +msgstr "База данных пакетов : ${root}$DB" + +#: cook:1067 +msgid "WARNING: (e)glibc-base is not installed in sysroot" +msgstr "ПРЕДУПРЕЖДЕНИЕ: пакет (e)glibc-base не установлен в sysroot" + +#: cook:1071 +#, sh-format +msgid "Cross compiler : ${HOST_SYSTEM}-gcc" +msgstr "Кросс-компилятор : ${HOST_SYSTEM}-gcc" + +#: cook:1073 +#, sh-format +msgid "C compiler is missing: ${HOST_SYSTEM}-gcc" +msgstr "Отсутствует компилятор C «${HOST_SYSTEM}-gcc»" + +#: cook:1074 +msgid "Run 'cross compile' to cook a toolchain" +msgstr "Запустите «cross compile» для приготовления тулчейна" + +#: cook:1079 +msgid "Cook test: testing the cook environment" +msgstr "Тест cook: проверка окружения cook" + +#: cook:1089 +#, sh-format +msgid "$pkg package already exists." +msgstr "Пакет $pkg уже существует." + +#: cook:1092 +#, sh-format +msgid "Creating $WOK/$pkg" +msgstr "Создание папки $WOK/$pkg" + +#: cook:1094 +msgid "Preparing the package receipt..." +msgstr "Подготовка рецепта пакета…" + +#: cook:1102 +msgid "Entering interactive mode..." +msgstr "Интерактивный режим создания рецепта" + +#: cook:1104 +#, sh-format +msgid "Package : $pkg" +msgstr "Пакет : $pkg" + +#: cook:1105 +msgid "Version : " +msgstr "Версия : " + +#: cook:1107 +msgid "Category : " +msgstr "Категория : " + +#. L10n: Short description +#: cook:1110 +msgid "Short desc : " +msgstr "Кратк.описание: " + +#: cook:1112 +msgid "Maintainer : " +msgstr "Мейнтейнер : " + +#: cook:1114 +msgid "License : " +msgstr "Лицензия : " + +#: cook:1116 +msgid "Web site : " +msgstr "Сайт : " + +#: cook:1120 +msgid "Wget URL to download source tarball." +msgstr "Адрес загрузки архива с исходниками." + +#: cook:1121 +msgid "Example : " +msgstr "Пример : " + +#: cook:1122 +msgid "Wget url : " +msgstr "Исходники : " + +#: cook:1125 +msgid "Do you need a stuff directory? (y/N) : " +msgstr "Нужна ли папка stuff? (y/N) : " + +#: cook:1127 +msgid "Creating the stuff directory..." +msgstr "Создание папки stuff…" + +#: cook:1131 +msgid "Are you going to write a description? (y/N) : " +msgstr "Хотите ли написать расширенное описание? (y/N) : " + +#: cook:1133 +msgid "Creating the description.txt file..." +msgstr "Создание файла description.txt…" + +#: cook:1136 +msgid "Receipt is ready to use." +msgstr "Рецепт готов к использованию." + +#: cook:1142 +msgid "No list in argument." +msgstr "Не указан файл списка." + +#: cook:1144 +#, sh-format +msgid "No list found: $list2" +msgstr "Список «$list2» не обнаружен." + +#: cook:1145 +#, sh-format +msgid "Cook list starting: $list2" +msgstr "Приготовление пакетов из списка «$list2»" + +#: cook:1152 +msgid "Cleaning all packages files..." +msgstr "Очистка файлов всех пакетов…" + +#: cook:1157 +msgid "Cleaning all packages sources..." +msgstr "Очистка распакованных исходников всех пакетов…" + +#: cook:1170 +msgid "Packages directory doesn't exist" +msgstr "Папка пакета не существует" + +#: cook:1177 +msgid "Cook pkgdb: Creating all packages lists" +msgstr "Cook pkgdb: создание списков всех пакетов" + +#: cook:1178 +#, sh-format +msgid "Creating lists for: $PKGS" +msgstr "Создание списков для «$PKGS»" + +#: cook:1180 +#, sh-format +msgid "Cook pkgdb started: $datenow" +msgstr "Начало создания базы данных пакетов: $datenow" + +#: cook:1183 +msgid "Creating: packages.list" +msgstr "Создание «packages.list»" + +#: cook:1185 +msgid "Creating: packages.md5" +msgstr "Создание «packages.md5»" + +#: cook:1188 +#, sh-format +msgid "Creating lists from: $WOK" +msgstr "Создание списков пакетов из $WOK" + +#: cook:1230 +msgid "Done: packages.desc" +msgstr "Файл «packages.desc» готов." + +#: cook:1231 +msgid "Done: packages.txt" +msgstr "Файл «packages.txt» готов." + +#: cook:1232 +msgid "Done: packages.equiv" +msgstr "Файл «packages.equiv» готов." + +#: cook:1235 +msgid "Creating: files.list.lzma" +msgstr "Создание файла «files.list.lzma»" + +#. L10n: 's' is for seconds (cooking time) +#: cook:1244 +#, sh-format +msgid "Packages: $nb - Time: ${time}s" +msgstr "Пакетов: $nb - время: $time с" + +#: cook:1250 +#, sh-format +msgid "Missing flavors: $flavors" +msgstr "Отсутствуют редакции $flavors" + +#: cook:1252 +#, sh-format +msgid "Creating flavors files in: $live" +msgstr "Создание редакций в $live" + +#: cook:1253 +msgid "Cook pkgdb: Creating all flavors" +msgstr "Cook pkgdb: создание всех редакций" + +#: cook:1255 +msgid "Recharging lists to use latest packages..." +msgstr "Обновление списков для использования свежих пакетов…" + +#: cook:1260 +msgid "Creating configuration file: tazlito.conf" +msgstr "Создание файла концигурации «tazlito.conf»" + +#: cook:1270 +msgid "Starting to generate flavors..." +msgstr "Начало создания редакций…" + +#: cook:1275 +#, sh-format +msgid "Packing flavor: $fl" +msgstr "Упаковка редакции «$fl»" + +#: cook:1283 +#, sh-format +msgid "Flavors size: $fl_size" +msgstr "Размер редакции: $fl_size" + +#: cook:1287 +#, sh-format +msgid "Cook pkgdb end: $datenow" +msgstr "База данных пакетов создана: $datenow" + +#: cook:1314 +#, sh-format +msgid "cook: HOST_ARCH is not set in $pkg receipt" +msgstr "cook: переменная HOST_ARCH не указана в рецепте пакета «$pkg»" + +#: cook:1315 +#, sh-format +msgid "cook: This package is not included in: $ARCH" +msgstr "cook: этот пакет не включен в $ARCH" + +#: cook:1316 cook:1327 +#, sh-format +msgid "bugs: $CROSS_BUGS" +msgstr "bugs: $CROSS_BUGS" + +#: cook:1317 +#, sh-format +msgid "Cook skip: $pkg is not included in: $ARCH" +msgstr "Пропуск: пакет $pkg не включен в $ARCH" + +#: cook:1325 +#, sh-format +msgid "cook: HOST_ARCH=$HOST_ARCH" +msgstr "cook: HOST_ARCH=$HOST_ARCH" + +#: cook:1326 +#, sh-format +msgid "cook: $pkg doesn't cook or is not included in: $ARCH" +msgstr "cook: пакет $pkg не приготовлен либо не включен в $ARCH" + +#: cook:1328 +#, sh-format +msgid "Cook skip: $pkg doesn't cook or is not included in: $ARCH" +msgstr "Пропуск: пакет $pkg не приготовлен либо не включен в $ARCH" + +#: cook:1334 +#, sh-format +msgid "Blocked package: $pkg" +msgstr "Пакет $pkg заблокирован" + +#: cook:1341 +#, sh-format +msgid "Cook started for: $pkg" +msgstr "Начато приготовление $pkg" + +#: cook:1352 +#, sh-format +msgid "Cleaning: $pkg" +msgstr "Очистка пакета «$pkg»" + +#: cook:1358 +#, sh-format +msgid "Getting source for: $pkg" +msgstr "Загрузка исходников для «$pkg»" + +#: cook:1360 +#, sh-format +msgid "Tarball: $SRC/$TARBALL" +msgstr "Архив исходников: $SRC/$TARBALL" + +#: cook:1363 +#, sh-format +msgid "Blocking: $pkg" +msgstr "Блокировка пакета «$pkg»" + +#: cook:1367 +#, sh-format +msgid "Unblocking: $pkg" +msgstr "Снятие блокировки пакета «$pkg»" + +#: cook:1377 +#, sh-format +msgid "Need to build $pkg." +msgstr "Пакет $pkg сначала нужно собрать." + +#: cook:1385 +#, sh-format +msgid "WANTED package is blocked: $wanted" +msgstr "Требуемый пакет «$wanted» заблокирован" + +#: cook:1389 +#, sh-format +msgid "WANTED package is broken: $wanted" +msgstr "Требуемый пакет «$wanted» сломан"