#!/bin/bash

# ======================================================================
# Archivo:       creardsc
# Ruta:          /usr/local/bin/
# Autor:         Charlie Martínez® <cmartinez@quirinux.org>
# Licencia:      https://www.gnu.org/licenses/gpl-2.0.txt
# Propósito:     Generar archivo dsc para sources de un paquete deb
# Distribución:  Quirinux 2.x
# ======================================================================

#
# Copyright (c) 2019-2025 Charlie Martínez, derechos reservados.
# Licencia: https://www.gnu.org/licenses/gpl-2.0.txt
# Usos autorizados y no autorizados de la marca Quirinux:
# Ver https://www.quirinux.org/aviso-legal
#

# ----------------------------------------------------------------------
# Comprobar parámetro
# ----------------------------------------------------------------------

if [ $# -ne 2 ]; then
  echo "Uso: creardsc <archivo.deb> <archivo.tar>"
  exit 1
fi

# ----------------------------------------------------------------------
# Variables
# ----------------------------------------------------------------------

deb_file=$1
tar_file=$2

# ----------------------------------------------------------------------
# Comprobar variables
# ----------------------------------------------------------------------

if [ ! -f "$deb_file" ]; then
  echo "El archivo .deb no existe: $deb_file"
  exit 1
fi

if [ ! -f "$tar_file" ]; then
  echo "El archivo .tar no existe: $tar_file"
  exit 1
fi

# ----------------------------------------------------------------------
# Generar DSC
# ----------------------------------------------------------------------

deb_name=$(basename "$deb_file" .deb)
tar_name=$(basename "$tar_file" .tar)
source_name=$(echo "$deb_name" | sed 's/_.*//')
version=$(echo "$deb_name" | sed 's/.*_\(.*\)_all/\1/')

deb_md5=$(md5sum "$deb_file" | awk '{ print $1 }')
tar_md5=$(md5sum "$tar_file" | awk '{ print $1 }')

deb_size=$(stat -c%s "$deb_file")
tar_size=$(stat -c%s "$tar_file")

dsc_content="Format: 3.0 (native)
Source: $source_name
Binary: $source_name
Architecture: all
Version: $version
Section: admin
Priority: optional
Maintainer: Charlie Martinez <cmartinez@quirinux.org>
Files:
 $deb_md5 $deb_size $deb_file
 $tar_md5 $tar_size $tar_file"

echo "$dsc_content" > "${source_name}_${version}.dsc"
echo "Archivo .dsc creado: ${source_name}_${version}.dsc"
