--- a/ipkg-build
+++ b/ipkg-build
@@ -47,6 +47,19 @@ pkg_appears_sane() {
 
 	PKG_ERROR=0
 
+	cvs_dirs=`find . -name 'CVS'`
+	if [ -n "$cvs_dirs" ]; then
+	    if [ "$noclean" = "1" ]; then
+		echo "*** Warning: The following CVS directories where found.
+You probably want to remove them: " >&2
+		ls -ld $cvs_dirs
+		echo >&2
+	    else
+		echo "*** Removing the following files: $cvs_dirs"
+		rm -rf "$cvs_dirs"
+	    fi
+	fi
+
 	tilde_files=`find . -name '*~'`
 	if [ -n "$tilde_files" ]; then
 	    if [ "$noclean" = "1" ]; then
@@ -134,8 +147,12 @@ You probably want to chown these to a sy
 
 	for script in $CONTROL/preinst $CONTROL/postinst $CONTROL/prerm $CONTROL/postrm; do
 		if [ -f $script -a ! -x $script ]; then
+		    if [ "$noclean" = "1" ]; then
 			echo "*** Error: package script $script is not executable" >&2
 			PKG_ERROR=1
+		    else
+			chmod a+x $script
+		    fi
 		fi
 	done
 
