diff --git a/DEPS.txt b/DEPS.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c16656dc33a6b8376ad2c77916628a5d204e0d60
--- /dev/null
+++ b/DEPS.txt
@@ -0,0 +1,3 @@
+REQUIRED="rsb"
+OPTIONAL=""
+
diff --git a/resolve.sh b/resolve.sh
index ae425de258cd379e69d427b2a1b2583b9347ac5c..f9c2a2099b8fba9804736b7c66a1f38ec7be2a9a 100755
--- a/resolve.sh
+++ b/resolve.sh
@@ -1,6 +1,11 @@
 #!/bin/bash
 
-PACKAGES="rsb"
+# This file is deprecated.
+# Resolution is performed automatically in the soa script.
+
+eval "`grep '^REQUIRED=\|^OPTIONAL=' DEPS.txt`"
+REQ="$REQUIRED"
+OPT="$OPTIONAL"
 
 shopt -q nullglob || resetnullglob=1
 shopt -s nullglob
@@ -12,7 +17,8 @@ mkdir -p deps/lib
 mkdir -p deps/include
 mkdir -p deps/scripts
 mkdir -p deps/python
-for P in $PACKAGES; do
+for P in $REQ $OPT; do
+	echo "Importing from $P ..."
 	files=(../$P/dist/bin/*);
 	[ "$files" ] && cp -a ../$P/dist/bin/* deps/bin/
 	files=(../$P/dist/lib/*);
@@ -22,10 +28,11 @@ for P in $PACKAGES; do
 	files=(../$P/dist/scripts/*);
 	[ "$files" ] && cp -a ../$P/dist/scripts/* deps/scripts/
 	files=(../$P/dist/python/*.zip);
-	[ "$files" ] && for zipfile in ../$P/dist/python/*.zip; do
+	[ "$files" ] && for zipfile in ../$P/dist/python/*.zip ../$P/dist/*.py.zip; do
 		unzip -oqq $zipfile -d deps/python
 	done
 done
+echo "Done."
 
 [ "$resetdotglob" ] && shopt -u dotglob
 [ "$resetnullglob" ] && shopt -u nullglob