Commit 58b746a1 authored by Yuri Fil's avatar Yuri Fil

Merge branch 'master' of git.eter:/people/lav/packages/etersoft-build-utils

parents 0bc9a52b 6576fb4e
pkgdatadir=$(datadir)/eterbuild pkgdatadir=$(datadir)/eterbuild
all: QuickHelp.txt QuickHelp.koi8-r.txt all: QuickHelp.txt QuickHelp.utf8.txt
$(MAKE) -C po $(MAKE) -C po
QuickHelp.koi8-r.txt: QuickHelp.utf8.txt:
for i in bin/* ; do echo -e "\n\n---------------------------"; $$i -h ; done | grep -v "^Note:" | grep -v "^Target" >$@ for i in bin/* ; do echo -e "\n\n---------------------------"; $$i -h ; done | grep -v "^Note:" | grep -v "^Target" >$@
QuickHelp.txt: QuickHelp.txt:
......
...@@ -23,12 +23,12 @@ jmake - make with ccache using and parallel build enabled ...@@ -23,12 +23,12 @@ jmake - make with ccache using and parallel build enabled
--------------------------- ---------------------------
loginhsh - install package in hasher / take shell loginhsh - install package in hasher / take shell
Usage: [-t -i -h -r -c] [-M51] bin.rpm... Usage: [-t -i -h -r -c] [-M51] bin.rpm...
: Параметры:
-i - hasher ( ) -i - инициализировать hasher (создать заново каталог)
-c - cleanup hasher -c - cleanup hasher
-o - log in as root user -o - log in as root user
-t - hasher, -t - использовать каталог hasher, предназначенный для тестов
-r - hasher ̣ -r - вход в hasher на удалённой машине
-M?? - branch name -M?? - branch name
...@@ -37,20 +37,21 @@ Usage: [-t -i -h -r -c] [-M51] bin.rpm... ...@@ -37,20 +37,21 @@ Usage: [-t -i -h -r -c] [-M51] bin.rpm...
--------------------------- ---------------------------
myhsh - build package via hasher myhsh - build package via hasher
Usage: [-m -s -u -i -c] src.rpm... Usage: [-m -s -u -i -c -l] src.rpm...
: Параметры:
-i - install built packages in test hasher -i - install built packages in test hasher
-c - build without stuff (previous built packages) -c - build without stuff (previous built packages)
-l - lazy cleanup (before build, not after)
--------------------------- ---------------------------
rpmbb - build binary rpm from spec rpmbb - build binary rpm from spec
Usage: [-c -p -i -r -R] spec... Usage: [-c -p -i -r -R] spec...
: Параметры:
-c - start from compile stage -c - start from compile stage
-i - -i - установить файлы и упаковать
-p - packaging installed files into package -p - packaging installed files into package
-r - (buildreq) -r - искать сборочные зависимости (buildreq)
-R - find build requires with -bi -R - find build requires with -bi
...@@ -58,8 +59,8 @@ Usage: [-c -p -i -r -R] spec... ...@@ -58,8 +59,8 @@ Usage: [-c -p -i -r -R] spec...
rpmbph - backports spec and rebuild it rpmbph - backports spec and rebuild it
Usage: [-r -u -U -n -i -m -v] [-M51] spec... Usage: [-r -u -U -n -i -m -v] [-M51] spec...
Use rpmbph -M51 for backport to ALT M51 and so on Use rpmbph -M51 for backport to ALT M51 and so on
: Параметры:
-r - ̣ -r - удалённая сборка
-u/-U - sign and upload after build -u/-U - sign and upload after build
-n - do not build in hasher (use first in the list) -n - do not build in hasher (use first in the list)
-i - install built packages in test hasher -i - install built packages in test hasher
...@@ -69,11 +70,12 @@ Use rpmbph -M51 for backport to ALT M51 and so on ...@@ -69,11 +70,12 @@ Use rpmbph -M51 for backport to ALT M51 and so on
--------------------------- ---------------------------
rpmbs - make src.rpm from spec rpmbs - make src.rpm from spec
Usage: [-s -u -c -n --nodeps] spec... Usage: [-s -u -c -n --nodeps] spec...
: Параметры:
-s - () -s - sign package(s) and move it to upload dir (ETERDESTSRPM)
-c - () -c - только подписать пакет(ы) и выполнить их проверку
-u - sign package(s), upload it and run build -u - sign package(s), upload it and run build
-a TASK - sign package(s), update it and add to task TASK -a TASK - sign package(s), update it and add to task TASK
-l - lazy cleanup (before build, not after)
-n - do not check with sisyphus_check before upload -n - do not check with sisyphus_check before upload
-o - create nosrc.rpm package -o - create nosrc.rpm package
-z - create src.rpm with compatible gzip compression -z - create src.rpm with compatible gzip compression
...@@ -82,12 +84,13 @@ Usage: [-s -u -c -n --nodeps] spec... ...@@ -82,12 +84,13 @@ Usage: [-s -u -c -n --nodeps] spec...
--------------------------- ---------------------------
rpmbsh - BSH - build source; use hasher rpmbsh - BSH - build source; use hasher
Usage: [-r -s -u -m -i -c] spec... Usage: [-r -s -u -m -i -c] spec...
: Параметры:
-r - ̣ -r - удалённая сборка
-t - make temporary commit before build (rpmbb like behavior) -t - make temporary commit before build (rpmbb like behavior)
-u/-U - sign and upload after build -u - sign and upload after build
-u - () -s - sign and and copy to upload dir (ETERDESTSRPM) after build
-i - install built packages in test hasher -i - install built packages in test hasher
-l - lazy cleanup (before build, not after)
-c - build without stuff (previous built packages) -c - build without stuff (previous built packages)
...@@ -102,15 +105,16 @@ rpmcs spec - cleanup spec (like cleanup_spec command), adapted to ALT ...@@ -102,15 +105,16 @@ rpmcs spec - cleanup spec (like cleanup_spec command), adapted to ALT
--------------------------- ---------------------------
rpmgp - various package download operations rpmgp - various package download operations
Usage: [options] [system] pkgname Usage: [options] [system] pkgname
: Параметры:
rpmgp [options] [system] pkgname - download src.rpm from 'system' repository to RPM/SRPMS and install it rpmgp [options] [system] pkgname - download src.rpm from 'system' repository to RPM/SRPMS and install it
name - src.rpm name - название установленного пакета или src.rpm
system - name of system (ALT Linux by default if -a missed too) system - name of system (ALT Linux by default if -a missed too)
-a search pkgname in all known repositories -a search pkgname in all known repositories
-b install packages needed for build (use sudo apt-get) (need spec not package name) -b install packages needed for build (use sudo apt-get) (need spec not package name)
-c check if this package exists in the ALT Linux repository -c check if this package exists in the ALT Linux repository
-d download all matched packages -d download all matched packages
-g remote clone repo to USER/packages and clone it locally -g remote clone repo to USER/packages and clone it locally
-m migrate to gear from spec
-l list packages needed for build (in local pkg system notation) (experimental) -l list packages needed for build (in local pkg system notation) (experimental)
-n do not install after download, just download in current dir -n do not install after download, just download in current dir
-r refresh package list (download it again) -r refresh package list (download it again)
...@@ -121,9 +125,9 @@ rpmgp [options] [system] pkgname - download src.rpm from 'system' repository to ...@@ -121,9 +125,9 @@ rpmgp [options] [system] pkgname - download src.rpm from 'system' repository to
rpmgs - get sources for spec rpmgs - get sources for spec
Usage: [-a -r ] spec ... | spec new_version Usage: [-a -r ] spec ... | spec new_version
You can run rpmgs file.spec new_version for set new version and download it You can run rpmgs file.spec new_version for set new version and download it
: Параметры:
-a - ( (0)) -a - получаем все исходники (не только основной (0))
-f - -f - начать загрузку в любом случае
--------------------------- ---------------------------
...@@ -147,7 +151,7 @@ rpmU - the same as [sudo] rpm -Uvh - update package ...@@ -147,7 +151,7 @@ rpmU - the same as [sudo] rpm -Uvh - update package
--------------------------- ---------------------------
rpmunmets - tests unmets in build packages rpmunmets - tests unmets in build packages
Usage: [-M24 -M40] Usage: [-M24 -M40]
: Параметры:
-s - get all unmets -s - get all unmets
-M40 - test for distro ALT Linux 4.0 -M40 - test for distro ALT Linux 4.0
...@@ -155,8 +159,8 @@ Usage: [-M24 -M40] ...@@ -155,8 +159,8 @@ Usage: [-M24 -M40]
--------------------------- ---------------------------
rpmurl - open package Url in browser rpmurl - open package Url in browser
Usage: [-c -f -p -s] spec or package... Usage: [-c -f -p -s] spec or package...
: Параметры:
-c - URL -c - проверить доступность URL
-f - print failed URL only -f - print failed URL only
-p - open package page at sisyphus.ru -p - open package page at sisyphus.ru
-s - , -s - открыть в браузере тот каталог, где в Сети лежат исходники
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
# Author: Vitaly Lipatov <lav@etersoft.ru> # Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain # Public domain
# #
# SRPM- hasher # Пересборка указанных SRPM-пакетов в hasher
# -i hasher # -i устанавливает в тестовый hasher после пересборки
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common . `dirname $0`/../share/eterbuild/functions/common
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
# #
# BB - binary build (like rpm option -bb) # BB - binary build (like rpm option -bb)
# #
# rpm- # Собирает двоичные rpm-пакеты по указанным спекам
# : # Параметры:
# - - # - название спек-файла
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common . `dirname $0`/../share/eterbuild/functions/common
...@@ -54,7 +54,7 @@ while getopts :hciprR opt; do ...@@ -54,7 +54,7 @@ while getopts :hciprR opt; do
esac esac
done done
# FIXME: (, -i, -b) # FIXME: параметры передаются и дальше (например, -i, -b)
# remove args that were options # remove args that were options
if [ $# -gt 0 ]; then if [ $# -gt 0 ]; then
shift $((OPTIND - 1)) shift $((OPTIND - 1))
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
# BPH - backport; use hasher # BPH - backport; use hasher
# Makes backport package to any target platfrom (RPM, DEB, TGZ) # Makes backport package to any target platfrom (RPM, DEB, TGZ)
# . alt4 # Релиз строится на основе релиза из Сизифа. Если там был alt4
# alt0.M24.4 # то здесь будет alt0.M24.4
# TODO: use RPMBUILDARG # TODO: use RPMBUILDARG
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
...@@ -135,7 +135,7 @@ done ...@@ -135,7 +135,7 @@ done
#echo GRP: $LISTGROUP, ALLGRPREPLRULES: $ALLGRPREPLRULES #echo GRP: $LISTGROUP, ALLGRPREPLRULES: $ALLGRPREPLRULES
# Replace all packages names in source spec and add %defattr to files sections # Replace all packages names in source spec and add %defattr to files sections
# FIXME: # FIXME: добавляет ненужные пустые строки
function awk_e1() function awk_e1()
{ {
......
...@@ -5,15 +5,15 @@ ...@@ -5,15 +5,15 @@
# #
# BS - build source # BS - build source
# #
# # Создаёт пакет с исходниками по спеку
# : # Параметры:
# - - # - названия спек-файлов
# - # - или пакетов
# -s, # Если указан ключ -s, подписываем пакет
# --nodeps, # Если указан ключ --nodeps, не учитываем сборочные зависимости
# -u, incoming # Если указан ключ -u, отправляем пакет в incoming
# -d, incoming # Если указан ключ -d, удаляем из incoming
# -n, # Если указан -n, не проверяем перед отправкой
# TODO: -r # TODO: -r
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
...@@ -161,7 +161,7 @@ if [ -n "$NOSOURCE" ] ; then ...@@ -161,7 +161,7 @@ if [ -n "$NOSOURCE" ] ; then
exit $? exit $?
fi fi
# src.rpm # Упаковываем пакеты в src.rpm
# FIXME: -s can be in name... (but not in option!) # FIXME: -s can be in name... (but not in option!)
#LISTRPMARGS= #LISTRPMARGS=
#LISTRPMARGS=${LISTRPMARGS/-m/} #LISTRPMARGS=${LISTRPMARGS/-m/}
......
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
# #
# BSH - build source; use hasher # BSH - build source; use hasher
# #
# () hasher # Создаёт пакет(ы) по указанным спекам и собирает в hasher
# ̣ ( -r) # Поддерживает удалённую сборку пакета ( ключ -r)
# ( -m) # Присылка результата сборки по почте (ключ -m)
# TODO: # TODO: Сжимать отправляемый лог
# TODO: ?? # TODO: присылать обратно собранные пакеты??
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common . `dirname $0`/../share/eterbuild/functions/common
...@@ -76,7 +76,7 @@ mygetopts $LISTARGS ...@@ -76,7 +76,7 @@ mygetopts $LISTARGS
add_changelog_helper "- new version" $LISTNAMES add_changelog_helper "- new version" $LISTNAMES
# We do not not pass args for myhsh here... # We do not not pass args for myhsh here...
# FIXME: # FIXME: не обрабатывает два пропускаемых вместе параметра
pack_src_rpm $COMMIT $(echo $LISTRPMARGS | sed -e "s|-[suUicl]||g") pack_src_rpm $COMMIT $(echo $LISTRPMARGS | sed -e "s|-[suUicl]||g")
# TODO: skip for prev. packed src.rpm # TODO: skip for prev. packed src.rpm
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
# Author: Vitaly Lipatov <lav@etersoft.ru> # Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain # Public domain
# #
# # Открываем багзиллу на багах пакета
# : # Параметры:
# rpmbugs - | | -qf , # rpmbugs название спек-файла | название пакета | -qf путь к файлу, который лежит в пакете
# TODO: ( ?) # TODO: окошко вешания баги (использовать перловые возможности?)
# TODO: # TODO: нормальную обработку парамеров
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common . `dirname $0`/../share/eterbuild/functions/common
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
# Public domain # Public domain
# #
# CS -- cleanup spec (like cleanup_spec command) # CS -- cleanup spec (like cleanup_spec command)
# : # Параметры:
# - - # - название спек-файла
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common . `dirname $0`/../share/eterbuild/functions/common
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
# Author: Vitaly Lipatov <lav@etersoft.ru> # Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain # Public domain
# #
# src.rpm- ( ALT Linux) . # Скачивает исходный src.rpm-пакет с одного из репозиториев (по умолчанию ALT Linux) для пакета с указанным названием.
# # Также можно сразу указать название пакета с исходниками
# apt-get source # Функции скрипта похожи на команду apt-get source пакет
# -c - checkonline # -c - checkonline
# -n - do not install # -n - do not install
...@@ -191,7 +191,7 @@ while getopts :habcdglmnrs opt; do ...@@ -191,7 +191,7 @@ while getopts :habcdglmnrs opt; do
esac esac
done done
# FIXME: (, -i, -b) # FIXME: параметры передаются и дальше (например, -i, -b)
# remove args that were options # remove args that were options
if [ $# -gt 0 ]; then if [ $# -gt 0 ]; then
shift $((OPTIND - 1)) shift $((OPTIND - 1))
...@@ -217,11 +217,11 @@ fi ...@@ -217,11 +217,11 @@ fi
test -z "$LISTARGS" && fatal "Please run with spec/package name" test -z "$LISTARGS" && fatal "Please run with spec/package name"
# , ( ?), # список названий систем, адресов (с зеркалами?), и режимов фильтрации
# - # название кэш-файла строить из названия системы
# # выводить найденное сразу везде
# #
# - [] # уточнение - [система] пакет
# install required for build binary packages # install required for build binary packages
if [ -n "$INSTALLBINARY" ] ; then if [ -n "$INSTALLBINARY" ] ; then
...@@ -236,9 +236,15 @@ fi ...@@ -236,9 +236,15 @@ fi
if [ -n "$MIGRATEGEAR" ] ; then if [ -n "$MIGRATEGEAR" ] ; then
parse_cmd_pre "$@" parse_cmd_pre "$@"
pack_src_rpm $LISTRPMARGS for INFILE in $LISTNAMES ; do
for PKGNAME in $LISTBUILT ; do # call for each file due generated BASENAME
echo "Create gear repo" LISTNAMES=$INFILE pack_src_rpm $INFILE $LISTRPMARGS
PKGNAME="$LISTBUILT"
if [ -z "$BASENAME" ] ; then
echo "Can't get basename for $PKGNAME, skipping"
continue
fi
echo "Create gear repo $BASENAME from $PKGNAME"
GITALT=~/Projects/git-alt GITALT=~/Projects/git-alt
GEARDIR=$GITALT/$BASENAME GEARDIR=$GITALT/$BASENAME
test -d "$GEARDIR" && fatal "repo $GEARDIR already exits" test -d "$GEARDIR" && fatal "repo $GEARDIR already exits"
...@@ -246,7 +252,8 @@ if [ -n "$MIGRATEGEAR" ] ; then ...@@ -246,7 +252,8 @@ if [ -n "$MIGRATEGEAR" ] ; then
cd $GEARDIR || fatal "can't cd to $GEARDIR" cd $GEARDIR || fatal "can't cd to $GEARDIR"
git init-db || fatal "can't init db" git init-db || fatal "can't init db"
gear-srpmimport $PKGNAME || fatal "can't import srpm $PKGNAME" gear-srpmimport $PKGNAME || fatal "can't import srpm $PKGNAME"
rm -vf $PKGNAME # remove src.rpm only if it was generated
[ -z ${INFILE/*rpm/} ] || rm -vf $PKGNAME
done done
exit 0 exit 0
fi fi
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
# #
# GS - get source # GS - get source
# #
# , gz/bz2/tgz/zip # Скачивает исходники, автоматически выправляя ситуацию с gz/bz2/tgz/zip
# : # Параметры:
# - - # - название спек-файла
# TODO: -h (build in hasher), -s (sign for upload) # TODO: -h (build in hasher), -s (sign for upload)
# -a - get all source # -a - get all source
# check for the same file with other compression # check for the same file with other compression
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
# Author: Vitaly Lipatov <lav@etersoft.ru> # Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain # Public domain
# #
# , , which # Выводит, к какому пакету относится указанный файл, находимый через which
# : # Параметры:
# - # - название файл
# TODO not -i only, we need any key # TODO not -i only, we need any key
if [ "$1" = "-h" ]; then if [ "$1" = "-h" ]; then
......
...@@ -3,10 +3,10 @@ ...@@ -3,10 +3,10 @@
# Author: Vitaly Lipatov <lav@etersoft.ru> # Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain # Public domain
# #
# , , # Обновляет версию пакета, получает исходники,
# , : # собирает, устанавливает на тестирование и выкладывает новую версию пакета:
# rpmrb [] # rpmrb спек версия [релиз]
# 2.6.1 (), 2.6 (major) .1 (minor) # версия может быть указана как 2.6.1 (полная), 2.6 (major) или .1 (minor)
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common . `dirname $0`/../share/eterbuild/functions/common
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
# Public domain # Public domain
# #
# Open package Url in BROWSER # Open package Url in BROWSER
# : # Параметры:
# - - # - название спек-файла
# #
# load common functions, compatible with local and installed script # load common functions, compatible with local and installed script
......
...@@ -7,23 +7,23 @@ ...@@ -7,23 +7,23 @@
# You can copy this file as ~/.eterbuild-config for per user settings # You can copy this file as ~/.eterbuild-config for per user settings
# and uncomment any setting line # and uncomment any setting line
# hasher: # Путь к каталогу сборки hasher:
#HASHERDIR=~/hasher #HASHERDIR=~/hasher
#HASHER_ARG="" #HASHER_ARG=""
# ̣ ssh # Удалённый сборочный сервер в нотации ssh
#BUILDSERVER="builder" #BUILDSERVER="builder"
# TODO: # TODO: Каталог на сборочном сервере с собранными пакетами
#BUILDSERVERPATH=$HASHERDIR/repo/i586/RPMS.hasher #BUILDSERVERPATH=$HASHERDIR/repo/i586/RPMS.hasher
# ޣ, # Кому отправлять отчёт, на какой адрес
#OWNERMAIL="Vitaly Lipatov <lav@altlinux.ru>" #OWNERMAIL="Vitaly Lipatov <lav@altlinux.ru>"
# # Повышенная говорливость
#DEBUG="-v" #DEBUG="-v"
# , %_tmppath .rpmmacros # Каталог сборки, указываемый в переменной %_tmppath .rpmmacros
#BUILDROOT= #BUILDROOT=
# You can uncomment it: # You can uncomment it:
...@@ -33,24 +33,24 @@ ...@@ -33,24 +33,24 @@
#APTCONFBASE=/etc/apt/apt.conf #APTCONFBASE=/etc/apt/apt.conf
#REMOTERPMDIR="~/RPM" #REMOTERPMDIR="~/RPM"
# , src.rpm # Каталог, куда копируются подписанные src.rpm
#UPLOADDIR=$RPMDIR/upload #UPLOADDIR=$RPMDIR/upload
# ftp- # Адрес ftp-сервера компании
#COMPANYFTP=etersoft.ru #COMPANYFTP=etersoft.ru
# ftp- ( ssh-) # Базовый каталог расположения ftp-сервера (поддерживаются локальные и ssh-пути)
#TARGETFTPBASE=ftp.eter:/var/ftp #TARGETFTPBASE=ftp.eter:/var/ftp
# # Каталог для записи протоколов сборки
#LOGDIR=$RPMDIR/log #LOGDIR=$RPMDIR/log
#RSYNCSISYPHUS=rsync.altlinux.org::ALTLinux/Sisyphus #RSYNCSISYPHUS=rsync.altlinux.org::ALTLinux/Sisyphus
# SSH- # Базовый SSH-путь для отправки пакетов
#RSYNCINCOMING=incoming:/incoming #RSYNCINCOMING=incoming:/incoming
# , # Ключ, используемый при отправке
#SSH_KEYFILE=~/.ssh/id_dsa #SSH_KEYFILE=~/.ssh/id_dsa
# See sisyphus_check --help for other options # See sisyphus_check --help for other options
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -81,7 +81,7 @@ get_altdistr_mod() ...@@ -81,7 +81,7 @@ get_altdistr_mod()
} }
# TODO: include in sisyphus_check # TODO: include in sisyphus_check
# , MENV # Проверяем, соответствует ли релиз пакетов указанному в MENV
function pkg_release_check() function pkg_release_check()
{ {
local STREL=alt local STREL=alt
...@@ -90,7 +90,7 @@ function pkg_release_check() ...@@ -90,7 +90,7 @@ function pkg_release_check()
if [ "$MENV" = "SS" ] || [ "$MENV" = "DD" ] ; then if [ "$MENV" = "SS" ] || [ "$MENV" = "DD" ] ; then
for i in $@ ; do for i in $@ ; do
if [ -z "${i/*$STREL[0-9].M[0-9][0-9]*/}" ] ; then if [ -z "${i/*$STREL[0-9].M[0-9][0-9]*/}" ] ; then
# # Значит не тот релиз
fatal "Incorrect release in $i package: was prepared for Sisyphus" fatal "Incorrect release in $i package: was prepared for Sisyphus"
fi fi
done done
...@@ -98,7 +98,7 @@ function pkg_release_check() ...@@ -98,7 +98,7 @@ function pkg_release_check()
fi fi
for i in $@ ; do for i in $@ ; do
if [ -n "${i/*$STREL[0-9].$MENV*/}" ] ; then if [ -n "${i/*$STREL[0-9].$MENV*/}" ] ; then
# # Значит не тот релиз
fatal "Incorrect release in $i package: was prepared for $MENV" fatal "Incorrect release in $i package: was prepared for $MENV"
fi fi
done done
......
...@@ -137,12 +137,13 @@ do ...@@ -137,12 +137,13 @@ do
#NAMESRPMIN=$(basename $i) #NAMESRPMIN=$(basename $i)
if [ -f "$i" ] ; then if [ -f "$i" ] ; then
LISTBUILT="$LISTBUILT $i" LISTBUILT="$LISTBUILT $(realpath $i)"
build_rpms_name_by_srpm "$i" $ARGS
else else
fatal "pack_src_rpm: Can't find '$i'" fatal "pack_src_rpm: Can't find '$i'"
fi fi
else else
# # Получаем названия пакетов по спеку
# BASENAME, RELEASE, VERSION, NAMESRPMIN, NAMERPMIN # BASENAME, RELEASE, VERSION, NAMESRPMIN, NAMERPMIN
build_rpms_name "$i" $ARGS build_rpms_name "$i" $ARGS
if [ -n "${SIGN}" ]; then if [ -n "${SIGN}" ]; then
......
...@@ -38,14 +38,14 @@ if ! set_eterbuilddir ; then ...@@ -38,14 +38,14 @@ if ! set_eterbuilddir ; then
exit 1 exit 1
fi fi
# # Выводит указанное сообщение об ошибке и завершает программу
fatal() fatal()
{ {
echog "Error: $@" >&2 echog "Error: $@" >&2
exit 1 exit 1
} }
# # Выводит указанное сообщение
warning() warning()
{ {
echog "Warning: $@" >&2 echog "Warning: $@" >&2
...@@ -99,7 +99,7 @@ fi ...@@ -99,7 +99,7 @@ fi
# Internal # Internal
# , : -M23 -M24 , # Определяет, для какой среды собирать: по ключу -M23 -M24 или по каталогу, в котором спек
detect_target_env() detect_target_env()
{ {
local DISTRNAME=`distr_vendor -e` local DISTRNAME=`distr_vendor -e`
...@@ -119,13 +119,13 @@ else ...@@ -119,13 +119,13 @@ else
fi fi
} }
# LISTNAMES # Отделяет файлы в LISTNAMES
# MENV # Отделяет указание среды в MENV
# LISTARGS # Устанавливает LISTARGS в оставшиеся аргументы
# : # использование:
# - (MENV) # - отделяем среду (MENV)
# - # - отделяем файлы
# - # - оставшееся обрабатываем как параметры программы
parse_cmd_pre() parse_cmd_pre()
{ {
local i local i
...@@ -143,7 +143,7 @@ LISTARGS= ...@@ -143,7 +143,7 @@ LISTARGS=
OPTINDEX=1 OPTINDEX=1
for i in "$@" for i in "$@"
do do
# , , . # Если файл существует, то добавляем, иначе считаем аргумент параметром.
if [ -f "$i" ]; then if [ -f "$i" ]; then
# echo is workaround for missed readlink # echo is workaround for missed readlink
LISTNAMES="$LISTNAMES $(readlink -f $i 2>/dev/null | echo $i)" LISTNAMES="$LISTNAMES $(readlink -f $i 2>/dev/null | echo $i)"
......
...@@ -3,9 +3,9 @@ ...@@ -3,9 +3,9 @@
# Author: Vitaly Lipatov <lav@etersoft.ru> # Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain # Public domain
ETERBUILDVERSION=175 ETERBUILDVERSION=176
# SUDO # Определяем SUDO для использования
SUDO="sudo" SUDO="sudo"
# for some shells? not for bash # for some shells? not for bash
test -z "$UID" && UID=`id -u` test -z "$UID" && UID=`id -u`
......
...@@ -22,10 +22,10 @@ build_buildroot() ...@@ -22,10 +22,10 @@ build_buildroot()
return 0 return 0
} }
# . # Вынимаем информацию о пакете из спека.
# ! # Внутренние макроопределения раскрываются!
# Name: # Пробельные символы после Name: могут быть различными
# TODO: NAMESPEC, SPECNAME # TODO: в другом месте не NAMESPEC, а не SPECNAME
build_rpms_name() build_rpms_name()
{ {
...@@ -63,6 +63,37 @@ build_rpms_name() ...@@ -63,6 +63,37 @@ build_rpms_name()
build_buildroot build_buildroot
} }
querypackage()
{
rpmquery -p --queryformat "%{$2}" $1
}
build_rpms_name_by_srpm()
{
local SRPM=$1
BASENAME=$(querypackage $SRPM NAME)
RELEASE=$(querypackage $SRPM RELEASE)
VERSION=$(querypackage $SRPM VERSION)
PKGARCH=$(querypackage $SRPM ARCH)
# suggest target arch
if [ "$PKGARCH" != "noarch" ] ; then
PKGARCH=$DEFAULTARCH
fi
NAMERPMIN=$BASENAME-$VERSION-$RELEASE.$PKGARCH.rpm
NAMESRPMIN=$BASENAME-$VERSION-$RELEASE.src.rpm
if [ "$(basename "$SRPM")" != $NAMESRPMIN ] ; then
warning "Generated srpm name $NAMESRPMIN is not equal to real file name $SRPM"
fi
}
spec_by_srpm()
{
local PKG=$1
local PKGNAME
PKGNAME=$(querypackage $PKG NAME)
[ -n "$PKGNAME" ] && echo $PKGNAME.spec
}
# pkg-source-1.0.src.rpm -> pkg-source # pkg-source-1.0.src.rpm -> pkg-source
get_pkgname_from_filename() get_pkgname_from_filename()
{ {
......
...@@ -10,7 +10,7 @@ get_var() ...@@ -10,7 +10,7 @@ get_var()
} }
# FIXME: only ALT handled rpm -bE # FIXME: only ALT handled rpm -bE
# # Раскрывает макросы в спеке и выводит на стандартный вывод
eval_spec() eval_spec()
{ {
# TODO: use rpm -showrc instead -bE for get main variables? # TODO: use rpm -showrc instead -bE for get main variables?
...@@ -95,7 +95,7 @@ get_tarballname() ...@@ -95,7 +95,7 @@ get_tarballname()
# Set version for spec (args: spec version), f.i. test.spec 1.2.3) # Set version for spec (args: spec version), f.i. test.spec 1.2.3)
# Supports %major and %ver_major macros in spec # Supports %major and %ver_major macros in spec
# 2.6.1 (), 2.6 (major) .1 (minor) # версия может быть указана как 2.6.1 (полная), 2.6 (major) или .1 (minor)
set_version() set_version()
{ {
local SPEC=$1 local SPEC=$1
...@@ -173,13 +173,6 @@ add_changelog_helper() ...@@ -173,13 +173,6 @@ add_changelog_helper()
return $R return $R
} }
spec_by_srpm()
{
local PKG=$1
local PKGNAME
PKGNAME=$(rpm -qp --queryformat "%{NAME}" $PKG)
[ -n "$PKGNAME" ] && echo $PKGNAME.spec
}
# set specdir by spec (run with full path to spec only or in spec dir) # set specdir by spec (run with full path to spec only or in spec dir)
set_specdir() set_specdir()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment