Make apt-cache depends only recurse over preferred alternative












2















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)?










share|improve this question



























    2















    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)?










    share|improve this question

























      2












      2








      2


      0






      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)?










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked May 29 '17 at 17:38









      HurzelchenHurzelchen

      1516




      1516






















          1 Answer
          1






          active

          oldest

          votes


















          1














          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 )






          share|improve this answer























            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
            });


            }
            });














            draft saved

            draft discarded


















            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









            1














            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 )






            share|improve this answer




























              1














              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 )






              share|improve this answer


























                1












                1








                1







                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 )






                share|improve this answer













                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 )







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Feb 20 at 21:36









                OctetzOctetz

                111




                111






























                    draft saved

                    draft discarded




















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

                    is 'sed' thread safe

                    How to make a Squid Proxy server?