Dch неинтерактивный режим

11

Я пытаюсь найти способ запуска dchв неинтерактивном режиме, чтобы включить debian/changelogсоздание файла и манипулирование в сценарий оболочки.

Кажется, что только при запуске с аргументом -r ""это работает (как указано здесь ). Однако мне нужно использовать разные аргументы.

Омер Даган
источник

Ответы:

11

Нашел проблему,

Похоже, что dchоткроет редактор, если он не получит всю информацию, которую он считает обязательной. Таким образом, для создания debian/changelogбез открытия редактора я обнаружил, что достаточно следующей комбинации параметров:

dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"
Омер Даган
источник
1
dch -n "some nice message"достаточно.
Л
1
@uav -nфлаг не работает, если вам нужно создать новый журнал изменений в первый раз: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

Это зависит от того, что вы собираетесь с этим делать. dchвыбирает переменные VISUAL/ EDITORдля определения редактора, и единственным условием является то, что он понимает / игнорирует начальную опцию формы +n. Так что я могу сделать:

$ 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

  * 

И получите разумно автоматизированную работу.

Мур
источник