首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >apt忽略了提供了等量创建的包的虚拟包。

apt忽略了提供了等量创建的包的虚拟包。
EN

Unix & Linux用户
提问于 2019-01-04 10:52:55
回答 1查看 370关注 0票数 0

我想在我的开发机器上使用安装pdftk安装(多个版本) SDKMAN!。为了实现对default-jre-headless of pdftk-java的依赖,我为equivs-build提供了一个简单的文件:

代码语言:javascript
复制
Section: misc
Priority: optional
Homepage: https://github.com/reitzig/sdkman-equivs
Standards-Version: 3.9.2

Package: sdkman-java-11-open
Maintainer: Raphael Reitzig <4246780+reitzig@users.noreply.github.com>
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!

然后,我将软件包安装在

代码语言:javascript
复制
equivs-build java-11-open
sudo dpkg -i sdkman-java-11-open_1.0_all.deb

似乎已经奏效了:

代码语言:javascript
复制
$ aptitude show default-jre-headless
Package: default-jre-headless            

Provided by: sdkman-java-11-open (1.0)

然而,这种依赖性仍未得到满足:

代码语言:javascript
复制
$ 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也是如此。这是在Ubuntu 18.04上。

我做错了什么?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-01-04 11:01:49

David的pdftk-java包依赖于default-jre-headless (>= 7) | java7-runtime-headless;要满足这个要求,您需要一个带有版本“default-jre-headless”(用于D2)的包,或者一个提供java7-runtime-headless的包。(我认为default-jre-headless上的版本依赖是不正确的;默认的JDK/JRE包是具有一个时代的具体包,因此它们都与此相匹配,而且它们不应该用于强制执行最小版本。)

您应该更改您的equivs文件,以提供与要替换的包相同的虚拟包(openjdk-11-jre-headless等),至少使用:

代码语言:javascript
复制
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-headlessopenjdk-11-jdk-headless包,但为了简单起见,我已经保留了它们。)

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/492446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档