I have a rpm spec file which produces a rpm named cdplayer-1.10.x86_64.rpm. The rpm on target machines (rpm -ivh cdplayer-1.10.x86_64.rpm --nodeps)creates a directory "/opt/cd-player/" and put all files in it. What I need is when user runs rpm command on target m/c then it should check if directory exists and if yes then create different directory "/opt/cd-player_2/" and install files there otherwise install as "/opt/cd-player/". If we run one more then it should create "/opt/cd-player_3/".
Spec file:
BuildArch: x86_64 Prefix: /opt code_root=/home/user/ %install rm -rf $RPM_BUILD_ROOT vds_root=$RPM_BUILD_ROOT/opt/cd-player cp $code_root/abc $vds_root/abc %files %defattr(-,root,root) /opt/cd-player %pre count=`rpm -qa | grep cd-player | wc -l` name=`rpm -qa | grep cd-player` if [ $count -gt 0 ]; then echo echo "Error: $name is already installed!!!" echo exit 1 fi How can i create a directory before installing and extract rpm there ?