dpkg: Upgrading depending packages (with the depended on possibly failing)

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite












I have two packages A and B where B is an optional component that depends on package A and its exact version. Therefore I need to enure that if both packages are installed they are of the same version. To make it a little bit more complicated installation of package A can fail from the preinst script. In this case nothing should be upgraded



So if A and B are installed the desired behavior should be:




  1. dpkg --install A-new.deb

    upgrade denied (since B is depending on A)


  2. dpkg --install B-new.deb

    upgrade denied (since A needs to be upgraded first)


  3. dpkg --install A-new.deb B-new.deb

    A and B upgraded


  4. dpkg --install A-new.deb B-new.deb and upgrading A fails

    Nothing changed (i.e. old version of A and B in Installed state)

What I tried:



Adding A (with version) to B's Depends: line in the control file




  1. dpkg --install A-new.deb

    A is upgraded, B remains the old version


  2. dpkg --install B-new.deb

    B is upgraded but in Unpacked state, configuring denied due to the dependency


  3. dpkg --install A-new.deb B-new.deb

    A and B are upgraded


  4. dpkg --install A-new.deb B-new.deb and upgrading A fails

    A stays at the old version, B is new version in Unpacked state

So only 3. matches the desired behavior



Adding A (with version) to B's Pre-Depends: line in the control file




  1. dpkg --install A-new.deb

    A is upgraded, B stays at the old version


  2. dpkg --install B-new.deb

    upgrade denied due to the dependency


  3. dpkg --install A-new.deb B-new.deb

    A is upgraded, B stays at the old version due to a pre-dependency problem


  4. dpkg --install A-new.deb B-new.deb and upgrading A fails

    Nothing changed (i.e. old version of A and B in Installed state)

Here only 2. and 4. match the desired behavior



How can I get the desired behavior?









share







