packaging(RHEL-CTDB): Fix debuginfo builds
authorMichael Adam <obnox@samba.org>
Fri, 3 Dec 2010 09:13:46 +0000 (02:13 -0700)
committerMichael Adam <obnox@samba.org>
Tue, 5 Apr 2011 22:34:22 +0000 (00:34 +0200)
At least on RHEL 5.5, we observed broken debuginfo packages
when either old build directories were still present or old
debuginfo packages (of samba) were installed.

This patch removes the debuginfo samba RPMs and old RPM build
directories, giving the user a 10 second chance to quit.

packaging/RHEL-CTDB/makerpms.sh

index 74d5f7b3d9508423de27a9e77f8eece20f014626..c1a4b70151fa28b46965a0dbbcc98d600cc42ad0 100755 (executable)
@@ -18,6 +18,7 @@ EXTRA_OPTIONS="$1"
 
 RPMSPECDIR=`rpm --eval %_specdir`
 RPMSRCDIR=`rpm --eval %_sourcedir`
+RPMBUILDDIR=`rpm --eval %_builddir`
 
 # At this point the RPMSPECDIR and RPMSRCDIR variables must have a value!
 
@@ -41,6 +42,43 @@ case $RPMVER in
        ;;
 esac
 
+##
+## Delete the old debuginfo remnants:
+##
+## At least on RHEL 5.5, we observed broken debuginfo packages
+## when either old build directories were still present or old
+## debuginfo packages (of samba) were installed.
+##
+## Remove the debuginfo samba RPMs and old RPM build
+## directories, giving the user a 10 second chance to quit.
+##
+
+if rpm -qa | grep -q samba-debuginfo || test -n "$(echo ${RPMBUILDDIR}/samba* | grep -v \*)" ; then
+       echo "Removing debuginfo remnants to fix debuginfo build:"
+       if rpm -qa | grep -q samba-debuginfo ; then
+               echo "Uninstalling the samba-debuginfo RPM"
+               echo -n "Press Control-C if you want to quit (you have 10 seconds)"
+               for count in $(seq 1 10) ; do
+                       echo -n "."
+                       sleep 1
+               done
+               echo
+               echo "That was your chance... :-)"
+               rpm -e samba-debuginfo
+       fi
+       if test -n "$(echo ${RPMBUILDDIR}/samba* | grep -v \*)" ; then
+               echo "Deleting ${RPMBUILDDIR}/samba*"
+               echo -n "Press Control-C if you want to quit (you have 10 seconds)"
+               for count in $(seq 1 10) ; do
+                       echo -n "."
+                       sleep 1
+               done
+               echo
+               echo "That was your chance... :-)"
+               rm -rf ${RPMBUILDDIR}/samba*
+       fi
+fi
+
 ##
 ## determine the samba version and create the SPEC file
 ##