Mantis - cas_preserveconf
Viewing Issue Advanced Details
3873 regular use minor always 2009-08-31 18:26 2011-09-07 02:39
maciej  
 
normal  
closed  
fixed  
none    
none  
0003873: Package removal cswcpsampleconf failure mode
The configuration removal script assumes that the *.CSW configuration file is there on the disk. The file might be gone if there was a previous, unsuccessful attempt of package removal, which failed at the postremove stage. In this case, all the files are gone (foo.conf.CSW file is not there), but the class script will be executed again at the next attempt to remove the package. It's going to look for the .CSW file and fail.
Issue History
2009-08-31 18:26 maciej New Issue
2009-09-16 19:14 bonivart Note Added: 0006705
2009-10-28 16:56 bonivart Note Added: 0006907
2010-11-28 14:08 bwalton Project cswclassutils => cas_cpsampleconf
2011-09-07 02:37 bwalton Project cas_cpsampleconf => cas_preserveconf
2011-09-07 02:39 bwalton Note Added: 0009253
2011-09-07 02:39 bwalton Status new => closed
2011-09-07 02:39 bwalton Resolution open => fixed

Notes
(0006705)
bonivart   
2009-09-16 19:14   
Example (from Trygve):

The following package is currently installed:
   CSWosshclient openssh_client - OpenSSH Secure Shell client
                  (i386) 5.2,REV=2009.06.30_rev=p1

Do you want to remove this package? [y,n,?,q] y

## Removing installed package instance <CSWosshclient>
## Verifying package <CSWosshclient> dependencies in global zone
WARNING:
    The <CSWgit> package depends on the package currently
    being removed.
WARNING:
    The <CSWossh> package depends on the package currently
    being removed.
Dependency checking failed.

Do you want to continue with the removal of this package [y,n,?,q] y
## Processing package information.
## Removing pathnames in class <cswpreserveconf>
cmp: cannot open /opt/csw/etc/ssh/ssh_config.CSW
preserving /opt/csw/etc/ssh/ssh_config to /etc/opt/csw/preserve/CSWosshclient/ssh_config
rm: /opt/csw/etc/ssh/ssh_config.CSW: No such file or directory
pkgrm: ERROR: class action script did not complete successfully
 ## Removing pathnames in class <none>
/opt/csw/share/man/man8/ssh-keysign.8
/opt/csw/share/man/man5/ssh_config.5
/opt/csw/share/man/man1/ssh.1
/opt/csw/share/man/man1/ssh-keyscan.1
/opt/csw/share/man/man1/ssh-keygen.1
/opt/csw/share/man/man1/ssh-agent.1
/opt/csw/share/man/man1/ssh-add.1
/opt/csw/share/man/man1/slogin.1
/opt/csw/share/man/man1/sftp.1
/opt/csw/share/man/man1/scp.1
/opt/csw/share/doc/openssh_client/changelog.CSW
/opt/csw/share/doc/openssh_client/WARNING.RNG
/opt/csw/share/doc/openssh_client/TODO
/opt/csw/share/doc/openssh_client/README.tun
/opt/csw/share/doc/openssh_client/README.smartcard
/opt/csw/share/doc/openssh_client/README.privsep
/opt/csw/share/doc/openssh_client/README.platform
/opt/csw/share/doc/openssh_client/README.dns
/opt/csw/share/doc/openssh_client/README
/opt/csw/share/doc/openssh_client/OVERVIEW
/opt/csw/share/doc/openssh_client/LICENCE
/opt/csw/share/doc/openssh_client/INSTALL
/opt/csw/share/doc/openssh_client/ChangeLog.gssapi
/opt/csw/share/doc/openssh_client/ChangeLog
/opt/csw/share/doc/openssh_client/CREDITS
/opt/csw/share/doc/openssh_client
/opt/csw/libexec/ssh-keysign
/opt/csw/libexec <shared pathname not removed>
/opt/csw/bin/ssh-keyscan
/opt/csw/bin/ssh-keygen
/opt/csw/bin/ssh-agent
/opt/csw/bin/ssh-add
/opt/csw/bin/ssh
/opt/csw/bin/slogin
/opt/csw/bin/sftp
/opt/csw/bin/scp

Removal of <CSWosshclient> partially failed.
Installing CSWosshclient-5.2,REV=2009.07.25_rev=p1

Processing package instance <CSWosshclient> from </var/opt/csw/pkgutil/packages/openssh_client-5.2,REV=2009.07.25_rev=p1-SunOS5.8-i386-CSW.pkg>

openssh_client - OpenSSH Secure Shell client(i386) 5.2,REV=2009.07.25_rev=p1

Current administration requires that a unique instance of the
<CSWosshclient> package be created. However, the maximum number of
instances of the package which may be supported at one time on the
same system has already been met.

No changes were made to the system.
(0006907)
bonivart   
2009-10-28 16:56   
I have added -f to the rm commands. It's a dirty fix but it makes for a successful exit of pkgrm in these cases. A nicer fix would be to properly check for the existence of both files and act accordingly but I don't have the time right now, I want to release a new version of cswclassutils containing other stuff as well. I will keep this open so I (or Phil?) can fix it better next time.
(0009253)
bwalton   
2011-09-07 02:39   
This change was released a long time ago.