Eu baixei a fonte para um pacote usando:
$ apt-get source gkrellweather
Também verifiquei se tinha as dependências de compilação:
$ sudo apt-get build-dep gkrellweather
E eu testei que ele poderia criar muito bem:
$ cd gkrellweather-2.0.8
$ debuild
Ele criou um .deb
pacote na pasta acima, que eu poderia instalar usando:
$ sudo dpkg -i ../gkrellweather*.deb
OK, então está tudo no lugar. Vamos começar!
Abri o código fonte no Vim e fiz algumas alterações que eu queria. Então eu tentei reconstruir:
$ debuild
Mas eu recebi o seguinte erro:
...
dh_clean: Compatibility levels before 5 are deprecated (level 4 in use)
dpkg-source -b gkrellweather-2.0.8
dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1)
dpkg-source: info: using source format `1.0'
dpkg-source: info: building gkrellweather using existing gkrellweather_2.0.8.orig.tar.gz
dpkg-source: info: building gkrellweather in gkrellweather_2.0.8-2.diff.gz
dpkg-source: error: cannot represent change to gkrellweather-2.0.8/.gkrellweather.c.swp: binary file contents changed
dpkg-source: warning: the diff modifies the following upstream files:
GrabWeather
Makefile
gkrellweather.c
dpkg-source: info: use the '3.0 (quilt)' format to have separate and documented changes to upstream files, see dpkg-source(1)
dpkg-source: unrepresentable changes to source
dpkg-buildpackage: error: dpkg-source -b gkrellweather-2.0.8 gave error exit status 1
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Por quê?
-i
é passadodebuild
paradpkg-buildpackage
e depois paradpkg-source
, cuja página de manual diz que um regexp pode ser fornecido. Sem testes, acho que-i'(^|/)\.(git|idea|pybuild)($|/)'
pode funcionar para você.Isso me tropeçou mais de uma vez antes. Às vezes, pensei que o motivo dos erros de reconstrução após alterar a fonte era que, depois que a fonte foi alterada, a assinatura dos mantenedores de pacotes (assinatura) não é mais válida para essa fonte.
Mas, na verdade, neste caso, a resposta foi simples:
O problema é que o Vim criou um swafile e
debuild
não gostou disso!A solução foi simples: remova o swapfile e, em seguida, a construção pode funcionar:
fonte