New contributor




Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.























    up vote
    0
    down vote

    favorite












    I have two packages A and B where B is an optional component that depends on package A and its exact version. Therefore I need to enure that if both packages are installed they are of the same version. To make it a little bit more complicated installation of package A can fail from the preinst script. In this case nothing should be upgraded



    So if A and B are installed the desired behavior should be:




    1. dpkg --install A-new.deb

      upgrade denied (since B is depending on A)


    2. dpkg --install B-new.deb

      upgrade denied (since A needs to be upgraded first)


    3. dpkg --install A-new.deb B-new.deb

      A and B upgraded


    4. dpkg --install A-new.deb B-new.deb and upgrading A fails

      Nothing changed (i.e. old version of A and B in Installed state)

    What I tried:



    Adding A (with version) to B's Depends: line in the control file




    1. dpkg --install A-new.deb

      A is upgraded, B remains the old version


    2. dpkg --install B-new.deb

      B is upgraded but in Unpacked state, configuring denied due to the dependency


    3. dpkg --install A-new.deb B-new.deb

      A and B are upgraded


    4. dpkg --install A-new.deb B-new.deb and upgrading A fails

      A stays at the old version, B is new version in Unpacked state

    So only 3. matches the desired behavior



    Adding A (with version) to B's Pre-Depends: line in the control file




    1. dpkg --install A-new.deb

      A is upgraded, B stays at the old version


    2. dpkg --install B-new.deb

      upgrade denied due to the dependency


    3. dpkg --install A-new.deb B-new.deb

      A is upgraded, B stays at the old version due to a pre-dependency problem


    4. dpkg --install A-new.deb B-new.deb and upgrading A fails

      Nothing changed (i.e. old version of A and B in Installed state)

    Here only 2. and 4. match the desired behavior



    How can I get the desired behavior?









    share







    New contributor




    Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I have two packages A and B where B is an optional component that depends on package A and its exact version. Therefore I need to enure that if both packages are installed they are of the same version. To make it a little bit more complicated installation of package A can fail from the preinst script. In this case nothing should be upgraded



      So if A and B are installed the desired behavior should be:




      1. dpkg --install A-new.deb

        upgrade denied (since B is depending on A)


      2. dpkg --install B-new.deb

        upgrade denied (since A needs to be upgraded first)


      3. dpkg --install A-new.deb B-new.deb

        A and B upgraded


      4. dpkg --install A-new.deb B-new.deb and upgrading A fails

        Nothing changed (i.e. old version of A and B in Installed state)

      What I tried:



      Adding A (with version) to B's Depends: line in the control file




      1. dpkg --install A-new.deb

        A is upgraded, B remains the old version


      2. dpkg --install B-new.deb

        B is upgraded but in Unpacked state, configuring denied due to the dependency


      3. dpkg --install A-new.deb B-new.deb

        A and B are upgraded


      4. dpkg --install A-new.deb B-new.deb and upgrading A fails

        A stays at the old version, B is new version in Unpacked state

      So only 3. matches the desired behavior



      Adding A (with version) to B's Pre-Depends: line in the control file




      1. dpkg --install A-new.deb

        A is upgraded, B stays at the old version


      2. dpkg --install B-new.deb

        upgrade denied due to the dependency


      3. dpkg --install A-new.deb B-new.deb

        A is upgraded, B stays at the old version due to a pre-dependency problem


      4. dpkg --install A-new.deb B-new.deb and upgrading A fails

        Nothing changed (i.e. old version of A and B in Installed state)

      Here only 2. and 4. match the desired behavior



      How can I get the desired behavior?









      share







      New contributor




      Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      I have two packages A and B where B is an optional component that depends on package A and its exact version. Therefore I need to enure that if both packages are installed they are of the same version. To make it a little bit more complicated installation of package A can fail from the preinst script. In this case nothing should be upgraded



      So if A and B are installed the desired behavior should be:




      1. dpkg --install A-new.deb

        upgrade denied (since B is depending on A)


      2. dpkg --install B-new.deb

        upgrade denied (since A needs to be upgraded first)


      3. dpkg --install A-new.deb B-new.deb

        A and B upgraded


      4. dpkg --install A-new.deb B-new.deb and upgrading A fails

        Nothing changed (i.e. old version of A and B in Installed state)

      What I tried:



      Adding A (with version) to B's Depends: line in the control file




      1. dpkg --install A-new.deb

        A is upgraded, B remains the old version


      2. dpkg --install B-new.deb

        B is upgraded but in Unpacked state, configuring denied due to the dependency


      3. dpkg --install A-new.deb B-new.deb

        A and B are upgraded


      4. dpkg --install A-new.deb B-new.deb and upgrading A fails

        A stays at the old version, B is new version in Unpacked state

      So only 3. matches the desired behavior



      Adding A (with version) to B's Pre-Depends: line in the control file




      1. dpkg --install A-new.deb

        A is upgraded, B stays at the old version


      2. dpkg --install B-new.deb

        upgrade denied due to the dependency


      3. dpkg --install A-new.deb B-new.deb

        A is upgraded, B stays at the old version due to a pre-dependency problem


      4. dpkg --install A-new.deb B-new.deb and upgrading A fails

        Nothing changed (i.e. old version of A and B in Installed state)

      Here only 2. and 4. match the desired behavior



      How can I get the desired behavior?







      dpkg dependencies packaging





      share







      New contributor




      Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 40 secs ago









      Jörg Westheide

      11




      11




      New contributor




      Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Jörg Westheide is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.

























          active

          oldest

          votes











          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',
          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
          );



          );






          Jörg Westheide is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f479994%2fdpkg-upgrading-depending-packages-with-the-depended-on-possibly-failing%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Jörg Westheide is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          Jörg Westheide is a new contributor. Be nice, and check out our Code of Conduct.












          Jörg Westheide is a new contributor. Be nice, and check out our Code of Conduct.











          Jörg Westheide is a new contributor. Be nice, and check out our Code of Conduct.













           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f479994%2fdpkg-upgrading-depending-packages-with-the-depended-on-possibly-failing%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?