Mode non interactif Dch

11

J'essaie de trouver un moyen de fonctionner dchen mode non interactif, afin d'incorporer la debian/changelogcréation et la manipulation de fichiers dans un script shell.

Il semble que ce n'est que lorsque vous l'exécutez avec l'argument que -r ""cela fonctionne (comme spécifié ici ). Cependant, je dois utiliser différents arguments.

Omer Dagan
la source

Réponses:

11

Trouvé le problème,

Il semble que dchcela ouvrira un éditeur s'il n'obtient pas toutes les informations qu'il considère comme obligatoires. Donc, afin de créer un debian/changelogsans ouvrir un éditeur, j'ai trouvé que la combinaison d'options suivante est suffisante:

dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"
Omer Dagan
la source
1
dch -n "some nice message"est assez.
uav
1
@uav, le -ndrapeau ne fonctionne pas si vous devez créer un nouveau journal des modifications pour la première fois: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

Cela dépend de ce que vous comptez en faire. dchreprend les variables VISUAL/ EDITORpour déterminer l'éditeur, et la seule condition est qu'il comprenne / ignore une option initiale du formulaire +n. Je peux donc faire:

$ 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

  * 

Et obtenez un fonctionnement raisonnablement automatisé.

muru
la source