--- abs.old	2005-09-16 20:25:37.000000000 +0200
+++ abs	2005-10-29 21:18:12.000000000 +0200
@@ -4,19 +4,20 @@
 
 usage() {
 	echo "Arch Build System -- synchronization utility"
-	echo "usage: $0 [repository1 [repository2 ...]]"
+	echo "usage: $0 [-p] [repository1 [repository2 ...]]"
 	echo
 	echo "abs will synchronize PKGBUILD scripts from the CVS repository"
 	echo "into $ABSROOT.  You can follow different package trees by"
 	echo "editing /etc/abs/supfile.* files.  If no argument is given, abs "
-	echo "will synchronize from supfiles specified in /etc/abs/abs.conf"
+	echo "will synchronize from supfiles specified in /etc/abs/abs.conf."
+	echo "If -p is specified, the connection is opened in passive mode."
 }
 
 update() {
 	cd $ABSROOT
 	for sup in "${SUPFILES[@]}"; do
 		if [ "$sup" = "${sup#!}" ]; then
-			cvsup -L 1 -r 0 -g -b $ABSROOT -c .sup /etc/abs/supfile.$sup
+			cvsup -L 1 -r 0 -g -b $ABSROOT -P $CONNMODE -c .sup /etc/abs/supfile.$sup
 		fi
 	done		
 }
@@ -41,6 +42,14 @@
 	exit 1
 fi
 
+if [ "$1" = "-p" ] || [ "$1" = "--passive" ]; then
+	CONNMODE="-"
+	shift
+else
+	CONNMODE="m"
+	shift
+fi
+
 if [ "$#" -ne "0" ]; then
 	SUPFILES=("$@")
 fi
