# Example grep cvs /etc/poldek.conf:
# source = cvs /home/users/yoshi/rpm/RPMS/
if [ "$UPDATE_POLDEK_INDEXES" = "yes" ]; then
- POLDEK_SOURCE_VALIDITY="`grep ${POLDEK_SOURCE} /etc/poldek.conf|grep -v ^#`"
- if [ "${POLDEK_SOURCE_VALIDITY}" = "" ]; then
+ if [ ! $(poldek -l -n ${POLDEK_SOURCE} >/dev/null) ]; then
echo "Using improper source '${POLDEK_SOURCE}' in /etc/poldek.conf"
echo "Fix it and try to continue"
exit 7
set -v;
fi
- cd $__PWD
+ cd "$__PWD"
case "$1" in
"err_no_spec_in_cmdl" )
SOURCE_DIR="`$RPM --eval '%{_sourcedir}'`"
SPECS_DIR="`$RPM --eval '%{_specdir}'`"
- __PWD=`pwd`
+ __PWD="`pwd`"
}
get_spec()
echo "$@" | sed 's#\<\(ftp\|http\|https\|cvs\|svn\)://[^ ]*/##g'
}
+install_required_packages()
+{
+ poldek -vi $1
+ return $?
+}
+
set_bconds_values()
{
AVAIL_BCONDS_WITHOUT=""
AVAIL_BCONDS_WITH=""
- TEST_BCOND_VERSION="`grep ^%bcond ${SPECFILE}`"
- if [ "${TEST_BCOND_VERSION}" == "" ]; then
- BCOND_VERSION="OLD"
- echo old
+ if `grep -q ^%bcond ${SPECFILE}`; then
+ BCOND_VERSION="NEW"
+ elif `grep -q bcond ${SPECFILE}`; then
+ BCOND_VERSION="OLD"
else
- BCOND_VERSION="NEW"
+ BCOND_VERSION="NONE"
fi
case "${BCOND_VERSION}" in
+ NONE)
+ :
+ ;;
OLD)
+ echo "Warning: This spec has old style bconds. Fix it || die."
for opt in `$RPMBUILD --bcond $SPECFILE |grep ^_without_`
do
AVAIL_BCOND_WITHOUT=`echo $opt|sed -e "s/^_without_//g"`
- if [ "`echo $BCOND|grep -- "--without $AVAIL_BCOND_WITHOUT"`" != "" ];then
+ if `echo $BCOND|grep -q -- "--without $AVAIL_BCOND_WITHOUT"`;then
AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT <$AVAIL_BCOND_WITHOUT>"
else
AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT $AVAIL_BCOND_WITHOUT"
for opt in `$RPMBUILD --bcond $SPECFILE |grep ^_with_`
do
AVAIL_BCOND_WITH=`echo $opt|sed -e "s/^_with_//g"`
- if [ "`echo $BCOND|grep -- "--with $AVAIL_BCOND_WITH"`" != "" ];then
+ if `echo $BCOND|grep -q -- "--with $AVAIL_BCOND_WITH"`;then
AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH <$AVAIL_BCOND_WITH>"
else
AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH $AVAIL_BCOND_WITH"
with)
cond_type=''
AVAIL_BCOND_WITH="$opt"
- if [ "`echo $BCOND|grep -- "--with $AVAIL_BCOND_WITH"`" != "" ];then
+ if `echo $BCOND|grep -q -- "--with $AVAIL_BCOND_WITH"`;then
AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH <$AVAIL_BCOND_WITH>"
else
AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH $AVAIL_BCOND_WITH"
without)
cond_type=''
AVAIL_BCOND_WITHOUT="$opt"
- if [ "`echo $BCOND|grep -- "--without $AVAIL_BCOND_WITHOUT"`" != "" ];then
+ if `echo $BCOND|grep -q -- "--without $AVAIL_BCOND_WITHOUT"`;then
AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT <$AVAIL_BCOND_WITHOUT>"
else
AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT $AVAIL_BCOND_WITHOUT"
if [ "$INSTALLED_PACKAGES" != "" ]; then
case "$REMOVE_BUILD_REQUIRES" in
"force")
- poldek --noask -e $INSTALLED_PACKAGES
+ poldek --noask -ve $INSTALLED_PACKAGES
;;
"nice")
- poldek --ask -e $INSTALLED_PACKAGES
+ poldek --ask -ve $INSTALLED_PACKAGES
;;
*)
echo You may want to manually remove following BuildRequires fetched:
mach=`uname -m`
COND_TST=`cat $SPECFILE|grep BuildRequires|grep "$package"`
- if [ "`echo $COND_TST|grep '^BuildRequires:'`" != "" ]; then
+ if `echo $COND_TST|grep -q '^BuildRequires:'`; then
if [ "$COND_ARCH_TST" != "" ] && [ "`echo $COND_ARCH_TST|sed -e "s/i.86/ix86/g"`" != "`echo $mach|sed -e "s/i.86/ix86/g"`" ]; then
GO="yes"
fi
COND_NAME=`echo $COND_TST|sed -e s,:BuildRequires:.*$,,g`
GO=""
# %{without}
- if [ "`echo $COND_TST|grep 'without_'`" != "" ]; then
+ if `echo $COND_TST|grep -q 'without_'`; then
COND_NAME=`echo $COND_NAME|sed -e s,^.*_without_,,g`
- if [ "`echo $COND_TST|grep !`" != "" ]; then
+ if `echo $COND_TST|grep -q !`; then
COND_STATE="with"
else
COND_STATE="wout"
fi
- if [ "`echo $AVAIL_BCONDS_WITHOUT|grep "<$COND_NAME>"`" != "" ]; then
+ if `echo $AVAIL_BCONDS_WITHOUT|grep -q "<$COND_NAME>"`; then
COND_ARGV="wout"
else
COND_ARGV="with"
fi
# %{with}
- elif [ "`echo $COND_TST|grep 'with_'`" != "" ]; then
+ elif `echo $COND_TST|grep -q 'with_'`; then
COND_NAME=`echo $COND_NAME|sed -e s,^.*_with_,,g`
- if [ "`echo $COND_TST|grep !`" != "" ]; then
+ if `echo $COND_TST|grep -q !`; then
COND_STATE="wout"
else
COND_STATE="with"
fi
- if [ "`echo $AVAIL_BCONDS_WITH|grep "<$COND_NAME>"`" != "" ]; then
+ if `echo $AVAIL_BCONDS_WITH|grep -q "<$COND_NAME>"`; then
COND_ARGV="with"
else
COND_ARGV="wout"
if [ "$package_name" = "$package" ]; then
echo -ne "Installing BuildRequired package:\t$package_name\n"
export PROMPT_COMMAND=`echo -ne "\033]0;${SPECFILE}: Installing BuildRequired package: ${package_name}\007"`
- poldek -i $package_name
+ install_required_packages $package;
else
echo -ne "Installing (sub)Required package:\t$package_name\n"
export PROMPT_COMMAND=`echo -ne "\033]0;${SPECFILE}: Installing (sub)Required package: ${package_name}\007"`
- poldek -i $package_name
+ install_required_packages $package_name;
fi
case $? in
0)
echo "Attempting to run spawn sub - builder..."
run_sub_builder $package_name
if [ $? -eq 0 ]; then
- poldek -i $package_name
+ install_required_packages $package_name;
case $? in
0)
INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
echo "Attempting to run spawn sub - builder..."
run_sub_builder $package
if [ $? -eq 0 ]; then
- poldek -i $package_name
+ install_required_packages $package;
case $? in
0)
INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
"yes")
COND=${1}
shift
- while [ "`echo ${1}|grep ^-`" = "" ] && [ "`echo ${1}|grep spec`" = "" ]
+ while ! `echo ${1}|grep -qE '(^-|spec)'`
do
BCOND="$BCOND $COND $1"
shift
"version" )
echo "$VERSION";;
esac
-cd $__PWD
+test -f `pwd`/.${SPECFILE}_INSTALLED_PACKAGES && rm `pwd`/.${SPECFILE}_INSTALLED_PACKAGES
+cd "$__PWD"
# vi:syntax=sh:tw=80:ts=3:sw=4