AIX packaging version error fixup
September 17, 2019/0 Comments/in AIX /by all brokenUID
Error when using: instfix -icq |grep :-:
IJ07677:devices.chrp.base.ServiceRM:2.5.1.20:2.5.1.3:-:SHO PTFs
Opened a Service Call with IBM, and after jumping around a bit discovered the following:
devices.chrp.ServiceRM installed version is 2.5.1.3. This is what it is supposed to be. You can find this with out with: lslpp -ha |grep -p rsct | less. That will list all of the rsct filesets and the versions installed. After working things through with IBM, it was determined that devices.chrp.base.ServiceRM installed version is 2.5.1.3. The older version was 2.5.1.2. However, the ODM has it incorrectly set as 2.5.1.20. So your options are:
Option 2 it is:
Backup ODM
# /usr/lib/instl/saveodms
Then run the following:
# mkdir /tmp/odmfix # cd /tmp/odmfix # ODMDIR=/usr/lib/objrepos odmget -q name=IJ07677 fix > IJ07677 # vi IJ07677
Change this line :
filesets = “devices.chrp.base.ServiceRM:2.5.1.20 \ …to read 2.5.1.2 by deleting to “0”
Save and exit the file
* Delete existing value from ODM:
# ODMDIR=/usr/lib/objrepos odmdelete -q name=IJ07677 -o fix
* Add updated info to ODM:
# ODMDIR=/usr/lib/objrepos odmadd IJ07677
* Confirm APAR is listed as being installed:
# instfix -ik IJ07677
That should report that all filesets for APAR IJ07677 are installed. Additionally, running instfix -icq |grep :-: should NOT show any further issues on IJ07677.
Example of script:
[root@aixb020]/root> cat scripts/repair_chrp.base.ServiceRM.sh
#!/bin/ksh #@(#) v1.0 Update the bad package value into ODM #------------------------------ repair_odm() { mkdir /tmp/odmfix cd /tmp/odmfix ODMDIR=/usr/lib/objrepos odmget -q name=IJ07677 fix > /tmp/odmfix/IJ07677.txt cat /tmp/odmfix/IJ07677.txt | sed 's/:2\.5\.1\.20/:2\.5\.1\.2/' > /tmp/odmfix/IJ07677.txt1 ODMDIR=/usr/lib/objrepos odmdelete -q name=IJ07677 -o fix echo Add updated info to ODM: ODMDIR=/usr/lib/objrepos odmadd /tmp/odmfix/IJ07677.txt1 echo Confirm APAR is listed as being installed: instfix -ik IJ07677 echo OK } ############################# if [[ $(ODMDIR=/usr/lib/objrepos odmget -q name=IJ07677 fix | grep -q '2.5.1.20'; echo $?) -eq "0" ]] then repair_odm else echo "ODM OK, nothing to do" fi