Dch modo no interactivo

11

Estoy tratando de encontrar una manera de ejecutar dchen modo no interactivo, para incorporar la debian/changelogcreación y manipulación de archivos dentro de un script de shell.

Parece que solo cuando se ejecuta con el argumento -r ""funciona (como se especifica aquí ). Sin embargo, necesito usar diferentes argumentos.

Omer Dagan
fuente

Respuestas:

11

Encontró el problema

Parece que dchabrirá un editor si no obtiene toda la información que considera obligatoria. Entonces, para crear un debian/changelogsin abrir un editor, descubrí que la siguiente combinación de opciones es suficiente:

dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"
Omer Dagan
fuente
1
dch -n "some nice message"es suficiente.
uav
1
@uav la -nbandera no funciona si necesita crear un nuevo registro de cambios por primera vez:dch: fatal error at line 573: Cannot find debian/changelog anywhere! Are you in the source code tree? (You could use --create if you wish to create this file.)
Wimateeka
0

Eso depende de lo que pretendas hacer con él. dchrecoge las variables VISUAL/ EDITORpara determinar el editor, y la única condición es que comprenda / ignore una opción inicial del formulario +n. Entonces puedo hacer:

$ cat edit.sh 
#! /bin/bash

shift
sed -i 's/UNRELEASED/trusty/' "$@"
$ VISUAL='bash edit.sh' dch -i
$ head -3 debian/changelog
mypackage (1.24ubuntu1) trusty; urgency=medium

  * 

Y obtenga una operación razonablemente automatizada.

muru
fuente