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.

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"

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.