# pbuilder --create --hookdir `pwd`/pbuilder --distribution squeeze
#
-KEY_ID=${KEY_ID:-'64FA8786'}
-top_srcdir=${top_srcdir}
-DEBREPO_MAIN=${DEBREPO_MAIN:-~/debian}
-DEBREPO_DEPS=${DEBREPO_DEPS:-~/debian-externals}
-DEBDISTRO=${DEBDISTRO:-stable}
-#PBUILDER_OPTS='--debbuildopts "-j8"'
-#PDEBUILD_OPTS='--use-pdebuild-internal'
-EXCLUDE=${EXCLUDE:-''}
-
if test "x$1" = "x-r"; then
CONF="$2"
shift
shift
fi
+reg='^\(\w*\)\s\+\(\(GNU/Linux\|Linux\|release\)\s*\)*\([0-9]*\).*'
if test -f /etc/redhat-release; then
- OS=`cat /etc/redhat-release | head -n 1`
+ ISSUE=`cat /etc/redhat-release | head -n 1`
else
- OS=`cat /etc/issue | head -n 1`
+ ISSUE=`cat /etc/issue | head -n 1`
fi
+
+OS=`echo ${ISSUE} | sed "s,${reg},\1,"`
+OS_VER=`echo ${ISSUE} | sed "s,${reg},\4,"`
ARCH=`uname -i`
-was_build=
-was_external=
+if ! echo ${ISSUE} | grep -q "${reg}" || test -z "${OS}" || test -z "${OS_VER}" ; then
+ echo "Unknown platform: ${ISSUE}"
+ exit 1
+fi
-#CONF=sl-5-x86_64
-#CONF=sl-5-i386
-#CONF=sl-6-x86_64
-if test -z "$CONF"; then
- case $OS in
- Debian*|Ubuntu*)
+if test -z "${CONF}"; then
+ case ${OS} in
+ Debian|Ubuntu)
CONF=pbuilder
;;
- Scientific*5.*)
- CONF=sl-5-$ARCH
- ;;
- Scientific*6.*)
- CONF=sl-6-$ARCH
+ Scientific)
+ CONF=sl-${OS_VER}-${ARCH}
;;
- Scientific*7.*)
- CONF=sl-7-$ARCH
+ Fedora)
+ CONF=fed-${OS_VER}-${ARCH}
;;
- Fedora*)
- major=`rpm -q fedora-release | sed 's/fedora-release-\([0-9]*\)-.*/\1/'`
- CONF=fed-$major-$ARCH
- ;;
- Red*Hat*)
- CONF=epel-7-$ARCH
+ Red*)
+ CONF=epel-${OS_VER}-${ARCH}
;;
*)
echo "Unknown OS '$OS'"
esac
fi
+# workaround pbuilder bugs
+if test ${OS} = 'Debian' -a ${OS_VER} -ge 7 -o \
+ ${OS} = 'Ubuntu' -a ${OS_VER} -ge 14
+then
+ required_internal=1
+fi
+
+KEY_ID=${KEY_ID:-'64FA8786'}
+top_srcdir=${top_srcdir}
+DEBREPO_MAIN=${DEBREPO_MAIN:-~/debian}
+DEBREPO_DEPS=${DEBREPO_DEPS:-~/debian-externals}
+DEBDISTRO=${DEBDISTRO:-stable}
+EXCLUDE=${EXCLUDE:-''}
+if test -n "${required_internal}"; then
+ PBUILDER_OPTS="${PBUILDER_OPTS} --debbuildopts \"-j8\""
+ PDEBUILD_OPTS="${PDEBUILD_OPTS} --use-pdebuild-internal"
+fi
+
LAUNCHDIR=`dirname $0`
LAUNCHDIR=`(cd $LAUNCHDIR; pwd)`
REPORTS=reports
CMD="mock --configdir=mock -r $CONF --resultdir `pwd`/$REPORTS"
+was_build=
+was_external=
+
+
if test "$1" != "clean"; then
mkdir externals 2>/dev/null || :
mkdir results 2>/dev/null || :
mkdir -p $REPORTS 2>/dev/null || :
- if test "$CONF" != "pbuilder"; then
+ if ! test "$CONF" = "pbuilder"; then
mkdir mock 2>/dev/null || :
ln -s /etc/mock/logging.ini mock/ 2>/dev/null || :
if ! test -f mock/site-defaults.cfg; then
# fragile mini-dinstall
mkdir -p $DEBREPO_DEPS/mini-dinstall/incoming
touch $DEBREPO_DEPS/$DEBDISTRO/Packages
+
+ # required for '--use-pdebuild-internal'
+ mkdir -p results/pbuilder || :
fi
exit 0
;;