diff --git a/Build-tools/Bootstrap b/Build-tools/Bootstrap
index c1a416356f16e7a9f09e640a9ec5905969a62c08..7d3ac1322f42e8486eab6002a680a4674d4c0a83 100755
--- a/Build-tools/Bootstrap
+++ b/Build-tools/Bootstrap
@@ -278,9 +278,8 @@ unless ($opt_skip_manual)
 	&logger($msg);
 	foreach $file qw/internals manual reservedwords/
 	{
-		$command= "bk cat $opt_docdir/Docs/$file.texi";
-		$command.= "> $target_dir/Docs/$file.texi";
-		&run_command($command, "Could not updated $file.texi in $target_dir/Docs/!");
+		system ("bk cat $opt_docdir/Docs/$file.texi > $target_dir/Docs/$file.texi") == 0
+		or &abort("Could not update $file.texi in $target_dir/Docs/!");
 	}
 }
 
diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile
index e5783dbf5150f98fd3eb3611dce7d582b67f8b65..e92654ccffd7d02769da8775baaf65ecca2e76c8 100755
--- a/Build-tools/Do-compile
+++ b/Build-tools/Do-compile
@@ -1,6 +1,8 @@
 #!/usr/bin/perl -w
 
+use File::Basename;
 use Getopt::Long;
+use Sys::Hostname;
 
 @config_options= ();
 @make_options= ();
@@ -75,7 +77,7 @@ if (@config_env > 0)
 	$opt_config_env= join(" ", @config_env);
 }
 
-chomp($host=`hostname`);
+$host= hostname();
 chomp($uname=`uname`);
 $full_host_name=$host;
 $connect_option= ($opt_tcpip ? "--host=$host" : "");
@@ -83,7 +85,7 @@ $host =~ /^([^.-]*)/;
 $host=$1 . $opt_suffix;
 $email="$opt_user\@mysql.com";
 chomp($pwd = `pwd`);
-$VER= `basename $opt_distribution`; chop $VER;
+$VER= basename($opt_distribution);
 $VER=~ /mysql.*-([1-9]\.[0-9]{1,2}\.[0-9]{1,2}.*)\.tar*/; $version=$1;
 ($major, $minor, $release) = split(/\./,$version);
 $log="$pwd/Logs/$host-$major.$minor$opt_version_suffix.log";
@@ -110,7 +112,7 @@ if (defined($gcc_version) && ! $opt_config_env)
 $new_opt_tmp=0;
 if ($opt_tmp)
 {
-  if (! -d $opt_tmp)
+  unless (-d $opt_tmp)
   {
     safe_system("mkdir $opt_tmp");
     $new_opt_tmp=1;
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 1cb25e2ff420227f1bfedc4dda3b3f8d4f66c82b..e1c3476f738061a266c0c80052e0a3b908215fdd 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -442,11 +442,12 @@ fi
 [ "$RBR" != "/" ] && [ -d $RBR ] && rm -rf $RBR;
 
 %files server
-%defattr(755 root, root)
+%defattr(-,root,root,0755)
 
-%doc %attr(644, root, root) COPYING README
-%doc %attr(644, root, root) Docs/manual.{html,ps,texi,txt} Docs/manual_toc.html
-%doc %attr(644, root, root) support-files/my-*.cnf
+%doc COPYING README
+%doc Docs/manual.{html,ps,texi,txt}
+%doc Docs/manual_toc.html
+%doc support-files/my-*.cnf
 
 %doc %attr(644, root, root) %{_infodir}/mysql.info*
 
@@ -498,6 +499,7 @@ fi
 %attr(755, root, root) %{_datadir}/mysql/
 
 %files client
+%defattr(-, root, root, 0755)
 %attr(755, root, root) %{_bindir}/msql2mysql
 %attr(755, root, root) %{_bindir}/mysql
 %attr(755, root, root) %{_bindir}/mysql_find_rows
@@ -525,7 +527,7 @@ fi
 /sbin/ldconfig
 
 %files devel
-%defattr(644 root, root)
+%defattr(-, root, root, 0755)
 %attr(755, root, root) %{_bindir}/comp_err
 %attr(755, root, root) %{_bindir}/mysql_config
 %dir %attr(755, root, root) %{_includedir}/mysql
@@ -546,11 +548,12 @@ fi
 %{_libdir}/mysql/libvio.a
 
 %files shared
-%defattr(755 root, root)
+%defattr(-, root, root, 0755)
 # Shared libraries (omit for architectures that don't support them)
 %{_libdir}/*.so*
 
 %files bench
+%defattr(-, root, root, 0755)
 %attr(-, root, root) %{_datadir}/sql-bench
 %attr(-, root, root) %{_datadir}/mysql-test
 %attr(755, root, root) %{_bindir}/mysqlmanager
@@ -558,15 +561,21 @@ fi
 %attr(755, root, root) %{_bindir}/mysqlmanagerc
 
 %files Max
+%defattr(-, root, root, 0755)
 %attr(755, root, root) %{_sbindir}/mysqld-max
 %attr(644, root, root) %{_libdir}/mysql/mysqld-max.sym
 
 %files embedded
+%defattr(-, root, root, 0755)
 %attr(644, root, root) %{_libdir}/mysql/libmysqld.a
 
 # The spec file changelog only includes changes made to the spec file
 # itself
 %changelog 
+* Fri Dec 13 2003 Lenz Grimmer <lenz@mysql.com>
+
+- fixed file permissions (BUG 1672)
+
 * Thu Dec 11 2003 Lenz Grimmer <lenz@mysql.com>
 
 - made testing for gcc3 a bit more robust