-#!/bin/sh
+#!/bin/ksh
# -----------
# $Id$
# Exit codes:
VERSION="\
Build package utility from PLD Linux CVS repository
-v0.16 (C) 1999-2006 Free Penguins".
+v0.17 (C) 1999-2006 Free Penguins".
PATH="/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin"
COMMAND="build"
NODIST=""
NOINIT=""
UPDATE=""
-UPDATE5=""
ADD5=""
NO5=""
ALWAYS_CVSUP=${ALWAYS_CVSUP:-"yes"}
if [ -n "$DEBUG" ]; then set -xv; fi
echo "\
Usage: builder [-D|--debug] [-V|--version] [-a|--as_anon] [-b|-ba|--build]
-[-bb|--build-binary] [-bs|--build-source] [-u|--try-upgrade]
-[{-cf|--cvs-force}] [{-B|--branch} <branch>] [{-d|--cvsroot} <cvsroot>]
-[-g|--get] [-h|--help] [--http] [{-l,--logtofile} <logfile>] [-m|--mr-proper]
-[-q|--quiet] [--date <yyyy-mm-dd> [-r <cvstag>] [{-T--tag <cvstag>]
+[-bb|--build-binary] [-bs|--build-source] [-bc] [-bi] [-bl] [-u|--try-upgrade]
+[{-cf|--cvs-force}] [{-B|--branch} <branch>] [{-d|--cvsroot} <cvsroot>]
+[-g|--get] [-h|--help] [--http] [{-l|--logtofile} <logfile>] [-m|--mr-proper]
+[-q|--quiet] [--date <yyyy-mm-dd> [-r <cvstag>] [{-T|--tag <cvstag>]
[-Tvs|--tag-version-stable] [-Ts|--tag-stable] [-Tv|--tag-version]
[{-Tp|--tag-prefix} <prefix>] [{-tt|--test-tag}]
-[-nu|--no-urls] [-v|--verbose] [--opts <rpm opts>] [--show-bconds]
-[--with/--without <feature>] [--define <macro> <value>] <package>[.spec][:cvstag]
+[-nu|--no-urls] [-v|--verbose] [--opts <rpm opts>] [--short-circuit]
+[--show-bconds] [--with/--without <feature>] [--define <macro> <value>]
+<package>[.spec][:cvstag]
-5, --update-md5 - update md5 comments in spec, implies -nd -ncs
-a5, --add-md5 - add md5 comments to URL sources, implies -nc -nd -ncs
-bb, --build-binary - get all files from CVS repo or HTTP/FTP and build binary
only package from <package>.spec,
-bp, --build-prep - execute the %prep phase of <package>.spec,
--bc - reserved (not implemented)
--bi reserved (not implemented)
+-bc - execute the %build phase of <package>.spec,
+-bi - execute the %install phase of <package>.spec
+-bl - execute the %files phase of <package>.spec
-bs, --build-source - get all files from CVS repo or HTTP/FTP and only pack
them into src.rpm,
---short-circuit - reserved (not implemented)
+--short-circuit - short-circuit build
-B, --branch - add branch
-c, --clean - clean all temporarily created files (in BUILD, SOURCES,
SPECS and \$RPM_BUILD_ROOT),
--date yyyy-mm-dd - build package using resources from specified CVS date,
-r <cvstag>, --cvstag <cvstag>
- build package using resources from specified CVS tag,
+-A - build package using CVS resources as any sticky tags/date/kopts being reset.
-R, --fetch-build-requires
- fetch what is BuildRequired,
-RB, --remove-build-requires
- don't apply <patchnumber>
--show-bconds - show available conditional builds, which can be used
- with --with and/or --without switches.
+--show-bcond-args - show active bconds, from ~/.bcondrc. this is used by
+ ./repackage.sh script. in other words, the output is
+ parseable by scripts.
--with/--without <feature>
- conditional build package depending on %_with_<feature>/
%_without_<feature> macro switch. You may now use
cache_rpm_dump () {
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
update_shell_title "cache_rpm_dump"
%py_ver ERROR
%perl_vendorarch ERROR
%perl_vendorlib ERROR
+# damn. need it here! - copied from /usr/lib/rpm/macros.build
+%tmpdir %(echo "${TMPDIR:-/tmp}")
+%patchset_source(f:b:) %(
+ base=%{-b*}%{!-b*:10000};
+ start=$(expr $base + %1);
+ end=$(expr $base + %{?2}%{!?2:%{1}});
+ # we need to call seq twice as it doesn't allow two formats
+ seq -f 'Patch%g:' $start $end > %{tmpdir}/__ps1;
+ seq -f '%{-f*}' %1 %{?2}%{!?2:%{1}} > %{tmpdir}/__ps2;
+ paste %{tmpdir}/__ps{1,2};
+ rm -f %{tmpdir}/__ps{1,2};
+) \
+%{nil}
EOF
case "$RPMBUILD" in
rpm)
if [ $? -gt 0 ]; then
error=$(echo "$rpm_dump" | sed -ne '/^error:/,$p')
echo "$error" >&2
- Exit_error err_build_fail;
+ Exit_error err_build_fail
fi
# make small dump cache
{
update_shell_title "parsing specfile"
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
# icons are needed for successful spec parse
- get_icons;
+ get_icons
cd $SPECS_DIR
cache_rpm_dump
Exit_error()
{
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
cd "$__PWD"
case "$1" in
"err_no_spec_in_cmdl" )
remove_build_requires
- echo "ERROR: spec file name not specified.";
+ echo "ERROR: spec file name not specified."
exit 2 ;;
"err_no_spec_in_repo" )
remove_build_requires
- echo "Error: spec file not stored in CVS repo.";
+ echo "Error: spec file not stored in CVS repo."
exit 3 ;;
"err_no_source_in_repo" )
remove_build_requires
- echo "Error: some source, patch or icon files not stored in CVS repo. ($2)";
+ echo "Error: some source, patch or icon files not stored in CVS repo. ($2)"
exit 4 ;;
"err_build_fail" )
remove_build_requires
- echo "Error: package build failed. (${2:-no more info})";
+ echo "Error: package build failed. (${2:-no more info})"
exit 5 ;;
"err_no_package_data" )
remove_build_requires
exit 6 ;;
"err_tag_exists" )
remove_build_requires
- echo "Tag ${2} already exists (spec release: ${3}).";
+ echo "Tag ${2} already exists (spec release: ${3})."
exit 9 ;;
"err_fract_rel" )
remove_build_requires
- echo "Release ${2} not integer and not a snapshot.";
+ echo "Release ${2} not integer and not a snapshot."
exit 10 ;;
"err_branch_exists" )
remove_build_requires
- echo "Tree branch already exists (${2}).";
+ echo "Tree branch already exists (${2})."
exit 11 ;;
esac
init_builder()
{
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
if [ "$NOINIT" != "yes" ] ; then
update_shell_title "get_spec"
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
cd "$SPECS_DIR"
if [ ! -f "$SPECFILE" ]; then
- SPECFILE="`basename $SPECFILE .spec`.spec";
+ SPECFILE="`basename $SPECFILE .spec`.spec"
fi
if [ "$NOCVSSPEC" != "yes" ]; then
fi
if [ ! -f "$SPECFILE" ]; then
- Exit_error err_no_spec_in_repo;
+ Exit_error err_no_spec_in_repo
fi
if [ "$CHMOD" = "yes" -a -n "$SPECFILE" ]; then
return $result
}
+# returns true if "$1" is ftp, http or https protocol url
+is_url()
+{
+ case "$1" in
+ ftp://*|http://*|https://*)
+ return 0
+ ;;
+ esac
+ return 1
+}
+
update_md5()
{
if [ $# -eq 0 ]; then
update_shell_title "update md5"
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
cd "$SOURCE_DIR"
for i in "$@"; do
local fp=$(nourl "$i")
local srcno=$(src_no "$i")
- if [ -n "$UPDATE5" ]; then
- if [ -n "$ADD5" ]; then
- [ "$fp" = "$i" ] && continue # FIXME what is this check doing?
- grep -qiE '^#[ ]*Source'$srcno'-md5[ ]*:' $SPECS_DIR/$SPECFILE && continue
- else
- grep -qiE '^#[ ]*Source'$srcno'-md5[ ]*:' $SPECS_DIR/$SPECFILE || continue
- fi
+ if [ -n "$ADD5" ]; then
+ [ "$fp" = "$i" ] && continue # FIXME what is this check doing?
+ grep -qiE '^#[ ]*Source'$srcno'-md5[ ]*:' $SPECS_DIR/$SPECFILE && continue
+ else
+ grep -qiE '^#[ ]*Source'$srcno'-md5[ ]*:' $SPECS_DIR/$SPECFILE || continue
fi
if [ ! -f "$fp" ] || [ $ALWAYS_CVSUP = "yes" ]; then
need_files="$need_files $i"
for i in "$@"; do
local fp=$(nourl "$i")
local srcno=$(src_no "$i")
- if [ -n "$UPDATE5" ] && \
- ( ( [ -n "$ADD5" ] && echo $i | grep -q -E 'ftp://|http://|https://' && \
- [ -z "$(grep -E -i '^NoSource[ ]*:[ ]*'$i'([ ]|$)' $SPECS_DIR/$SPECFILE)" ] ) || \
- grep -q -i -E '^#[ ]*source'$srcno'-md5[ ]*:' $SPECS_DIR/$SPECFILE )
- then
- echo "Updating source-$srcno md5."
+ local md5=$(grep -iE '^#[ ]*(No)?Source'$srcno'-md5[ ]*:' $SPECS_DIR/$SPECFILE )
+ if [ -n "$ADD5" ] && is_url $i || [ -n "$md5" ]; then
+ local tag="Source$srcno-md5"
+ if [[ "$md5" == *NoSource* ]]; then
+ tag="NoSource$srcno-md5"
+ fi
md5=$(md5sum "$fp" | cut -f1 -d' ')
+ echo "Updating $tag ($md5: $fp)."
perl -i -ne '
- print unless /^\s*#\s*Source'$srcno'-md5\s*:/i;
- print "# Source'$srcno'-md5:\t'$md5'\n"
- if /^Source'$srcno'\s*:\s+/;
+ print unless /^\s*#\s*(No)?Source'$srcno'-md5\s*:/i;
+ print "# '$tag':\t'$md5'\n" if /^Source'$srcno'\s*:\s+/;
' \
$SPECS_DIR/$SPECFILE
fi
update_shell_title "get_files"
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
if [ $# -gt 0 ]; then
continue
fi
target="$fp"
- url=$(distfiles_url "$i")
+
+ # prefer mirror over distfiles if there's mirror
+ # TODO: build url list and then try each url from the list
+ if [ -z "$NOMIRRORS" ] && im=$(find_mirror "$i") && [ "$im" != "$i" ]; then
+ url="$im"
+ else
+ url=$(distfiles_url "$i")
+ fi
+
url_attic=$(distfiles_attic_url "$i")
FROM_DISTFILES=1
# is $url local file?
# the md5 check must be moved elsewhere as if we've called from update_md5 the md5 is wrong.
if [ ! -f "$fp" -a "$FAIL_IF_NO_SOURCES" != "no" ]; then
- Exit_error err_no_source_in_repo $i;
+ Exit_error err_no_source_in_repo $i
fi
# we check md5 here just only to refetch immediately
make_tagver() {
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
# Check whether first character of PACKAGE_NAME is legal for tag name
TAG_FILES="$@"
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
echo "Version: $PACKAGE_VERSION"
{
TAG=$1
echo "CVS branch tag: $TAG"
- shift;
+ shift
TAG_FILES="$@"
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
local OPTIONS="tag $CVS_FORCE -b"
{
update_shell_title "build_package"
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
cd "$SPECS_DIR"
chmod +w $SPECFILE
eval "perl -pi -e 's/Version:\t"$TOLDVER"/Version:\t"$TNEWVER"/gs' $SPECFILE"
eval "perl -pi -e 's/Release:\t[1-9]{0,4}/Release:\t0.1/' $SPECFILE"
- parse_spec;
- NODIST="yes" get_files $SOURCES $PATCHES;
- UPDATE5="yes" update_md5 $SOURCES
+ parse_spec
+ NODIST="yes" get_files $SOURCES $PATCHES
+ update_md5 $SOURCES
unset TOLDVER TNEWVER TNOTIFY
fi
BUILD_SWITCH="-bs --nodeps" ;;
build-prep )
BUILD_SWITCH="-bp --nodeps" ;;
+ build-build )
+ BUILD_SWITCH="-bc" ;;
+ build-install )
+ BUILD_SWITCH="-bi" ;;
+ build-list )
+ BUILD_SWITCH="-bl" ;;
+
esac
update_shell_title "build_package: $COMMAND"
if [ -d "$LOG" ]; then
echo "Log file $LOG is a directory."
echo "Parse error in the spec?"
- Exit_error err_build_fail;
+ Exit_error err_build_fail
fi
if [ -n "$LASTLOG_FILE" ]; then
echo "LASTLOG=$LOG" > $LASTLOG_FILE
mv -f $SPECFILE.bak $SPECFILE
fi
fi
- Exit_error err_build_fail;
+ Exit_error err_build_fail
fi
unset BUILD_SWITCH
}
}' $SPEC | LC_ALL=C sort -u
}
-set_bconds_values()
-{
- update_shell_title "set bcond values"
-
- AVAIL_BCONDS_WITHOUT=""
- AVAIL_BCONDS_WITH=""
- if `grep -q ^%bcond ${SPECFILE}`; then
- BCOND_VERSION="NEW"
- elif `egrep -q ^#\ *_with ${SPECFILE}`; then
- BCOND_VERSION="OLD"
- else
- return
- fi
-
- local bcond_avail=$(find_spec_bcond $SPECFILE)
-
+process_bcondrc() {
# expand bconds from ~/.bcondrc
# The file structure is like gentoo's package.use:
# ---
# php +mysqli
# ---
if ([ -f $HOME/.bcondrc ] || ([ -n $HOME_ETC ] && [ -f $HOME_ETC/.bcondrc ])); then
- SN=${SPECFILE%%\.spec}
+ :
+ else
+ return
+ fi
- local bcondrc=$HOME/.bcondrc
- [ -n $HOME_ETC ] && [ -f $HOME_ETC/.bcondrc ] && bcondrc=$HOME_ETC/.bcondrc
+ SN=${SPECFILE%%\.spec}
- while read pkg flags; do
- # ignore comments
- [[ "$pkg" == \#* ]] && continue
+ local bcondrc=$HOME/.bcondrc
+ [ -n $HOME_ETC ] && [ -f $HOME_ETC/.bcondrc ] && bcondrc=$HOME_ETC/.bcondrc
- # any package or current package?
- if [ "$pkg" = "*" ] || [ "$pkg" = "$PACKAGE_NAME" ] || [ "$pkg" = "$SN" ]; then
- for flag in $flags; do
- local opt=${flag#[+-]}
+ local bcond_avail=$(find_spec_bcond $SPECFILE)
- # use only flags which are in this package.
- if [[ $bcond_avail = *${opt}* ]]; then
- if [[ $flag = -* ]]; then
- if [[ $BCOND != *--with?${opt}* ]]; then
- BCOND="$BCOND --without $opt"
- fi
- else
- if [[ $BCOND != *--without?${opt}* ]]; then
- BCOND="$BCOND --with $opt"
- fi
+ while read pkg flags; do
+ # ignore comments
+ [[ "$pkg" == \#* ]] && continue
+
+ # any package or current package?
+ if [ "$pkg" = "*" ] || [ "$pkg" = "$PACKAGE_NAME" ] || [ "$pkg" = "$SN" ]; then
+ for flag in $flags; do
+ local opt=${flag#[+-]}
+
+ # use only flags which are in this package.
+ if [[ $bcond_avail = *${opt}* ]]; then
+ if [[ $flag = -* ]]; then
+ if [[ $BCOND != *--with?${opt}* ]]; then
+ BCOND="$BCOND --without $opt"
+ fi
+ else
+ if [[ $BCOND != *--without?${opt}* ]]; then
+ BCOND="$BCOND --with $opt"
fi
fi
- done
- fi
- done < $bcondrc
- update_shell_title "parse ~/.bcondrc: DONE!"
+ fi
+ done
+ fi
+ done < $bcondrc
+ update_shell_title "parse ~/.bcondrc: DONE!"
+}
+
+set_bconds_values()
+{
+ update_shell_title "set bcond values"
+
+ AVAIL_BCONDS_WITHOUT=""
+ AVAIL_BCONDS_WITH=""
+ if `grep -q ^%bcond ${SPECFILE}`; then
+ BCOND_VERSION="NEW"
+ elif `egrep -q ^#\ *_with ${SPECFILE}`; then
+ BCOND_VERSION="OLD"
+ else
+ return
fi
+ local bcond_avail=$(find_spec_bcond $SPECFILE)
+ process_bcondrc "$SPECFILE"
+
update_shell_title "parse bconds"
case "${BCOND_VERSION}" in
NONE)
if [ "$package_name" = "$package" ]; then
echo -ne "Installing BuildRequired package:\t$package_name\n"
update_shell_title "Installing BuildRequired package: ${package_name}"
- install_required_packages $package;
+ install_required_packages $package
else
echo -ne "Installing (sub)Required package:\t$package_name\n"
update_shell_title "Installing (sub)Required package: ${package_name}"
- install_required_packages $package_name;
+ install_required_packages $package_name
fi
case $? in
0)
echo -ne "Package installation failed:\t$package_name\n"
run_sub_builder $package_name
if [ $? -eq 0 ]; then
- install_required_packages $package_name;
+ install_required_packages $package_name
case $? in
0)
INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
echo -ne "Package installation failed:\t$package\n"
run_sub_builder $package
if [ $? -eq 0 ]; then
- install_required_packages $package;
+ install_required_packages $package
case $? in
0)
INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
mkdir -p $TOP_DIR/{RPMS,BUILD,SRPMS}
cd $TOP_DIR
- cvs -d $CVSROOT co SOURCES/.cvsignore SPECS/{mirrors,adapter{,.awk},fetchsrc_request,builder,repackage.sh}
+ cvs -d $CVSROOT co SOURCES/.cvsignore SPECS/{mirrors,adapter{,.awk},fetchsrc_request,builder,{relup,repackage}.sh}
init_builder
#---------------------------------------------
# main()
-if [ "$#" = 0 ]; then
- usage;
+if [ $# = 0 ]; then
+ usage
exit 1
fi
-while test $# -gt 0
-do
+while [ $# -gt 0 ]; do
case "${1}" in
- -5 | --update-md5 )
- COMMAND="update_md5";
+ -5 | --update-md5)
+ COMMAND="update_md5"
NODIST="yes"
NOCVSSPEC="yes"
- UPDATE5="yes"
shift ;;
-a5 | --add-md5 )
- COMMAND="update_md5";
+ COMMAND="update_md5"
NODIST="yes"
NOCVS="yes"
NOCVSSPEC="yes"
- UPDATE5="yes"
ADD5="yes"
shift ;;
-n5 | --no-md5 )
COMMAND="build"; shift ;;
-bb | --build-binary )
COMMAND="build-binary"; shift ;;
- -bs | --build-source )
- COMMAND="build-source"; shift ;;
+ -bc )
+ COMMAND="build-build"; shift ;;
+ -bi )
+ COMMAND="build-install"; shift ;;
+ -bl )
+ COMMAND="build-list"; shift ;;
-bp | --build-prep )
COMMAND="build-prep"; shift ;;
+ -bs | --build-source )
+ COMMAND="build-source"; shift ;;
-B | --branch )
COMMAND="branch"; shift; TAG="${1}"; shift;;
-c | --clean )
CVSDATE="${2}"; shift 2 ;;
-r | --cvstag )
shift; CVSTAG="${1}"; shift ;;
+ -A)
+ shift; CVSTAG="HEAD"; ;;
-R | --fetch-build-requires)
FETCH_BUILD_REQUIRES="yes"
NOT_INSTALLED_PACKAGES=
COMMAND="list-sources-urls"
shift ;;
-Tvs | --tag-version-stable )
- COMMAND="tag";
+ COMMAND="tag"
TAG="STABLE"
TAG_VERSION="yes"
shift;;
-Ts | --tag-stable )
- COMMAND="tag";
+ COMMAND="tag"
TAG="STABLE"
TAG_VERSION="no"
shift;;
-Tv | --tag-version )
- COMMAND="tag";
+ COMMAND="tag"
TAG=""
TAG_VERSION="yes"
shift;;
TEST_TAG="yes"
shift;;
-T | --tag )
- COMMAND="tag";
+ COMMAND="tag"
shift
TAG="$1"
TAG_VERSION="no"
UPDATE="yes"
NOCVSSPEC="yes"
NODIST="yes"
- UPDATE5="yes"
shift ;;
-Upi | --update-poldek-indexes )
UPDATE_POLDEK_INDEXES="yes"
shift ;;
--init-rpm-dir)
- COMMAND="init_rpm_dir";
+ COMMAND="init_rpm_dir"
shift ;;
-u | --try-upgrade )
TRY_UPGRADE="1"; shift ;;
RPMOPTS="${RPMOPTS} --define \"${MACRO} ${VALUE}\""
fi
;;
+ --short-circuit)
+ RPMBUILDOPTS="${RPMBUILDOPTS} --short-circuit"
+ shift
+ ;;
--show-bconds | -show-bconds | -print-bconds | --print-bconds | -display-bconds | --display-bconds )
- SHOW_BCONDS="yes"
+ COMMAND="show_bconds"
+ shift
+ ;;
+ --show-bcond-args)
+ COMMAND="show_bcond_args"
shift
;;
--nodeps)
SPECFILE="${1}"
# check if specname was passed as specname:cvstag
if [ "${SPECFILE##*:}" != "${SPECFILE}" ]; then
- CVSTAG="${SPECFILE##*:}";
- SPECFILE="${SPECFILE%%:*}";
+ CVSTAG="${SPECFILE##*:}"
+ SPECFILE="${SPECFILE%%:*}"
fi
shift
esac
if [ -z "$CVSTAG" ]; then
CVSTAG=$(awk -vSPECFILE="${SPECFILE%.spec}.spec" -F/ '$2 == SPECFILE && $6 ~ /^T/{print substr($6, 2)}' CVS/Entries)
if [ "$CVSTAG" ]; then
- echo "builder: Stick tag $CVSTAG active. Use -r TAGNAME to override."
+ echo >&2 "builder: Stick tag $CVSTAG active. Use -r TAGNAME to override."
fi
elif [ "$CVSTAG" = "HEAD" ]; then
# assume -r HEAD is same as -A
fi
if [ -n "$DEBUG" ]; then
- set -x;
- set -v;
+ set -x
+ set -v
fi
if [ -n "$TARGET" ]; then
update_shell_title "$COMMAND"
case "$COMMAND" in
- "build" | "build-binary" | "build-source" | "build-prep" )
- init_builder;
+ "show_bconds")
+ init_builder
+ if [ -n "$SPECFILE" ]; then
+ get_spec > /dev/null
+ parse_spec
+ set_bconds_values
+ display_bconds
+ fi
+ ;;
+ "show_bcond_args")
+ init_builder
if [ -n "$SPECFILE" ]; then
- get_spec;
- parse_spec;
- set_bconds_values;
- display_bconds;
- display_branches;
- [ X"$SHOW_BCONDS" = X"yes" ] && exit 0
- fetch_build_requires;
+ get_spec > /dev/null
+ parse_spec
+ set_bconds_values
+ echo "$BCOND"
+ fi
+ ;;
+ "build" | "build-binary" | "build-source" | "build-prep" | "build-build" | "build-install" | "build-list")
+ init_builder
+ if [ -n "$SPECFILE" ]; then
+ get_spec
+ parse_spec
+ set_bconds_values
+ display_bconds
+ display_branches
+ fetch_build_requires
if [ "$INTEGER_RELEASE" = "yes" ]; then
echo "Checking release $PACKAGE_RELEASE..."
if echo $PACKAGE_RELEASE | grep -q '^[^.]*\.[^.]*$' 2>/dev/null ; then
fi
get_files $SOURCES $PATCHES
check_md5 $SOURCES
- build_package;
+ build_package
if [ "$UPDATE_POLDEK_INDEXES" = "yes" -a "$COMMAND" != "build-prep" ]; then
run_poldek --sdir="${POLDEK_INDEX_DIR}" --mkidxz
fi
- remove_build_requires;
+ remove_build_requires
else
- Exit_error err_no_spec_in_cmdl;
+ Exit_error err_no_spec_in_cmdl
fi
;;
"branch" )
- init_builder;
+ init_builder
if [ -n "$SPECFILE" ]; then
- get_spec;
- parse_spec;
+ get_spec
+ parse_spec
# don't fetch sources from remote locations
new_SOURCES=""
for file in $SOURCES; do
check_md5 $SOURCES
branch_files $TAG $SOURCES $PATCHES $ICONS
else
- Exit_error err_no_spec_in_cmdl;
+ Exit_error err_no_spec_in_cmdl
fi
;;
"get" )
- init_builder;
+ init_builder
if [ -n "$SPECFILE" ]; then
- get_spec;
+ get_spec
parse_spec
if [ -n "$NOSOURCE0" ] ; then
get_files $SOURCES $PATCHES
check_md5 $SOURCES
else
- Exit_error err_no_spec_in_cmdl;
+ Exit_error err_no_spec_in_cmdl
fi
;;
"update_md5" )
- init_builder;
+ init_builder
if [ -n "$SPECFILE" ]; then
- get_spec;
+ get_spec
parse_spec
if [ -n "$NOSOURCE0" ] ; then
fi
update_md5 $SOURCES
else
- Exit_error err_no_spec_in_cmdl;
+ Exit_error err_no_spec_in_cmdl
fi
;;
"tag" )
NOURLS=1
NODIST="yes"
- init_builder;
+ init_builder
if [ -n "$SPECFILE" ]; then
- get_spec;
- parse_spec;
+ get_spec
+ parse_spec
# don't fetch sources from remote locations
new_SOURCES=""
check_md5 $SOURCES
tag_files $SOURCES $PATCHES $ICONS
else
- Exit_error err_no_spec_in_cmdl;
+ Exit_error err_no_spec_in_cmdl
fi
;;
"mr-proper" )