mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-29 02:15:34 +00:00 
			
		
		
		
	RH7/Centos7 and recent versions of fedora relocate `/*bin/*` into `/usr/*bin/`. This causes conflicts for upgrades against xCAT-genesis-scripts-* packages which expect the `/bin` a to be a directory while `xCAT-genesis-base-*` packages provide a link. Relocating all files into `/usr` fixes that conflict and allows a clean upgrade from all old versions.
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| if [ -z "$XCATDEST" ]; then
 | |
| 	XCATDEST=$1
 | |
| fi
 | |
| echo "<xcatrequest>
 | |
| <command>nextdestiny</command>
 | |
| <callback_port>300</callback_port>
 | |
| </xcatrequest>" > /tmp/destreq.xml
 | |
| if [ -f /tmp/destiny.xml ]; then rm /tmp/destiny.xml; fi
 | |
| timer=0
 | |
| while [ ! -f /tmp/destiny.xml ]; do
 | |
| 	while [ $timer -gt 0 ]; do
 | |
| 		echo -en  "No destiny command received, retrying in $timer seconds  \r" >&2
 | |
| 		sleep 1
 | |
| 		timer=$(($timer-1));
 | |
| 	done
 | |
| 	echo "                                                         " >&2;
 | |
| 	if [ -f /etc/xcat/cert.pem -a -f /etc/xcat/certkey.pem ]; then #use client cert if available
 | |
| 		cat /tmp/destreq.xml | openssl s_client -key /etc/xcat/certkey.pem -cert /etc/xcat/cert.pem -connect $XCATDEST -quiet 2> /dev/null > /tmp/destiny.xml
 | |
| 	else
 | |
| 		cat /tmp/destreq.xml | openssl s_client -connect $XCATDEST -quiet 2> /dev/null > /tmp/destiny.xml
 | |
| 	fi
 | |
| 	timer=60
 | |
| done
 | |
| rm /tmp/destreq.xml
 | |
| DESTINY=`grep '<destiny>' /tmp/destiny.xml | awk -F'>' '{print $2}'|awk -F'<' '{print $1}'`
 | |
| if [ -z "$DESTINY" ]; then
 | |
|     ERROR=`grep '<error>' /tmp/destiny.xml | awk -F'>' '{print $2}'|awk -F'<' '{print $1}'`
 | |
|     if [ ! -z "$ERROR" ]; then
 | |
|         DESTINY="error=$ERROR"
 | |
|     else
 | |
|         DESTINY="error=No destiny command received"
 | |
|     fi
 | |
| fi
 | |
| rm /tmp/destiny.xml
 | |
| echo $DESTINY
 |