Tryb nieinteraktywny Dch

11

Próbuję znaleźć sposób na uruchomienie dchw trybie nieinteraktywnym, aby włączyć debian/changelogtworzenie i manipulowanie plikami w skrypcie powłoki.

Wygląda na to, że działa tylko z uruchomionym argumentem -r ""(jak tutaj podano ). Muszę jednak użyć różnych argumentów.

Omer Dagan
źródło

Odpowiedzi:

11

Znalazłem problem

Wygląda na to, że dchotworzy edytor, jeśli nie uzyska wszystkich informacji, które uważa za obowiązkowe. Aby stworzyć debian/changelogedytor bez otwierania, przekonałem się, że wystarczy następująca kombinacja opcji:

dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"
Omer Dagan
źródło
1
dch -n "some nice message"wystarczy.
uav
1
@ uav -nflaga nie działa, jeśli musisz utworzyć nowy dziennik zmian po raz pierwszy: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

To zależy od tego, co zamierzasz z tym zrobić. dchpobiera zmienne VISUAL/ w EDITORcelu ustalenia edytora, a jedynym warunkiem jest zrozumienie / zignorowanie początkowej opcji formularza +n. Więc mogę zrobić:

$ 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

  * 

I uzyskaj rozsądnie zautomatyzowane działanie.

muru
źródło