diff --git a/repo.sh b/repo.sh
index 8185f2b4b69359f49152b63073f075a97e8a0ffb..92aa673c22a9bb909ed5a14c64b9d92c3df6730a 100755
--- a/repo.sh
+++ b/repo.sh
@@ -26,8 +26,22 @@ do
     then
         target/release/cook "$recipe"
 
-        echo -e "\033[01;38;5;155mrepo - legacy tar for $recipe\033[0m" >&2
-        ./cook.sh "$recipe" tar
+        if [ ! -f "recipes/$recipe/stage.tar.gz" ]
+        then
+            echo -e "\033[01;38;5;155mrepo - legacy packaging $recipe\033[0m" >&2
+            ./cook.sh "$recipe" tar $DEBUG
+        else
+            TIME_PKG="$($STAT -c "%Y" recipes/$recipe/stage.pkgar)"
+            TIME_STAGE="$($STAT -c "%Y" recipes/$recipe/stage.tar.gz)"
+            if [ "$TIME_PKG" -gt "$TIME_STAGE" ]
+            then
+                echo -e "\033[01;38;5;155mrepo - legacy repackaging $recipe\033[0m" >&2
+                ./cook.sh "$recipe" untar tar $DEBUG
+            fi
+        fi
+
+        # Match pkgar and tar time
+        touch --no-create --reference="recipes/$recipe/stage.tar.gz" "recipes/$recipe/stage.pkgar"
 
         continue
     fi