utah-client postinstall script failure ignored

Bug #1037056 reported by Javier Collado
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
UTAH
Fix Released
Low
Javier Collado

Bug Description

When installing the utah-client package using gdebi, installation errors aren't detected mainly because gdebi return success (0) even when the underlying installation process failed as in the following example:

(Reading database ... 147223 files and directories currently installed.)
Preparing to replace utah-client 0.4ubuntu46-r634~precise1 (using utah-client_0.4ubuntu46-r634~precise1_all.deb) ...
Unpacking replacement utah-client ...
Setting up utah-client (0.4ubuntu46-r634~precise1) ...
dpkg: error processing utah-client (--install):
 subprocess installed post-installation script returned error exit status 6
Errors were encountered while processing:
 utah-client

To detect this situation on the server side, the output from gdebi should be parsed looking for some string (for example, error exist status) and if that pattern is found, then consider the installation as failed.

Related branches

summary: - utah-client post installation failure
+ utah-client installation failure with gdebi ignored
Revision history for this message
Javier Collado (javier.collado) wrote : Re: utah-client installation failure with gdebi ignored

Since the interface in Machine.run states that it returns the output status from the process being call, either that interface has to be updated or the error has to be detected by piping another command. However, with this solution, the real output from the command will be lost and not written to the logs.

Revision history for this message
Javier Collado (javier.collado) wrote :

After some testing, I've seen that gdebi fails when a dependency cannot be found (so it's still a useful command), but it doesn't fail when postinstall scripts fails.

In addition to this, the package is considered to be installed so any call to "apt-cache policy" or a script using python-apt library won't be able to detect the failure.

Hence, it seems that the only solution is to take a look at the command output.

summary: - utah-client installation failure with gdebi ignored
+ utah-client postinstall script failure ignored
Changed in utah:
status: New → Triaged
importance: Undecided → Low
assignee: nobody → Javier Collado (javier.collado)
Changed in utah:
status: Triaged → In Progress
Changed in utah:
status: In Progress → Fix Committed
Changed in utah:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.