Make apt-cache depends only recurse over preferred alternative
This is a followup question to my former question apt-rdepends does not show multiarch information.
With that problem solved, I've now encountered the issue that apt-cache
will recurse over all alternatives for a dependency:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-breaks --no-suggests --no-replaces --no-conflicts --no-pre-depends nano
nano
Depends: libc6
Depends: libncursesw5
Depends: libtinfo5
|Depends: dpkg
dpkg:i386
Depends: install-info
install-info:i386
libc6
Depends: libgcc1
libncursesw5
Depends: libtinfo5
Depends: libc6
Recommends: libgpm2
libtinfo5
Depends: libc6
dpkg
dpkg:i386
install-info
Depends: libc6
install-info:i386
Depends: libc6:i386
libgcc1
Depends: gcc-4.9-base
Depends: libc6
libgpm2
Depends: libc6
libc6:i386
Depends: libgcc1:i386
gcc-4.9-base
libgcc1:i386
Depends: gcc-4.9-base:i386
Depends: libc6:i386
gcc-4.9-base:i386
This currently blows up my package list by about 300%.
Any suggestions on how to force it to use only the preferred alternatives (in the example: not the i386 packages)?
apt dependencies
add a comment |
This is a followup question to my former question apt-rdepends does not show multiarch information.
With that problem solved, I've now encountered the issue that apt-cache
will recurse over all alternatives for a dependency:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-breaks --no-suggests --no-replaces --no-conflicts --no-pre-depends nano
nano
Depends: libc6
Depends: libncursesw5
Depends: libtinfo5
|Depends: dpkg
dpkg:i386
Depends: install-info
install-info:i386
libc6
Depends: libgcc1
libncursesw5
Depends: libtinfo5
Depends: libc6
Recommends: libgpm2
libtinfo5
Depends: libc6
dpkg
dpkg:i386
install-info
Depends: libc6
install-info:i386
Depends: libc6:i386
libgcc1
Depends: gcc-4.9-base
Depends: libc6
libgpm2
Depends: libc6
libc6:i386
Depends: libgcc1:i386
gcc-4.9-base
libgcc1:i386
Depends: gcc-4.9-base:i386
Depends: libc6:i386
gcc-4.9-base:i386
This currently blows up my package list by about 300%.
Any suggestions on how to force it to use only the preferred alternatives (in the example: not the i386 packages)?
apt dependencies
add a comment |
This is a followup question to my former question apt-rdepends does not show multiarch information.
With that problem solved, I've now encountered the issue that apt-cache
will recurse over all alternatives for a dependency:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-breaks --no-suggests --no-replaces --no-conflicts --no-pre-depends nano
nano
Depends: libc6
Depends: libncursesw5
Depends: libtinfo5
|Depends: dpkg
dpkg:i386
Depends: install-info
install-info:i386
libc6
Depends: libgcc1
libncursesw5
Depends: libtinfo5
Depends: libc6
Recommends: libgpm2
libtinfo5
Depends: libc6
dpkg
dpkg:i386
install-info
Depends: libc6
install-info:i386
Depends: libc6:i386
libgcc1
Depends: gcc-4.9-base
Depends: libc6
libgpm2
Depends: libc6
libc6:i386
Depends: libgcc1:i386
gcc-4.9-base
libgcc1:i386
Depends: gcc-4.9-base:i386
Depends: libc6:i386
gcc-4.9-base:i386
This currently blows up my package list by about 300%.
Any suggestions on how to force it to use only the preferred alternatives (in the example: not the i386 packages)?
apt dependencies
This is a followup question to my former question apt-rdepends does not show multiarch information.
With that problem solved, I've now encountered the issue that apt-cache
will recurse over all alternatives for a dependency:
$ apt-cache depends --recurse --no-recommends --no-suggests --no-breaks --no-suggests --no-replaces --no-conflicts --no-pre-depends nano
nano
Depends: libc6
Depends: libncursesw5
Depends: libtinfo5
|Depends: dpkg
dpkg:i386
Depends: install-info
install-info:i386
libc6
Depends: libgcc1
libncursesw5
Depends: libtinfo5
Depends: libc6
Recommends: libgpm2
libtinfo5
Depends: libc6
dpkg
dpkg:i386
install-info
Depends: libc6
install-info:i386
Depends: libc6:i386
libgcc1
Depends: gcc-4.9-base
Depends: libc6
libgpm2
Depends: libc6
libc6:i386
Depends: libgcc1:i386
gcc-4.9-base
libgcc1:i386
Depends: gcc-4.9-base:i386
Depends: libc6:i386
gcc-4.9-base:i386
This currently blows up my package list by about 300%.
Any suggestions on how to force it to use only the preferred alternatives (in the example: not the i386 packages)?
apt dependencies
apt dependencies
asked May 29 '17 at 17:38
HurzelchenHurzelchen
1516
1516
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Had the same issue. I found that one can use
-o APT::Cache::ShowOnlyFirstOr=true
which solves a bit of the problem, however not completely - for example when you
have multiarch and the same package is provided in both architectures (i.e not OR but actually two packages that can be used), then you get recursion on both.
I guess I should warn you that this option does not seem to be documented
anywhere. Also, I do not know if the prefered option is always first.
(See how 'ShowOnlyFirstOr' is used in
https://salsa.debian.org/apt-team/apt/blob/master/apt-private/private-depends.cc )
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f367942%2fmake-apt-cache-depends-only-recurse-over-preferred-alternative%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Had the same issue. I found that one can use
-o APT::Cache::ShowOnlyFirstOr=true
which solves a bit of the problem, however not completely - for example when you
have multiarch and the same package is provided in both architectures (i.e not OR but actually two packages that can be used), then you get recursion on both.
I guess I should warn you that this option does not seem to be documented
anywhere. Also, I do not know if the prefered option is always first.
(See how 'ShowOnlyFirstOr' is used in
https://salsa.debian.org/apt-team/apt/blob/master/apt-private/private-depends.cc )
add a comment |
Had the same issue. I found that one can use
-o APT::Cache::ShowOnlyFirstOr=true
which solves a bit of the problem, however not completely - for example when you
have multiarch and the same package is provided in both architectures (i.e not OR but actually two packages that can be used), then you get recursion on both.
I guess I should warn you that this option does not seem to be documented
anywhere. Also, I do not know if the prefered option is always first.
(See how 'ShowOnlyFirstOr' is used in
https://salsa.debian.org/apt-team/apt/blob/master/apt-private/private-depends.cc )
add a comment |
Had the same issue. I found that one can use
-o APT::Cache::ShowOnlyFirstOr=true
which solves a bit of the problem, however not completely - for example when you
have multiarch and the same package is provided in both architectures (i.e not OR but actually two packages that can be used), then you get recursion on both.
I guess I should warn you that this option does not seem to be documented
anywhere. Also, I do not know if the prefered option is always first.
(See how 'ShowOnlyFirstOr' is used in
https://salsa.debian.org/apt-team/apt/blob/master/apt-private/private-depends.cc )
Had the same issue. I found that one can use
-o APT::Cache::ShowOnlyFirstOr=true
which solves a bit of the problem, however not completely - for example when you
have multiarch and the same package is provided in both architectures (i.e not OR but actually two packages that can be used), then you get recursion on both.
I guess I should warn you that this option does not seem to be documented
anywhere. Also, I do not know if the prefered option is always first.
(See how 'ShowOnlyFirstOr' is used in
https://salsa.debian.org/apt-team/apt/blob/master/apt-private/private-depends.cc )
answered Feb 20 at 21:36
OctetzOctetz
111
111
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f367942%2fmake-apt-cache-depends-only-recurse-over-preferred-alternative%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown