dpkg: Upgrading depending packages (with the depended on possibly failing)
Clash 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:
dpkg --install A-new.deb
upgrade denied (since B is depending on A)dpkg --install B-new.deb
upgrade denied (since A needs to be upgraded first)dpkg --install A-new.deb B-new.deb
A and B upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B remains the old versiondpkg --install B-new.deb
B is upgraded but in Unpacked state, configuring denied due to the dependencydpkg --install A-new.deb B-new.deb
A and B are upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B stays at the old versiondpkg --install B-new.deb
upgrade denied due to the dependencydpkg --install A-new.deb B-new.deb
A is upgraded, B stays at the old version due to a pre-dependency problemdpkg --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
New contributor
add a comment |Â
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:
dpkg --install A-new.deb
upgrade denied (since B is depending on A)dpkg --install B-new.deb
upgrade denied (since A needs to be upgraded first)dpkg --install A-new.deb B-new.deb
A and B upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B remains the old versiondpkg --install B-new.deb
B is upgraded but in Unpacked state, configuring denied due to the dependencydpkg --install A-new.deb B-new.deb
A and B are upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B stays at the old versiondpkg --install B-new.deb
upgrade denied due to the dependencydpkg --install A-new.deb B-new.deb
A is upgraded, B stays at the old version due to a pre-dependency problemdpkg --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
New contributor
add a comment |Â
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:
dpkg --install A-new.deb
upgrade denied (since B is depending on A)dpkg --install B-new.deb
upgrade denied (since A needs to be upgraded first)dpkg --install A-new.deb B-new.deb
A and B upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B remains the old versiondpkg --install B-new.deb
B is upgraded but in Unpacked state, configuring denied due to the dependencydpkg --install A-new.deb B-new.deb
A and B are upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B stays at the old versiondpkg --install B-new.deb
upgrade denied due to the dependencydpkg --install A-new.deb B-new.deb
A is upgraded, B stays at the old version due to a pre-dependency problemdpkg --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
New contributor
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:
dpkg --install A-new.deb
upgrade denied (since B is depending on A)dpkg --install B-new.deb
upgrade denied (since A needs to be upgraded first)dpkg --install A-new.deb B-new.deb
A and B upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B remains the old versiondpkg --install B-new.deb
B is upgraded but in Unpacked state, configuring denied due to the dependencydpkg --install A-new.deb B-new.deb
A and B are upgradeddpkg --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
dpkg --install A-new.deb
A is upgraded, B stays at the old versiondpkg --install B-new.deb
upgrade denied due to the dependencydpkg --install A-new.deb B-new.deb
A is upgraded, B stays at the old version due to a pre-dependency problemdpkg --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
dpkg dependencies packaging
New contributor
New contributor
New contributor
asked 40 secs ago
Jörg Westheide
11
11
New contributor
New contributor
add a comment |Â
add a comment |Â
active
oldest
votes
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.
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.
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
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
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
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
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