debuild lintian 联机帮助页在错误目录中和二进制无联机帮助页

debuild lintian 联机帮助页在错误目录中和二进制无联机帮助页

我正在运行 debuild,lintian 自动发现了联机帮助页中的 2 个错误。

运行 debuild 命令后的项目结构如下所示

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

debuild 使用的 makefile 看起来像这样

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

因此,据我了解,man 文件必须位于 usr/share/man 内。这就是为什么我使用 Makefile 手动创建 ushare/man 文件夹,我可以看到当我运行 debuild 命令时,debuild 创建了这些文件夹,并且cp electrotest_standalone.man \ $(DESTDIR)/usr/share/man/debuild 还设法将该文件复制到 debuild 生成的 man 文件夹中。不过,林天还是不喜欢这样。

当我运行 debuild 时,lintian 显示

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

它说我的 man 文件位置错误,二进制文件 electrotest_standalone 没有任何手册页。我究竟做错了什么?

目前我的手册页只有一句话

NAME: electrotest_standalone

答案1

您的手册页需要安装在子目录of /usr/share/man,具体取决于其部分,并且需要适当命名。在你的情况下,目标应该是/usr/share/man/man1/electrotest_standalone.1.

相关林田标签信息。您可以通过运行在本地自行查看lintian -i。还要注意的是,除非你打算将你的包提交到 Debian 档案馆,否则你不需要关心所有的 lintian 警告;只需确保您没有任何实际错误 ( E:)。

相关内容