diff --git a/scripts/rpmbuild.sh b/scripts/rpmbuild.sh
index c749d7c0f04030823e1a5cdc958f0a7b59ab87fa..465ad047d6dd75291d20b927ac2ca5c5970cd253 100755
--- a/scripts/rpmbuild.sh
+++ b/scripts/rpmbuild.sh
@@ -6,17 +6,14 @@ progname=$(basename $0)
 
 cd $(dirname $0)/..    # top level of the checkout
 
-curdir=$(basename $PWD)
-if [ "$curdir" != "browserid" ]; then
-    echo "$progname: git checkout must be in a dir named 'browserid'" >&2
-    exit 1
-fi
-
-mkdir -p rpmbuild/SOURCES rpmbuild/SPECS
-rm -rf rpmbuild/RPMS
-
-tar -C .. --exclude rpmbuild -czf \
-    $PWD/rpmbuild/SOURCES/browserid-server.tar.gz browserid
+mkdir -p rpmbuild/SOURCES rpmbuild/SPECS rpmbuild/SOURCES
+rm -rf rpmbuild/RPMS rpmbuild/SOURCES/browserid
+
+# work around the checkout name not being "browserid"
+ln -sf $PWD rpmbuild/SOURCES/browserid
+tar -C rpmbuild/SOURCES --exclude rpmbuild --exclude .git \
+    --exclude var -czhf \
+    $PWD/rpmbuild/SOURCES/browserid-server.tar.gz browserid/
 
 set +e