apt는 생성된 패키지와 동일하게 제공되는 가상 패키지를 무시합니다.

apt는 생성된 패키지와 동일하게 제공되는 가상 패키지를 무시합니다.

나는 원해요pdftk 설치내 개발 컴퓨터에는 여러 버전의 Java가 설치되어 있습니다.SDKMAN!. 나의 default-jre-headless의존성을 만족시키기 위해pdftk-java만들어진간단한 파일 equivs-build:

Section: misc
Priority: optional
Homepage: https://github.com/reitzig/sdkman-equivs
Standards-Version: 3.9.2

Package: sdkman-java-11-open
Maintainer: Raphael Reitzig <[email protected]>
Provides: openjdk-11-jre-headless, openjdk-11-jdk-headless, openjdk-11-source, default-jdk-headless, default-jre-headless
Conflicts: openjdk-11-jre-headless, openjdk-11-jdk-headless, openjdk-11-source
Replaces: openjdk-11-jre-headless, openjdk-11-jdk-headless, openjdk-11-source
Architecture: all
Description: Dummy package for OpenJDK 11 installed with SDKMAN!

그런 다음 이 패키지를 설치했습니다.

equivs-build java-11-open
sudo dpkg -i sdkman-java-11-open_1.0_all.deb

효과가 있었던 것 같습니다:

$ aptitude show default-jre-headless
Package: default-jre-headless            
<snip>
Provided by: sdkman-java-11-open (1.0)

그러나 종속성은 여전히 ​​충족되지 않습니다.

$ sudo aptitude update > /dev/null; sudo aptitude install pdftk
The following NEW packages will be installed:
  default-jre-headless{a} java-common{a} libapache-pom-java{a} libbcprov-java{a} libcommons-lang3-java{a} 
  libcommons-parent-java{a} pdftk pdftk-java{a}

와 동일합니다 apt-get. 이것은 우분투 18.04에 있습니다.

내가 뭘 잘못했나요?

답변1

David Foerster의 pdftk-java패키지는 default-jre-headless (>= 7) | java7-runtime-headless이를 만족시키기 위해 다음과 같은 패키지가 필요합니다.버전이 매겨진"offer"(의 경우 default-jre-headless) 또는 제공된 패키지 java7-runtime-headless. (버전 종속성이 default-jre-headless잘못된 것 같습니다. 기본 JDK/JRE 패키지는 시대별 패키지이므로 모두 일치하므로 최소 버전을 적용하는 데 사용하면 안 됩니다.)

equivs교체하려는 패키지(등)과 동일한 가상 패키지를 제공하려면 파일을 변경해야 합니다 openjdk-11-jre-headless. 최소한 다음을 수행하십시오.

Provides: java-runtime-headless, java10-runtime-headless, java11-runtime-headless, java2-runtime-headless, java5-runtime-headless, java6-runtime-headless, java7-runtime-headless, java8-runtime-headless, java9-runtime-headless, openjdk-11-jre-headless, openjdk-11-jdk-headless, openjdk-11-source, default-jdk-headless, default-jre-headless

openjdk-11-jre-headless(특정 콘텐츠 와 패키지를 제공할 필요는 없지만 openjdk-11-jdk-headless편의상 그대로 두겠습니다.)

관련 정보