Modo não interativo dch


11

Estou tentando encontrar uma maneira de executar dchno modo não interativo, para incorporar a debian/changelogcriação e manipulação de arquivos em um script de shell.

Parece que somente ao executá-lo com o argumento -r ""que funciona (conforme especificado aqui ). No entanto, preciso usar argumentos diferentes.

Respostas:


11

Encontrei o problema,

Parece que dchabrirá um editor se ele não receber todas as informações que considera obrigatórias. Portanto, para criar um debian/changelogsem abrir um editor, descobri que a seguinte combinação de opções é suficiente:

dch --create --distribution unstable --package "pkgpkg" --newversion 0.0.0.0-0.test "some nice message"

1
dch -n "some nice message"basta.
UAV

1
@uav a -nbandeira não funcionará se você precisar criar um novo log de alterações pela primeira 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

Isso depende do que você pretende fazer com isso. dchpega as VISUAL/ EDITORvariáveis ​​para determinar o editor, e a única condição é que ela entenda / ignore uma opção inicial do formulário +n. Então eu posso fazer:

$ 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

  * 

E obtenha operação razoavelmente automatizada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.