diff --git a/install/boss-install.in b/install/boss-install.in
index f7d2cd0c3bc8bcf97b05af2c6a4614c029663fa8..ffa5cba0f3d765bba13f96041a2803623e928ae9 100644
--- a/install/boss-install.in
+++ b/install/boss-install.in
@@ -25,6 +25,7 @@ my $SRCDIR     = '@srcdir@';
 my $TOP_SRCDIR = '@top_srcdir@';
 my $DBNAME     = "@TBDBNAME@";
 my $ELABINELAB = @ELABINELAB@;
+my $WINSUPPORT = @WINSUPPORT@;
 
 my $OURDOMAIN  = '@OURDOMAIN@';
 
@@ -368,21 +369,23 @@ Phase "portfixup", "Fixing up packages", sub {
 	    PhaseSkip("rsync already installed");
 	}
 
-	if (exists($ENV{"PKG_PATH"})) {
-	    ExecQuietFatal("$PKG_ADD rsync-2.6.3_1");
-	}
-	else {
-	    #
-	    # This port is dead-simple, so it's safe to do it from this script
-	    #
-	    my $pwd = `$PWD`;
-	    chomp $pwd;
-	    chdir "$PORTSDIR/net/rsync" or
- 	 	PhaseFail "Unable to change to $PORTSDIR/net/rsync: $!";
-	    ExecQuietFatal("make -DBATCH install");
-	    chdir $pwd;
-	}
+	PhaseFail("Must have a PKG_PATH variable set in your environment")
+	    if (!exists($ENV{"PKG_PATH"}));
+	
+	ExecQuietFatal("$PKG_ADD rsync-2.6.3_1");
     };
+    if ($WINSUPPORT) {
+	Phase "gcc30", "Looking for GCC 3.0 and installing", sub {
+	    if (!ExecQuiet("$PKG_INFO -x gcc30")) {
+		PhaseSkip("GCC 3.0 already installed");
+	    }
+	    
+	    PhaseFail("Must have a PKG_PATH variable set in your environment")
+		if (!exists($ENV{"PKG_PATH"}));
+	
+	    ExecQuietFatal("$PKG_ADD gcc30-3.0.4_1");
+	};
+    }
 };
 
 Phase "patches", "Applying patches", sub {
diff --git a/install/ops-install.in b/install/ops-install.in
index fedc20c58c44612cbc9e5af3cb510ca954110f31..adc0b871cf4c752a6986b940b897d86d9ba53594 100644
--- a/install/ops-install.in
+++ b/install/ops-install.in
@@ -258,39 +258,31 @@ Phase "portfixup", "Fixing up packages", sub {
 	    PhaseSkip("rsync already installed");
 	}
 
-	if (exists($ENV{"PKG_PATH"})) {
-	    ExecQuietFatal("$PKG_ADD rsync-2.6.3_1");
-	}
-	else {
-	    #
-	    # This port is dead-simple, so it's safe to do it from this script
-	    #
-	    my $pwd = `$PWD`;
-	    chomp $pwd;
-	    chdir "$PORTSDIR/net/rsync" or
- 	 	PhaseFail "Unable to change to $PORTSDIR/net/rsync: $!";
-	    ExecQuietFatal("make -DBATCH install");
-	    chdir $pwd;
-	}
+	PhaseFail("Must have a PKG_PATH variable set in your environment")
+	    if (!exists($ENV{"PKG_PATH"}));
+	
+	ExecQuietFatal("$PKG_ADD rsync-2.6.3_1");
     };
     if ($WINSUPPORT) {
 	Phase "samba", "Looking for Samba and installing", sub {
 	    if (!ExecQuiet("$PKG_INFO -x samba")) {
 		PhaseSkip("samba already installed");
 	    }
-
-	    if (exists($ENV{"PKG_PATH"})) {
-		ExecQuietFatal("$PKG_ADD samba-3.0.7,1");
-	    }
-	    else {
-		my $pwd = `$PWD`;
-		chomp $pwd;
-		chdir "$PORTSDIR/net/samba3" or
-		    PhaseFail "Unable to change to $PORTSDIR/net/samba3: $!";
-		ExecQuietFatal("make -DBATCH -DSAMBA_SUBPORT install");
-		ExecQuietFatal("make -k post-install");
-		chdir $pwd;
+	    
+	    PhaseFail("Must have a PKG_PATH variable set in your environment")
+		if (!exists($ENV{"PKG_PATH"}));
+	
+	    ExecQuietFatal("$PKG_ADD samba-3.0.7,1");
+	};
+	Phase "gcc30", "Looking for GCC 3.0 and installing", sub {
+	    if (!ExecQuiet("$PKG_INFO -x gcc30")) {
+		PhaseSkip("GCC 3.0 already installed");
 	    }
+	    
+	    PhaseFail("Must have a PKG_PATH variable set in your environment")
+		if (!exists($ENV{"PKG_PATH"}));
+	
+	    ExecQuietFatal("$PKG_ADD gcc30-3.0.4_1");
 	};
     }
 };