Dch nicht interaktiver Modus

11

Ich versuche einen Weg zu finden, um dchim nicht interaktiven Modus ausgeführt zu werden, um die debian/changelogDateierstellung und -bearbeitung in ein Shell-Skript zu integrieren.

Es scheint, dass es nur -r ""funktioniert , wenn es mit dem Argument ausgeführt wird (wie hier angegeben ). Ich muss jedoch andere Argumente verwenden.

Omer Dagan
quelle

Antworten:

11

Fand das Problem,

Es scheint, dass dchein Editor geöffnet wird, wenn er nicht alle Informationen erhält, die er für obligatorisch hält. Um einen zu erstellen, debian/changelogohne einen Editor zu öffnen, habe ich festgestellt, dass die folgende Kombination von Optionen ausreicht:

dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"
Omer Dagan
quelle
1
dch -n "some nice message"reicht.
Uav
1
@uav die -nFlagge funktioniert nicht, wenn Sie zum ersten Mal ein neues Änderungsprotokoll erstellen müssen: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

Das hängt davon ab, was Sie damit vorhaben. dchgreift auf die Variablen VISUAL/ EDITORzu, um den Editor zu bestimmen, und die einzige Bedingung ist, dass er eine anfängliche Option des Formulars versteht / ignoriert +n. Also kann ich tun:

$ 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

  * 

Und erhalten Sie einen einigermaßen automatisierten Betrieb.

muru
quelle