Dejo un pequeño programa que me ha ayudado a instalar fuentes no oficiales
de paquetes Tryton. Ojalá le sirva a alguien.
Ejemplo:
$> scriptPy2Deb.sh trytonspain-<módulo>.zip
**********
Procesando
trytonspain-<módulo>.zip
**********
zip
trytonspain-<módulo>.zip
Nombre para el paquete: python-trytond-<módulo>
Esto genera un archivo python-trytond-<módulo>.deb en la carpeta py2dsc que
puede instalarse usando:
$> dpkg -i py2dsc/python-trytond-<módulo>*.deb
#!/bin/bash
#
# License: GPL version 3.0 or later at your convenience.
#
# Script to automate the process of creating a deb package
# out of a tar, zip, gzip or bzip python source, especially for
# the tryton packages from zikzakmedia, presik, trytonspain, etc.
#
# Depends on python-stdeb (py2dsc) 0.8.5-1
# Language: Castillian
function py2deb_multi() {
for i in "$@"; do
# Limpiar tipo
tipo="";
# Avisar que se está trabajando
printf "**********\n";
printf "Procesando\v$i\n";
printf "**********\n";
# Obtener el tipo de archivo con file, si es que existe
tipo=$(if [[ -f "$i" ]]; then file --mime-type -b "$i"; fi);
# Sólo dejar el tipo (quitar application/)
tipo=${tipo/*"/"/};
# Imprimir el tipo de archivo
printf "$tipo\n";
# Verificar que se puede procesar el archivo (gz, tar, bz o zip)
case "$tipo" in
gzip|x-tar|zip|bzip)
# PROV=$(
# printf "$i" |
# sed 's/d_/-modules-/g; s/-3.6.*/\n/g; s/_/-/g';
# );
printf "$i\n";
read -p "Nombre para el paquete: " PROV < /dev/tty;
if [[ "tryton" != $PROV && "trytond" != $PROV ]]; then
sed -i 's/\(Package:\|Provides:\|Replaces:\).*/\1 '"$PROV"'/g' debian.cfg;
a=$(
ls py2dsc/$(
echo "$i" |
sed 's/^t\(.*3.6.*\).tar.gz/python-t\1*.deb/g; s/_/-/g; s/-3.6/_3.6/g'
)
);
[[ -f $a ]] || py2dsc-deb -x debian.cfg "$i" || break;
[[ ! -d py2dsc ]] && mkdir py2dsc;
[[ -d deb_dist ]] && mv deb_dist/*tryton*.deb py2dsc;
rm -fr deb_dist;
fi;
;;
*)
printf "!!!!!!!!!!";
printf "El archivo no es zip, tar, gzip o bzip";
printf "!!!!!!!!!!\n";
;;
esac;
# # echo "$i"; done; exit;
# PROV=$(
# printf "$i" |
# sed 's/d_/-modules-/g; s/-3.6.*/\n/g; s/_/-/g'
# );
# if [[ "tryton" != $PROV && "trytond" != $PROV ]]; then
# sed -i 's/\(Package:\|Provides:\|Replaces:\).*/\1 '"$PROV"'/g' debian.cfg;
# a=$(
# ls py2dsc/$(
# echo "$i" |
# sed 's/^t\(.*3.6.*\).tar.gz/python-t\1*.deb/g; s/_/-/g; s/-3.6/_3.6/g'
# )
# );
# [[ -f $a ]] || py2dsc-deb -x tryton.cfg "$i" || break;
# [[ -d deb_dist ]] && mv deb_dist/python-tryton*.deb py2dsc;
# rm -fr deb_dist;
# fi;
done
}
while true; do
case "$1" in
"")
printf "Pon el nombre de archivos: \v$0 <archivo> .. <archivo>\n";
exit 1;
;;
"--no")
# No funciona
while true; do
shift;
excl="$1";
done;
;;
*)
py2deb_multi "$@";
# for arch in "$@"; do
# echo "$arch";
# done;
break;
;;
esac
done;
exit 0;
[DEFAULT]
Package: trytond-sale-payment
Provides: trytond-sale-payment
Replaces: trytond-sale-payment
Suite: belenos
XS-Python-Version: >= 2.7