############################################################################## # This optional file "builder-targets-cb.sh" will be called by builder.sh # # The targets will be called from thde opsi-builder using the following # order: config, prepare, retrieve, create, package, publish, commit, cleanup # You can overwrite the target functions in builder-targets-cb.sh # # You can define callback functions. The functions are called from # opsi-builder within processing a target # cb_package_makeproductfile # # You can use every variable defined in any configuration file or by # the defined builder script itself. Also, calling the predefined # targets builder_ is possible. # # Abstract: # target order: config, prepare, retrieve, create, package, publish, commit, cleanup # callbacks: # ############################################################################## function cleanup() { echo "Cleanup" builder_cleanup } function create() { echo "Create" builder_create echo "" >$INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old ################################################### # VC 2005 ################################################### extract_file msi-a $INST_DIR/Temp/x86/2005/vcredist.msi $INST_DIR/x86/2005 extract_file msi-a $INST_DIR/Temp/x64/2005/vcredist.msi $INST_DIR/x64/2005 # Space in filepath not handled correctly by cygpath so copy th a dir witout spaces cp $INST_DIR/x86/2005/Program\ Files/Common\ Files/Microsoft\ Shared/VC/msdia80.dll $INST_DIR/Temp/msdia80_x86.dll get_file_ver vc2005ver_x86 $INST_DIR/Temp/msdia80_x86.dll cp $INST_DIR/x64/2005/Program\ Files/Common\ Files/Microsoft\ Shared/VC/amd64/msdia80.dll $INST_DIR/Temp/msdia80_x64.dll get_file_ver vc2005ver_x64 $INST_DIR/Temp/msdia80_x64.dll echo "msvc 2005 x86 $vc2005ver_x86" echo "msvc 2005 x64 $vc2005ver_x64" echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old ################################################### # VC 2008 ################################################### cp $PRODUCT_DIR/cscripts/vc2k8_slim.vbs $INST_DIR/Temp/x86/2008/ pushd $INST_DIR/Temp/x86/2008/ cscript vc2k8_slim.vbs popd extract_file msi-a $INST_DIR/Temp/x86/2008/vc_red.msi $INST_DIR/x86/2008 rm -f $INST_DIR/Temp/x86/2008/*{msi,cab} mv $INST_DIR/Temp/x86/2008/* $INST_DIR/x86/2008 rm -f $INST_DIR/x86/2008/*.cab mv $INST_DIR/x86/2008/VC_RED.MSI $INST_DIR/x86/2008/vc_red.msi cp $PRODUCT_DIR/cscripts/vc2k8_slim.vbs $INST_DIR/Temp/x64/2008/ pushd $INST_DIR/Temp/x64/2008/ cscript vc2k8_slim.vbs popd extract_file msi-a $INST_DIR/Temp/x64/2008/vc_red.msi $INST_DIR/x64/2008 rm -f $INST_DIR/Temp/x64/2008/*{msi,cab} mv $INST_DIR/Temp/x64/2008/* $INST_DIR/x64/2008 rm -f $INST_DIR/x64/2008/*.cab mv $INST_DIR/x64/2008/VC_RED.MSI $INST_DIR/x64/2008/vc_red.msi # Space in filepath not handled correctly by cygpath so copy th a dir witout spaces cp $INST_DIR/x86/2008/Program\ Files/Common\ Files/Microsoft\ Shared/VC/msdia90.dll $INST_DIR/Temp/msdia90_x86.dll get_file_ver vc2008ver_x86 $INST_DIR/Temp/msdia90_x86.dll cp $INST_DIR/x64/2008/Program\ Files\(64\)/Common\ Files/Microsoft\ Shared/VC/msdia90.dll $INST_DIR/Temp/msdia90_x64.dll get_file_ver vc2008ver_x64 $INST_DIR/Temp/msdia90_x64.dll echo "msvc 2008 x86 $vc2008ver_x86" echo "msvc 2008 x64 $vc2008ver_x64" echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old ################################################### # VC 2010 ################################################### # cp $PRODUCT_DIR/cscripts/vc2k10_slim.vbs $INST_DIR/Temp/x86/2010/ # pushd $INST_DIR/Temp/x86/2010/ # cscript vc2k10_slim.vbs # popd extract_file msi-a $INST_DIR/Temp/x86/2010/vc_red.msi $INST_DIR/x86/2010 rm -f $INST_DIR/x86/2010/*.cab mv $INST_DIR/x86/2010/VC_RED.MSI $INST_DIR/x86/2010/vc_red.msi # rm -f $INST_DIR/Temp/x86/2010/*{msi,cab,msp} mv -f $INST_DIR/Temp/x86/2010/* $INST_DIR/x86/2010 # cp $PRODUCT_DIR/cscripts/vc2k10_slim.vbs $INST_DIR/Temp/x64/2010/ # pushd $INST_DIR/Temp/x64/2010/ # cscript vc2k10_slim.vbs # popd extract_file msi-a $INST_DIR/Temp/x64/2010/vc_red.msi $INST_DIR/x64/2010 rm -f $INST_DIR/x64/2010/*.cab mv $INST_DIR/x64/2010/VC_RED.MSI $INST_DIR/x64/2010/vc_red.msi # rm -f $INST_DIR/Temp/x64/2010/*{msi,cab,msp} mv -f $INST_DIR/Temp/x64/2010/* $INST_DIR/x64/2010 # Space in filepath not handled correctly by cygpath so copy th a dir witout spaces cp $INST_DIR/x86/2010/Program\ Files/Microsoft\ Visual\ Studio\ 10.0/Common\ Files/Microsoft\ Shared/VC/msdia100.dll $INST_DIR/Temp/msdia100_x86.dll get_file_ver vc2010ver_x86 $INST_DIR/Temp/msdia100_x86.dll cp $INST_DIR/x64/2010/Program\ Files\(64\)/Microsoft\ Visual\ Studio\ 10.0/Common\ Files/Microsoft\ Shared/VC/msdia100.dll $INST_DIR/Temp/msdia100_x64.dll get_file_ver vc2010ver_x64 $INST_DIR/Temp/msdia100_x64.dll rm -rf $INST_DIR/x86/2010/{Program*,Win} rm -rf $INST_DIR/x64/2010/{Program*,Win} echo "msvc 2010 x86 $vc2010ver_x86" echo "msvc 2010 x64 $vc2010ver_x64" echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old ################################################### # VC 2012 ################################################### mkdir -p $INST_DIR/x86/2012/ mkdir -p $INST_DIR/x64/2012/ cp $INST_DIR/Temp/x86/2012/vcredist2012_x86.exe $INST_DIR/x86/2012/ cp $INST_DIR/Temp/x64/2012/vcredist2012_x64.exe $INST_DIR/x64/2012/ extract_file cab-sfx $INST_DIR/Temp/x86/2012/vcredist2012_x86.exe $INST_DIR/Temp/x86/2012/ extract_file cab-sfx $INST_DIR/Temp/x64/2012/vcredist2012_x64.exe $INST_DIR/Temp/x64/2012/ extract_file msi-a $INST_DIR/Temp/x86/2012/packages/vcRuntimeMinimum_x86/vc_runtimeMinimum_x86.msi $INST_DIR/Temp/x86/2012 extract_file msi-a $INST_DIR/Temp/x64/2012/packages/vcRuntimeMinimum_amd64/vc_runtimeMinimum_x64.msi $INST_DIR/Temp/x64/2012 get_file_ver vc2012ver_atl_x86 $INST_DIR/Temp/x86/2012/Win/System/atl110.dll get_file_ver vc2012ver_atl_x64 $INST_DIR/Temp/x64/2012/Win/System64/atl110.dll echo "msvc 2012 x86 $vc2010ver_atl_x86" echo "msvc 2012 x64 $vc2010ver_atl_x64" echo "" >> $INST_DIR/package.old echo "\" value=\"6.0.6002.0\" />" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "\" value=\"6.0.6002.0\" />" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old ################################################### # VC 2013 ################################################### mkdir -p $INST_DIR/x86/2013/ mkdir -p $INST_DIR/x64/2013/ cp $INST_DIR/Temp/x86/2013/vcredist2013_x86.exe $INST_DIR/x86/2013/ cp $INST_DIR/Temp/x64/2013/vcredist2013_x64.exe $INST_DIR/x64/2013/ extract_file cab-sfx $INST_DIR/Temp/x86/2013/vcredist2013_x86.exe $INST_DIR/Temp/x86/2013/ extract_file cab-sfx $INST_DIR/Temp/x64/2013/vcredist2013_x64.exe $INST_DIR/Temp/x64/2013/ extract_file msi-a $INST_DIR/Temp/x86/2013/packages/vcRuntimeMinimum_x86/vc_runtimeMinimum_x86.msi $INST_DIR/Temp/x86/2013 extract_file msi-a $INST_DIR/Temp/x64/2013/packages/vcRuntimeMinimum_amd64/vc_runtimeMinimum_x64.msi $INST_DIR/Temp/x64/2013 get_file_ver vc2013ver_msvcp_x86 $INST_DIR/Temp/x86/2013/System/msvcp120.dll get_file_ver vc2013ver_msvcp_x64 $INST_DIR/Temp/x64/2013/System64/msvcp120.dll echo "msvc 2013 x86 $vc2013ver_msvcp_x86" echo "msvc 2013 x64 $vc2013ver_msvcp_x64" echo "" >> $INST_DIR/package.old echo "\" value=\"6.1.7600.0\" />" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "\" value=\"6.1.7600.0\" />" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old ################################################### # Package.xml end and cleanup ################################################### echo "" >> $INST_DIR/package.old echo "" >> $INST_DIR/package.old tidy_xml $INST_DIR/package.old $INST_DIR/package.xml rm $INST_DIR/package.old # exit 1 }