나는 원해요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
편의상 그대로 두겠습니다.)