Estou executando o debuild e o lintian encontra automaticamente 2 erros que tenho com a página de manual.
a estrutura do projeto depois de executar o comando debuild se parece com isso
hoseopjeong@hoseopjeong-VirtualBox:~/Documents/HoseopJeong_debian_lab9/debianlaboration9-0.0$ tree
.
├── debian
│ ├── changelog
│ ├── compat
│ ├── control
│ ├── copyright
│ ├── debhelper-build-stamp
│ ├── debianlaboration9
│ │ ├── DEBIAN
│ │ │ ├── control
│ │ │ └── md5sums
│ │ └── usr
│ │ ├── bin
│ │ │ └── electrotest_standalone
│ │ └── share
│ │ ├── doc
│ │ │ └── debianlaboration9
│ │ │ ├── changelog.Debian.gz
│ │ │ ├── copyright
│ │ │ └── README.Debian
│ │ └── man
│ │ └── electrotest_standalone.man.gz
│ ├── debianlaboration9.debhelper.log
│ ├── debianlaboration9.substvars
│ ├── files
│ ├── patches
│ │ └── series
│ ├── README.Debian
│ ├── rules
│ ├── source
│ │ ├── format
│ │ └── local-options
│ └── watch
├── electrotest_standalone
├── electrotest_standalone.man
├── Makefile
└── src
└── electrotest_standalone.c
o makefile que o debuild usa se parece com isso
prefix = /usr/local
all: electrotest
electrotest: ./src/electrotest_standalone.c
gcc -o electrotest_standalone ./src/electrotest_standalone.c -lm
install:electrotest
install -D electrotest_standalone \
$(DESTDIR)$(prefix)/bin/electrotest_standalone
mkdir $(DESTDIR)/usr/share
mkdir $(DESTDIR)/usr/share/man
cp electrotest_standalone.man \
$(DESTDIR)/usr/share/man/
clean:
-rm -f electrotest
distclean:clean
uninstall:
-rm -f $(DESTDIR)$(prefix)/bin/electrotest_standalone
.PHONY: all install clean distclean uninstall
Então, até onde eu entendo, um arquivo man deve estar localizado dentro de usr/share/man. É por isso que criei pastas ushare/man manualmente com Makefile e posso ver quando executo o comando debuild, debuild cria essas pastas e com cp electrotest_standalone.man \ $(DESTDIR)/usr/share/man/
, debuild também consegue copiar esse arquivo na pasta man que gerou por debuild. No entanto, lintian ainda não gosta disso.
Quando eu executo o debuild, o lintian mostra
Now running lintian...
W: debianlaboration9: improbable-bug-number-in-closes 10
E: debianlaboration9: manpage-in-wrong-directory usr/share/man/electrotest_standalone.man.gz
W: debianlaboration9: binary-without-manpage usr/bin/electrotest_standalone
Ele diz que meu arquivo man está no lugar errado e o arquivo binário eletrotest_standalone não tem nenhuma página man. O que estou fazendo errado?
Atualmente minha página de manual tem apenas uma única frase
NAME: electrotest_standalone
Sua página man precisa ser instalada em um subdiretório de
/usr/share/man
, dependendo de sua seção, e precisa ser nomeada apropriadamente. No seu caso, o destino deve ser/usr/share/man/man1/electrotest_standalone.1
.Consulte as informações relevantes da tag lintian . Você pode ver isso localmente executando
lintian -i
. Note também que, a menos que você pretenda enviar seu pacote para os arquivos Debian, você não precisa se preocupar com todos os avisos do lintian; apenas certifique-se de não ter nenhum erro real (E:
).