summaryrefslogtreecommitdiff
path: root/sof-bin-blob/OBTAIN.SH
diff options
context:
space:
mode:
authorsrv <enmanuel.saravia.externo@pandero.com.pe>2025-05-05 15:29:27 -0500
committersrv <enmanuel.saravia.externo@pandero.com.pe>2025-05-05 15:29:27 -0500
commit81555e3bd23c74ce915d246ca51fa65d84c22ae7 (patch)
tree1ba136af6b87426d37d010866b5cdac110eaeaa8 /sof-bin-blob/OBTAIN.SH
First commitdevelop
Diffstat (limited to 'sof-bin-blob/OBTAIN.SH')
-rwxr-xr-xsof-bin-blob/OBTAIN.SH41
1 files changed, 41 insertions, 0 deletions
diff --git a/sof-bin-blob/OBTAIN.SH b/sof-bin-blob/OBTAIN.SH
new file mode 100755
index 0000000..e28b67d
--- /dev/null
+++ b/sof-bin-blob/OBTAIN.SH
@@ -0,0 +1,41 @@
+#!/bin/dash
+
+# Variables de entrada (URL del repositorio y hash del commit como argumentos)
+REPO="${1:-https://gitlab.com/kernel-firmware/linux-firmware.git}"
+COMMIT_HASH="${2:-3981e21e654e3c139c7ca143a0119706b0e7f963}"
+
+# Variables de directorio temporal y nombre del archivo final
+TEMP_DIR=$(mktemp -d /tmp/repo-XXXX)
+ARCHIVE_NAME="repo-$(basename "$TEMP_DIR").tar.xz"
+
+# Clonar el repositorio en el directorio temporal
+git clone "$REPO" "$TEMP_DIR" || {
+ echo "Error: No se pudo clonar el repositorio."
+ exit 1
+}
+
+# Cambiar al directorio clonado
+cd "$TEMP_DIR" || exit 1
+
+# Cambiar al commit especificado
+git checkout "$COMMIT_HASH" || {
+ echo "Error: No se pudo cambiar al commit $COMMIT_HASH."
+ exit 1
+}
+
+# Verificar si el repositorio contiene un directorio .git y moverlo
+if [ -d .git ]; then
+ GIT_DIR="/tmp/git_$(basename "$TEMP_DIR")"
+ mkdir "$GIT_DIR" && mv .git "$GIT_DIR" || exit 1
+fi
+
+# Volver al directorio anterior y crear el archivo tar.xz
+cd - > /dev/null || exit 1
+tar -cJvf "$ARCHIVE_NAME" -C "$(dirname "$TEMP_DIR")" "$(basename "$TEMP_DIR")" || {
+ echo "Error: No se pudo crear el archivo $ARCHIVE_NAME."
+ exit 1
+}
+
+# Limpiar el directorio temporal
+rm -rf "$TEMP_DIR"
+echo "Archivo creado: $ARCHIVE_NAME"