#!/bin/bash

############################## SESSÃO VARIAVÉIS##############################################

# Necessaria para o arquivo debian/watch:
download="$dominio_repo/$owner/$project/tags"
check="tags .*/v?@ANY_VERSION@@ARCHIVE_EXT@"
watch="https://$(echo "$tarball_url" | awk -F'/' '{print $3}')/$owner/$project/$check"

#Neessarias para o arquivo debian/control:
homepage="Homepage: ${dominio_repo}/${owner}/${project}"
browser="Vcs-Browser: https://salsa.debian.org/python-team/packages/${project}"
git="Vcs-Git: https://salsa.debian.org/python-team/packages/${project}.git"

############################## SESSÃO DEBIANIZAÇÃO#############################################

  dh_make --python -c "$licenca" -f "../$tarball_filename"

 echo "Debianização feita com sucesso"

  # Realize outras ações ou configurações necessárias aqui
else
  echo "O diretório não segue o formato esperado (nome-versão). O script não pode continuar."
fi

############################## FORMATAÇÃO DIRETORIO DEBIAN ##############################
# Entrar no diretório "debian"
wrap-and-sort -a
cd debian

#1. Excluir arquivos desnecessarios o diretório "debian"
ls --hide=control --hide=copyright --hide=rules --hide=*-doc.docs --hide=*.doc-base.ex --hide=README.source --hide=watch.ex --hide=changelog --hide=source --hide=upstream| xargs -d '\n' rm -r

#2. debian/watch
mv watch.ex watch
watch_line_1="version=4"
watch_line_2="$watch"
echo -e "$watch_line_1\n$watch_line_2" > watch
echo "Diretório debian formatado com sucesso"

#/3.debian/upstream/metadata
mv upstream/metadata.ex  upstream/metadata
sed -i -e 's/^# //g' -e '1,4d' -e 's/<user>/'"$owner"'/g' -e '/Changelog:/d' -e '/Documentation:/d' upstream/metadata

#4. debian/control:
sed -i -e 's/unknown/python/' control
sed -i -e '/Testsuite: autopkgtest-pkg-python/d' -e '/Multi-Arch: foreign/d'  control
sed -i -e "s|Homepage:.*|Homepage: $dominio_repo/$owner/$project|" control
sed -i -e "s|#Vcs-Browser:.*|Vcs-Browser: https://salsa.debian.org/python-team/packages/$project|" control
sed -i -e "s|#Vcs-Git:.*|Vcs-Git: https://salsa.debian.org/python-team/packages/$project.git|" control


#5. debian/copyright

# Executar o comando egrep e salvar a saída em autores.txt
grep -ErisA1 '(copyright)' ../* > filtar_direitos_autorais 2>/dev/null

# Encontrar o PID (identificador de processo) do processo less
less_pid=$(pgrep -f "less -o filtar_direitos_autorais")

# Verificar se o PID foi encontrado
if [ -n "$less_pid" ]; then
    # Encerrar o processo less
    kill -9 $less_pid
fi
# Extrair informações desejadas e remover linhas duplicadas
awk '!seen[$0] && /Copyright/ {match($0, /[0-9]{4}[^<]+<[^>]+>/); print substr($0, RSTART, RLENGTH)}' filtar_direitos_autorais  > direitos_autorais_sem_duplicacao
awk 'NF' direitos_autorais_sem_duplicacao  > direitos_autorais_sem_duplicacao_sem_linhas_em_branco

# Eliminar duplicatas e salvar em um novo arquivo
sort direitos_autorais_sem_duplicacao_sem_linhas_em_branco | uniq -c | sort -nr | head -n 1 | awk '{print $4, $5}' > so_upstream

sort -u direitos_autorais_sem_duplicacao_sem_linhas_em_branco > so_autores

sed -i 's/| //g' so_autores
sed -i 's/,//g' so_autores

awk -F' ' '{
  email = $2
  if (!seen[email] || substr($1, 1, 4) < substr(seen[email], 1, 4)) {
    seen[email] = $0
  }
}
END {
  for (email in seen) {
    print seen[email]
  }
}' so_autores > autores_finais

sed -i 's/\//-/g' autores_finais
sed -i -e 's/^[0-9]\{4\}-[0-9]\{4\} //' autores_finais
sed -i -e 's/^[0-9]\{4\} //' autores_finais

sed -n -e '/<years> <put author'\''s name and email here>/,/<years> <likewise for another author>/{ /<years> <put author'\''s name and email here>/r autores_finais' -e '}; p' copyright > copyright.tmp
mv copyright.tmp copyright
sed -i '/<years> <put author'\''s name and email here>/d; /<years> <likewise for another author>/d' copyright
sed -i '/# Please/{x;d;};x' copyright
sed -i '/^# Please/,+8 d' copyright
sed -i -e "/Source:/s|Source: <url://example.com>|Source: $dominio_repo/$owner/$project|" copyright
sed -i -e "/Upstream-Contact:/s|<preferred name and address to reach the upstream project>|$(cat so_upstream)|" copyright
sed -i '1{/^$/d;}' copyright
rm -f filtar_direitos_autorais
rm -f direitos_autorais_sem_duplicacao
rm -f direitos_autorais_sem_duplicacao_sem_linhas_em_branco
rm -f so_autores
rm -f autores_finais

