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 폴더에 파일을 복사하는 것도 관리한다는 것을 알 수 있습니다. 그러나 Lin Tian은 여전히 이것을 좋아하지 않았습니다.
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
내 매뉴얼 파일이 잘못된 위치에 있고 바이너리 Electrotest_standalone에 매뉴얼 페이지가 없다고 나와요. 내가 뭘 잘못했나요?
현재 내 매뉴얼 페이지에는 한 문장만 있습니다.
NAME: electrotest_standalone
답변1
매뉴얼 페이지를 다음 위치에 설치해야 합니다.하위 디렉토리의 /usr/share/man
부분에 따라 적절하게 이름을 지정해야 합니다. 귀하의 경우 목표는 /usr/share/man/man1/electrotest_standalone.1
.
바라보다관련 산림 필드 라벨 정보. 로컬에서 실행하여 직접 볼 수 있습니다 lintian -i
. 또한 패키지를 데비안 아카이브에 제출할 계획이 아니라면 모든 Lintian 경고에 신경 쓸 필요는 없습니다. 단지 실제 오류( )가 없는지 확인하세요 E:
.