Fix T52213: Enum drivers no longer work
[blender.git] / build_files / utils / build_tgz.sh
index 944bc528a37c7afdadf01095994cb1befeccadde..865df2776053135d275af641856ca3c1cc790208 100755 (executable)
@@ -6,15 +6,17 @@
 BASE_DIR="$PWD"
 
 blender_srcdir=$(dirname -- $0)/../..
-blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
-blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
-blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
-blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}')
+blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
+blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
+blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
+blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender_version.h" | awk '{print $3}')
 
 if [ "$blender_version_cycle" = "release" ] ; then
        VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)$blender_version_char
+       SUBMODULE_EXCLUDE="^\(release/scripts/addons_contrib\)$"
 else
        VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)_$blender_subversion
+       SUBMODULE_EXCLUDE="^$"  # dummy regex
 fi
 
 MANIFEST="blender-$VERSION-manifest.txt"
@@ -22,15 +24,27 @@ TARBALL="blender-$VERSION.tar.gz"
 
 cd "$blender_srcdir"
 
+# not so nice, but works
+FILTER_FILES_PY=\
+"import os, sys; "\
+"[print(l[:-1]) for l in sys.stdin.readlines() "\
+"if os.path.isfile(l[:-1]) "\
+"if os.path.basename(l[:-1]) not in {"\
+"'.gitignore', "\
+"'.gitmodules', "\
+"'.arcconfig', "\
+"}"\
+"]"
+
 # Build master list
 echo -n "Building manifest of files:  \"$BASE_DIR/$MANIFEST\" ..."
-git ls-files > $BASE_DIR/$MANIFEST
+git ls-files | python3 -c "$FILTER_FILES_PY" > $BASE_DIR/$MANIFEST
 
 # Enumerate submodules
-for lcv in $(git submodule | awk '{print $2}'); do
+for lcv in $(git submodule | awk '{print $2}' | grep -v "$SUBMODULE_EXCLUDE"); do
        cd "$BASE_DIR"
        cd "$blender_srcdir/$lcv"
-       git ls-files | awk '$0="'"$lcv"/'"$0' >> $BASE_DIR/$MANIFEST
+       git ls-files | python3 -c "$FILTER_FILES_PY" | awk '$0="'"$lcv"/'"$0' >> $BASE_DIR/$MANIFEST
        cd "$BASE_DIR"
 done
 echo "OK"