![autotools automake를 사용하여 데비안을 패키징할 때 라이센스 파일을 제거하는 방법은 무엇입니까?](https://linux55.com/image/79907/autotools%20automake%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8D%B0%EB%B9%84%EC%95%88%EC%9D%84%20%ED%8C%A8%ED%82%A4%EC%A7%95%ED%95%A0%20%EB%95%8C%20%EB%9D%BC%EC%9D%B4%EC%84%BC%EC%8A%A4%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%A0%9C%EA%B1%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 Debian 패키지에서 lintian 오류가 발생합니다.
Rhythmbox-plugin-alternative-toolbar: 추가 라이센스 파일 usr/lib/rhythmbox/plugins/alternative-toolbar/LICENSE
이는 소스 코드에 LICENSE 파일이 포함되어 있고 데비안 패키징 규칙에 따라 모든 라이선스 정보는 패키지의 저작권 파일 내에 있어야 하기 때문입니다.
나는 autotools automake를 사용하여 빌드하고 있습니다. 내 데비안/규칙은 다음과 같습니다:
#!/usr/bin/make -f /usr/share/cdbs/1/rules/autoreconf.mk를 포함합니다. /usr/share/cdbs/1/rules/debhelper.mk를 포함합니다. /usr/share/cdbs/1/rules/utils.mk를 포함합니다. /usr/share/cdbs/1/class/gnome.mk 포함 /usr/share/gnome-pkg-tools/1/rules/uploaders.mk를 포함합니다. /usr/share/gnome-pkg-tools/1/rules/gnome-version.mk를 포함합니다. -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk DEB_DH_AUTORECONF_ARGS := --주문형./autogen.sh # 제거된 모든 파일을 나열합니다. 범용 바이너리 설치 후 아키텍처::목록 누락
내 초기 생각은 라이센스 파일을 제거하기 위해 규칙에 override_dh_auto_install 문을 포함하는 것이었지만 현재 규칙의 맨 아래에 다음을 추가하면 이것이 무시되거나 작동하지 않는 것 같습니다.
override_dh_auto_install: 찾다. - 이름 "라이센스" - 삭제됨 dh_자동 설치
그래서 제 질문은 - 데비안 패키지를 빌드할 때 LICENSE 파일을 어떻게 제거합니까?입니다.
참고 - 일종의 재정의를 통해 Lintian 오류를 인위적으로 숨기고 싶지 않습니다. 빌드된 패키지에 추가 라이센스 파일이 포함되어 있지 않은지 확인하고 싶습니다.
답변1
이 질문은 약 2년 전에도 답변이 없었습니다. 그래서 최근에 찾은 해결방법을 포스팅하겠습니다.
파일 삭제뒤쪽에부르다dh_자동 설치:
override_dh_auto_install:
dh_auto_install
find ./debian -type f -name "LICENSE" -delete
또는 파일이 준비된 후 패키지가 빌드되기 전에 호출되는 다른 지시문을 재정의합니다. 먼저 재정의하여 수행한 방법은 다음과 같습니다.dh_md5sums지시하다:
override_dh_md5sums:
find ./debian/<package_name> -type f -name "LICENSE.txt" -delete
dh_md5sums
다른 사람을 압도하다DH_지시문도 작동할 수 있습니다.