From 82522dd8c1f4cd9f19d0cae83368689971f48ebd Mon Sep 17 00:00:00 2001 From: Xavier Chantry Date: Mon, 10 Aug 2009 15:50:53 +0200 Subject: makepkg: new --skipinteg option Implements FS#15830 This option allows to build a PKGBUILD with no checksums Signed-off-by: Xavier Chantry Signed-off-by: Dan McGee --- doc/makepkg.8.txt | 4 ++++ scripts/makepkg.sh.in | 15 +++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index e480d8e3..ad78ffcb 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -86,6 +86,10 @@ Options linkman:makepkg.conf[5]. This output can be redirected into your PKGBUILD for source validation using "`makepkg -g >> PKGBUILD`". +*--skipinteg*:: + Do not fail when the PKGBUILD does not contain any integrity checks, just + print a warning instead. + *-h, \--help*:: Output syntax and command line options. diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index c8384f80..126379ac 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -58,6 +58,7 @@ DEP_BIN=0 FORCE=0 INFAKEROOT=0 GENINTEG=0 +SKIPINTEG=0 INSTALL=0 NOBUILD=0 NODEPS=0 @@ -613,8 +614,12 @@ check_checksums() { done if [ $correlation -eq 0 ]; then - error "$(gettext "Integrity checks are missing.")" - exit 1 # TODO: error code + if [ $SKIPINTEG -eq 1 ]; then + warning "$(gettext "Integrity checks are missing.")" + else + error "$(gettext "Integrity checks are missing.")" + exit 1 # TODO: error code + fi fi } @@ -1399,6 +1404,7 @@ usage() { echo "$(gettext " -e, --noextract Do not extract source files (use existing src/ dir)")" echo "$(gettext " -f, --force Overwrite existing package")" echo "$(gettext " -g, --geninteg Generate integrity checks for source files")" + echo "$(gettext " --skipinteg Do not fail when integrity checks are missing")" echo "$(gettext " -h, --help This help")" echo "$(gettext " -i, --install Install package after successful build")" echo "$(gettext " -L, --log Log package build process")" @@ -1447,8 +1453,8 @@ ARGLIST=$@ OPT_SHORT="AcCdefFghiLmop:rRsV" OPT_LONG="allsource,asroot,ignorearch,clean,cleancache,nodeps" OPT_LONG="$OPT_LONG,noextract,force,forcever:,geninteg,help,holdver" -OPT_LONG="$OPT_LONG,install,log,nocolor,nobuild,rmdeps,repackage,source" -OPT_LONG="$OPT_LONG,syncdeps,version,config:" +OPT_LONG="$OPT_LONG,install,log,nocolor,nobuild,rmdeps,repackage,skipinteg" +OPT_LONG="$OPT_LONG,source,syncdeps,version,config:" # Pacman Options OPT_LONG="$OPT_LONG,noconfirm,noprogressbar" OPT_TEMP="$(parse_options $OPT_SHORT $OPT_LONG "$@" || echo 'PARSE_OPTIONS FAILED')" @@ -1487,6 +1493,7 @@ while true; do -p) shift; BUILDFILE=$1 ;; -r|--rmdeps) RMDEPS=1 ;; -R|--repackage) REPKG=1 ;; + --skipinteg) SKIPINTEG=1 ;; --source) SOURCEONLY=1 ;; -s|--syncdeps) DEP_BIN=1 ;; -- cgit v1.2.3-2-g168b From 20ba3cfe4e92beab9ae368bf73c1609f2555ee9a Mon Sep 17 00:00:00 2001 From: Sergey Tereschenko Date: Wed, 19 Aug 2009 22:48:17 +0200 Subject: update russian translation Signed-off-by: Xavier Chantry Signed-off-by: Dan McGee --- po/ru.po | 111 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 56 insertions(+), 55 deletions(-) diff --git a/po/ru.po b/po/ru.po index ba75d9ac..470517bd 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1,14 +1,14 @@ # Pacman Russian Translation # Copyright (C) 2007 Judd Vinet # This file is distributed under the same license as the Pacman package. -# Vladimir Bayrakovskiy <4rayven@gmail.com>, Vitaly Dolgov , 2007 -# Sergey Tereschenko 2009 +# Vladimir Bayrakovskiy <4rayven@gmail.com> 2008 +# Vitaly Dolgov , Sergey Tereschenko 2009 msgid "" msgstr "" "Project-Id-Version: Pacman package manager 3.3.0\n" "Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" "POT-Creation-Date: 2009-07-28 07:00-0500\n" -"PO-Revision-Date: 2009-08-02 17:32+0200\n" +"PO-Revision-Date: 2009-08-19 22:47+0200\n" "Last-Translator: Sergey Tereschenko \n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" @@ -145,83 +145,83 @@ msgstr "Неизвестно" #, c-format msgid "Name :" -msgstr "Название :" +msgstr "Название :" #, c-format msgid "Version :" -msgstr "Версия :" +msgstr "Версия :" #, c-format msgid "URL :" -msgstr "URL :" +msgstr "URL :" #, c-format msgid "Licenses :" -msgstr "Лицензии :" +msgstr "Лицензии :" #, c-format msgid "Groups :" -msgstr "Группы :" +msgstr "Группы :" #, c-format msgid "Provides :" -msgstr "Предоставляет :" +msgstr "Предоставляет :" #, c-format msgid "Depends On :" -msgstr "Зависит от :" +msgstr "Зависит от :" #, c-format msgid "Optional Deps :" -msgstr "Дополнительные зависимости :" +msgstr "Дополнительно :" #, c-format msgid "Required By :" -msgstr "Требуется пакетами :" +msgstr "Требуется пакетами :" #, c-format msgid "Conflicts With :" -msgstr "Конфликтует с :" +msgstr "Конфликтует с :" #, c-format msgid "Replaces :" -msgstr "Заменяет :" +msgstr "Заменяет :" #, c-format msgid "Download Size : %6.2f K\n" -msgstr "Будет загружено : %6.2f K\n" +msgstr "Будет загружено : %6.2f K\n" #, c-format msgid "Compressed Size: %6.2f K\n" -msgstr "Размер архива : %6.2f K\n" +msgstr "Размер архива : %6.2f K\n" #, c-format msgid "Installed Size : %6.2f K\n" -msgstr "Размер установленного : %6.2f K\n" +msgstr "Размер установленного : %6.2f K\n" #, c-format msgid "Packager :" -msgstr "Сборщик :" +msgstr "Сборщик :" #, c-format msgid "Architecture :" -msgstr "Архитектура :" +msgstr "Архитектура :" #, c-format msgid "Build Date :" -msgstr "Дата сборки :" +msgstr "Дата сборки :" #, c-format msgid "Install Date :" -msgstr "Дата установки :" +msgstr "Дата установки :" #, c-format msgid "Install Reason :" -msgstr "Причина установки :" +msgstr "Причина установки :" #, c-format msgid "Install Script :" -msgstr "Установочный скрипт :" +msgstr "Установочный скрипт :" #, c-format msgid "Yes" @@ -233,15 +233,15 @@ msgstr "No" #, c-format msgid "MD5 Sum :" -msgstr "MD5-сумма :" +msgstr "MD5-сумма :" #, c-format msgid "Description :" -msgstr "Описание :" +msgstr "Описание :" #, c-format msgid "Repository :" -msgstr "Репозиторий :" +msgstr "Репозиторий :" #, c-format msgid "Backup Files:\n" @@ -362,7 +362,7 @@ msgstr " -c, --changelog показать список изменений msgid "" " -d, --deps list packages installed as dependencies [filter]\n" msgstr "" -" -d, --deps показать все пакеты установленные как зависимости " +" -d, --deps показать все пакеты, установленные как зависимости " "[фильтр]\n" #, c-format @@ -403,7 +403,7 @@ msgstr "" #, c-format msgid " -o, --owns query the package that owns \n" -msgstr " -o, --owns <файл> найти пакет содержащий <файл>\n" +msgstr " -o, --owns <файл> найти пакет, содержащий <файл>\n" #, c-format msgid " -p, --file query a package file instead of the database\n" @@ -423,7 +423,7 @@ msgstr "" msgid "" " -t, --unrequired list packages not required by any package [filter]\n" msgstr "" -" -t, --unrequired показать все пакеты не используемые ни одним пакетом " +" -t, --unrequired показать все пакеты, не используемые ни одним пакетом " "[фильтр]\n" #, c-format @@ -501,7 +501,7 @@ msgid "" " ignore a group upgrade (can be used more than once)\n" msgstr "" " --ignoregroup <группа>\n" -" пропустить группу при обновлении (может быть " +" пропустить группу при обновлении (может быть " "использовано неоднократно)\n" #, c-format @@ -828,7 +828,7 @@ msgstr "пропуск цели: %s\n" #, c-format msgid "%s package not found, searching for group...\n" -msgstr "%s пакет не найдет, поиск группы...\n" +msgstr "%s пакет не найден, поиск группы...\n" #, c-format msgid ":: group %s (including ignored packages):\n" @@ -856,7 +856,7 @@ msgstr " локальная база данных не устарела\n" #, c-format msgid "no database for package: %s\n" -msgstr "нету базы данных для пакета: %s\n" +msgstr "нет базы данных для пакета: %s\n" #, c-format msgid "Proceed with download?" @@ -895,7 +895,7 @@ msgid "" ":: Do you want to cancel the current operation\n" ":: and upgrade these packages now?" msgstr "" -":: Хотите прервать текущую операцию и\n" +":: Хотите прервать текущую операцию\n" ":: и обновить эти пакеты сейчас?" #, c-format @@ -928,7 +928,7 @@ msgstr "не удалось продолжить запрос (%s)\n" #, c-format msgid "None" -msgstr "Нету" +msgstr "Нет" #, c-format msgid "Targets (%d):" @@ -1082,16 +1082,18 @@ msgid "NOT FOUND" msgstr "НЕ НАЙДЕНО" msgid "Passed" -msgstr "Пройден" +msgstr "Готово" msgid "FAILED" msgstr "СБОЙ" msgid "One or more files did not pass the validity check!" -msgstr "Один или более файлов не прошли проверку на соответствие!" +msgstr "Один или более файлов не прошли проверку целостности!" msgid "Integrity checks (%s) differ in size from the source array." -msgstr "Файл (%s) не прошел проверку целостности." +msgstr "" +"Количество контрольных сумм (%s) не совпадает с количеством файлов в source" +"()." msgid "Integrity checks are missing." msgstr "Проверки целостности не выполняются." @@ -1169,7 +1171,7 @@ msgid "Failed to create package file." msgstr "Не удалось создать файл пакета." msgid "Creating source package..." -msgstr "Создание пакета с исходными кодами..." +msgstr "Создание пакета с исходным кодом..." msgid "Adding %s..." msgstr "Добавление %s... " @@ -1181,7 +1183,7 @@ msgid "Compressing source package..." msgstr "Сжатие исходного пакета..." msgid "Failed to create source package file." -msgstr "Не удалось создать пакет с исходными кодами." +msgstr "Не удалось создать пакет с исходным кодом." msgid "Failed to install built package(s)." msgstr "Не удалось установить собранные пакеты." @@ -1253,7 +1255,7 @@ msgid "Options:" msgstr "Параметры:" msgid " -A, --ignorearch Ignore incomplete arch field in %s" -msgstr " -А --ignorearch Игнорировать неполное поле arch в %s" +msgstr " -А, --ignorearch Игнорировать неполное поле arch в %s" msgid " -c, --clean Clean up work files after build" msgstr " -c, --clean Удалять оставшиеся после сборки ненужные фалы" @@ -1278,8 +1280,8 @@ msgstr " -f, --force Переписать существующий пак msgid " -g, --geninteg Generate integrity checks for source files" msgstr "" -" -g, --geninteg Генерировать информацию для проверки целостности исходных " -"файлов" +" -g, --geninteg Посчитать контрольные суммы для проверки целостности " +"исходных файлов" msgid " -h, --help This help" msgstr " -h, --help Эта помощь" @@ -1316,8 +1318,7 @@ msgid "" " --allsource Generate a source-only tarball including downloaded " "sources" msgstr "" -" --allsource Создать архив с исходными кодами, включая загруженные " -"файлы" +" --allsource Создать архив с исходным кодом, включая загруженные файлы" msgid " --asroot Allow makepkg to run as root user" msgstr " --asroot Позволить запуск makepkg от имени root" @@ -1326,13 +1327,13 @@ msgid "" " --holdver Prevent automatic version bumping for development " "PKGBUILDs" msgstr "" -" --holdver Не допускать автоматического изменения версий для " -"PKGBUILDов находящихся в разработке" +" --holdver Не допускать автоматического изменения версий в " +"PKGBUILD'ах пакетов из svn/cvs/etc" msgid "" " --source Generate a source-only tarball without downloaded sources" msgstr "" -" --source Создать архив с исходными кодами, без загруженных файлов" +" --source Создать архив с исходным кодом, без загруженных файлов" msgid "These options can be passed to pacman:" msgstr "Следующие параметры могут быть переданы pacman:" @@ -1379,30 +1380,30 @@ msgid "Problem removing files; you may not have correct permissions in %s" msgstr "Не удалось удалить файлы; возможно, у вас недостаточно привилегий в %s" msgid "Source cache cleaned." -msgstr "Кэш с исходными кодами очищен." +msgstr "Кэш очищен от исходных файлов." msgid "No files have been removed." msgstr "Файлы не были удалены." msgid "Source destination must be defined in %s." -msgstr "Расположение исходных текстов должно быть указано в %s." +msgstr "Расположение исходных файлов должно быть указано в %s." msgid "In addition, please run makepkg -C outside of your cache directory." msgstr "Дополнительно, запустите makepkg -C вне каталога для кэша." msgid "Running makepkg as root is a BAD idea and can cause" -msgstr "Запуск makepkg от имени root -- ОЧЕНЬ плохая идея и может" +msgstr "Запуск makepkg от имени root -- ОЧЕНЬ ПЛОХАЯ идея и может" msgid "permanent, catastrophic damage to your system. If you" msgstr "повлечь за собой непоправимое повреждение вашей системы." msgid "wish to run as root, please use the --asroot option." msgstr "" -"если вы хотите запустить makepkg от имени root, \n" +"Если вы хотите запустить makepkg от имени root, \n" "используйте параметр --asroot." msgid "The --asroot option is meant for the root user only." -msgstr "параметр --asroot имеет значение только для пользователя root." +msgstr "Параметр --asroot имеет значение только для пользователя root." msgid "Please rerun makepkg without the --asroot flag." msgstr "Перезапустите makepkg без флага --asroot." @@ -1429,7 +1430,7 @@ msgstr "" "makepkg." msgid "Cannot find the sudo binary! Is sudo installed?" -msgstr "Не удалось найти бинарный файл sudo! Установлен ли sudo?" +msgstr "Не удалось найти бинарный файл sudo!" msgid "Missing dependencies cannot be installed or removed as a normal user" msgstr "Недостающие зависимости не могут быть установлены или удалены от имени" @@ -1468,7 +1469,7 @@ msgid "Making package: %s" msgstr "Сборка пакета: %s" msgid "Source package created: %s" -msgstr "Создан пакет с исходными кодами: %s" +msgstr "Создан пакет с исходным кодом: %s" msgid "Skipping dependency checks." msgstr "Пропуск проверки зависимостей." @@ -1680,7 +1681,7 @@ msgid "Adding delta '%s'" msgstr "Добавление дельты '%s'" msgid "Cannot find the xdelta3 binary! Is xdelta3 installed?" -msgstr "Не удалось найти бинарный файл xdelta3! xdelta3 установлен?" +msgstr "Не удалось найти бинарный файл xdelta3!" msgid "'%s' is not a package file, skipping" msgstr "'%s' не является пакетом, пропускается" -- cgit v1.2.3-2-g168b From a05757f984f526233e90a774beb571dba8270ff0 Mon Sep 17 00:00:00 2001 From: Henning Garus Date: Mon, 24 Aug 2009 22:10:47 +0200 Subject: Configure: Check if libfetch version is >= 2.21 Commit 6f97842 started using libfetch's conditional GET. This requires libfetch to be version 2.21 or greater. Change configure.ac to check for the existence of the last_modified field in the url struct, which was introduced with libfetch 2.21. Signed-off-by: Henning Garus [Xav : moved AC_CHECK_MEMBER outside of AC_CHECK_LIB] Signed-off-by: Xavier Chantry Signed-off-by: Dan McGee --- configure.ac | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac index b2164b9e..2c08d790 100644 --- a/configure.ac +++ b/configure.ac @@ -144,6 +144,11 @@ if test "x$internaldownload" = "xyes" ; then # Check for a download library if it was actually requested AC_CHECK_LIB([fetch], [fetchParseURL], , AC_MSG_ERROR([libfetch is needed to compile with internal download support]) ) + # Check if libfetch supports conditional GET + # (version >=2.21, struct url has member last_modified) + AC_CHECK_MEMBER(struct url.last_modified, , + AC_MSG_ERROR([libfetch must be version 2.21 or greater]), + [#include ] ) else AC_MSG_RESULT(no) fi -- cgit v1.2.3-2-g168b From 7ddb645bd7cf7e1c56a508321df511864da411a4 Mon Sep 17 00:00:00 2001 From: Xavier Chantry Date: Wed, 5 Aug 2009 16:12:46 +0200 Subject: makepkg: always keep sources symlinks Make bunzip2/xz/gunzip decompressing to stdout, because gzip does not offer something like a -k option. The selection of the decompression command for gzip/bzip2/xz compressed files now also depends on the file suffix, since we need to strip the extensions to get the output filename. Thanks to Cedric Staniewski for reporting this issue and contributing patches. Signed-off-by: Xavier Chantry Signed-off-by: Dan McGee --- scripts/makepkg.sh.in | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 126379ac..80d38670 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -646,16 +646,26 @@ extract_sources() { # fix flyspray #6246 local file_type=$(file -bizL "$file") + local ext=${file##*.} local cmd='' case "$file_type" in *application/x-tar*|*application/zip*|*application/x-zip*|*application/x-cpio*) - cmd="bsdtar -x -f" ;; + cmd="bsdtar" ;; *application/x-gzip*) - cmd="gunzip -d -f" ;; + case "$ext" in + gz|z|Z) cmd="gzip" ;; + *) continue;; + esac ;; *application/x-bzip*) - cmd="bunzip2 -f" ;; + case "$ext" in + bz2|bz) cmd="bzip2" ;; + *) continue;; + esac ;; *application/x-xz*) - cmd="xz -d -f" ;; + case "$ext" in + xz) cmd="xz" ;; + *) continue;; + esac ;; *) # Don't know what to use to extract this file, # skip to the next file @@ -663,8 +673,13 @@ extract_sources() { esac local ret=0 - msg2 '%s' "$cmd \"$file\"" - $cmd "$file" || ret=$? + msg2 "$(gettext "extracting %s with %s")" "$file" "$cmd" + if [ "$cmd" = "bsdtar" ]; then + $cmd -xf "$file" || ret=? + else + rm -f "${file%.*}" + $cmd -dcf "$file" > "${file%.*}" || ret=? + fi if [ $ret -ne 0 ]; then error "$(gettext "Failed to extract %s")" "$file" plain "$(gettext "Aborting...")" -- cgit v1.2.3-2-g168b From 1e51b81c6392125899c94761b5aa35bb6a0e032c Mon Sep 17 00:00:00 2001 From: Francois Charette Date: Tue, 18 Aug 2009 22:10:56 +0200 Subject: fix typos in makepkg.sh.in Signed-off-by: Allan McRae Signed-off-by: Dan McGee --- scripts/makepkg.sh.in | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 80d38670..99e19b4f 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -1,6 +1,6 @@ #!/bin/bash -e # -# makepkg - make packages compatable for use with pacman +# makepkg - make packages compatible for use with pacman # @configure_input@ # # Copyright (c) 2006-2009 Pacman Development Team @@ -178,7 +178,7 @@ clean_up() { trap 'clean_up' 0 trap 'trap_exit "$(gettext "TERM signal caught. Exiting...")"' TERM HUP QUIT trap 'trap_exit "$(gettext "Aborted by user! Exiting...")"' INT -trap 'trap_exit "$(gettext "An unknown error has occured. Exiting...")"' ERR +trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR # a source entry can have two forms : # 1) "filename::http://path/to/file" @@ -188,11 +188,11 @@ trap 'trap_exit "$(gettext "An unknown error has occured. Exiting...")"' ERR get_filename() { # if a filename is specified, use it local filename=$(echo $1 | sed 's|::.*||') - # if it is just an url, we only keep the last component + # if it is just an URL, we only keep the last component echo "$filename" | sed 's|^.*://.*/||g' } -# extract the url from a source entry +# extract the URL from a source entry get_url() { # strip an eventual filename echo $1 | sed 's|.*::||' @@ -279,7 +279,7 @@ in_array() { } get_downloadclient() { - # $1 = url with valid protocol prefix + # $1 = URL with valid protocol prefix local url=$1 local proto=$(echo "$url" | sed 's|://.*||') @@ -315,11 +315,11 @@ get_downloadclient() { download_file() { # download command local dlcmd=$1 - # url of the file + # URL of the file local url=$2 # destination file local file=$3 - # temporary download file, default to last component of the url + # temporary download file, default to last component of the URL local dlfile=$(echo "$url" | sed 's|^.*://.*/||g') # replace %o by the temporary dlfile if it exists @@ -327,7 +327,7 @@ download_file() { dlcmd=${dlcmd//\%o/\"$file.part\"} dlfile="$file.part" fi - # add the url, either in place of %u or at the end + # add the URL, either in place of %u or at the end if echo "$dlcmd" | grep -q "%u" ; then dlcmd=${dlcmd//\%u/\"$url\"} else @@ -786,7 +786,7 @@ run_package() { mv "$BUILDLOG" "$BUILDLOG.$i" fi - # ensure overridden package variables suvrive tee with split packages + # ensure overridden package variables survive tee with split packages logpipe=$(mktemp -u "$startdir/logpipe.XXXXXXXX") mknod "$logpipe" p exec 3>&1 @@ -869,7 +869,7 @@ tidy_install() { local binary find ${STRIP_DIRS[@]} -type f 2>/dev/null | while read binary ; do case "$(file -biz "$binary")" in - *compressed-encoding*) # Skip compressed binarys + *compressed-encoding*) # Skip compressed binaries ;; *application/x-sharedlib*) # Libraries (.so) /usr/bin/strip -S "$binary";; -- cgit v1.2.3-2-g168b