387 lines
24 KiB
Bash
387 lines
24 KiB
Bash
##############################################################################
|
|
# 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_<targetname> is possible.
|
|
#
|
|
# Abstract:
|
|
# target order: config, prepare, retrieve, create, package, publish, commit, cleanup
|
|
# callbacks: <none>
|
|
#
|
|
##############################################################################
|
|
|
|
function cleanup() {
|
|
echo "Cleanup"
|
|
builder_cleanup
|
|
}
|
|
|
|
|
|
function retrieve() {
|
|
echo "Retrieve"
|
|
# work around big file download for verison change
|
|
local olddir=`echo $DIST_CACHE_DIR | sed -e "s/\/[^\/]*$//"`
|
|
echo $olddir
|
|
mv $olddir/${PN}-* tempsereby
|
|
mv tempsereby $DIST_CACHE_DIR
|
|
builder_retrieve
|
|
}
|
|
|
|
write_svcpack_file() {
|
|
local control_file=$1
|
|
local control_section=$2
|
|
local control_option=$3
|
|
local control_value=$4
|
|
|
|
sed -i -e "/^\[$control_section\]/,/^\[.*\]/ s|^\($control_option[ \t]*=[ \t]*\).*$|\1$control_value|" "$control_file"
|
|
}
|
|
|
|
|
|
patch_package_xml() {
|
|
local xml_file=$1
|
|
local xml_path=$2
|
|
local xml_value=$3
|
|
|
|
mv ${xml_file} ${xml_file}.old
|
|
cat ${xml_file}.old | tidy -utf8 -xml -w 255 -i -c -q -asxml | xmlstarlet ed -O -u "${xml_path}" -v "${xml_value}" | sed -e 's!>!>!g' -e 's!<!<!g' > ${xml_file}
|
|
rm ${xml_file}.old
|
|
}
|
|
|
|
tidy_xml() {
|
|
local xml_file=$1
|
|
local xml_path=$2
|
|
local xml_value=$3
|
|
|
|
echo ${xml_file}
|
|
mv ${xml_file} ${xml_file}.old
|
|
cat ${xml_file}.old | tidy -utf8 -xml -w 255 -i -c -q -asxml | sed -e 's!>!>!g' -e 's!<!<!g' > ${xml_file}
|
|
rm ${xml_file}.old
|
|
}
|
|
|
|
|
|
function create() {
|
|
echo "Create"
|
|
builder_create
|
|
|
|
# ==========================================================================================================
|
|
# create directories and extract the runtime packages
|
|
# ==========================================================================================================
|
|
|
|
mkdir -p $INST_DIR/CLIENT_DATA/{Install/Packages/BasicRuntimes,Install/Packages/Air,Config}
|
|
mkdir -p $INST_DIR/CLIENT_DATA/UnInstall/Packages/{Flash,Shockwave,Silverlight}
|
|
7z x -o$INST_DIR/CLIENT_DATA/Install $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/aio-runtimes.exe
|
|
|
|
# ==========================================================================================================
|
|
# sed everything to disabled
|
|
# ==========================================================================================================
|
|
|
|
sed -e "s!\"1\"!\"0\"!g" -e "s!maximized=\"0\"!maximized=\"1\"!" $INST_DIR/CLIENT_DATA/X86/sereby/WinPKG.xml > $INST_DIR/CLIENT_DATA/Config/WinPKG.xml
|
|
|
|
# ==========================================================================================================
|
|
# extract .net 8.0 & 8.1 now so the unix2dos dont change the extracted files
|
|
# ==========================================================================================================
|
|
|
|
mkdir -p $INST_DIR/CLIENT_DATA/X86/win8xdotnet35
|
|
7z x -o$INST_DIR/CLIENT_DATA/X86/win8xdotnet35 $INST_DIR/CLIENT_DATA/X86/${DL_FILE[6]}
|
|
7z x -y -o$INST_DIR/CLIENT_DATA/X86/win8xdotnet35 $INST_DIR/CLIENT_DATA/X86/${DL_FILE[7]}
|
|
# move the Windows 8 dotnet 2 - 3.5 in place
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/win8xdotnet35/sources/sxs $INST_DIR/CLIENT_DATA/Install/NET/WIN8.X
|
|
|
|
# ==========================================================================================================
|
|
# extract Ricktendo AIO now so the unix2dos dont change the extracted files
|
|
# ==========================================================================================================
|
|
|
|
mkdir -p $INST_DIR/CLIENT_DATA/X86/Ricktendo
|
|
7z x -o$INST_DIR/CLIENT_DATA/X86/Ricktendo $INST_DIR/CLIENT_DATA/X86/${DL_FILE[18]}
|
|
|
|
# ==========================================================================================================
|
|
# Integrate .net for win 8.0 into winpkg
|
|
# ==========================================================================================================
|
|
|
|
for NETVER in 2.0 3.0 3.5
|
|
do
|
|
# convert all the cmd's to axept check entities
|
|
sed '/_Install.bat/ s/\/>/>\n\t\t<\/cmd>/' -i $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
sed '/NET Framework/ s/\/>/>\n\t\t<\/cmd>/' -i $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
# force a check on os verison for every cmd command
|
|
sed 's/.*\t<\/cmd>.*/\t\t<check type="os" condition="<" value="6.2.9200.0" \/>\n&/' -i $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
# remove the installer and package end tags
|
|
sed -e '/^\t<\/install>/d' -i $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
sed -e '/^<\/package>/d' -i $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
|
|
# append the win 8.x install cmd via a cmd script that runs it
|
|
echo "<cmd path=\"_Install8X.bat\" >" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
echo "<check type=\"os\" condition=\">\" value=\"6.2.9200.0\" />" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
echo "</cmd>" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
|
|
# add back the install and package end tags
|
|
echo "</install>" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
echo "</package>" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
tidy_xml $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/package.xml
|
|
|
|
# create the needed install cmd script for win 8.x
|
|
echo "@echo off" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/_Install8X.bat
|
|
echo "SET NETDIR=%~dp0" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/_Install8X.bat
|
|
echo "cd %NETDIR%\.." >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/_Install8X.bat
|
|
echo "SET NETPARENTDIR=%cd%" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/_Install8X.bat
|
|
echo "echo Installing .NET Framwork $NETVER" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/_Install8X.bat
|
|
echo "dism /online /enable-feature /featurename:NetFx3 /All /Source:%NETPARENTDIR%\WIN8.X /LimitAccess" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/_Install8X.bat
|
|
echo "" >> $INST_DIR/CLIENT_DATA/Install/NET/$NETVER/_Install8X.bat
|
|
done
|
|
|
|
# ==========================================================================================================
|
|
# Replace the General Runtimes with the Msi version off GeosOne
|
|
# ==========================================================================================================
|
|
|
|
if [ "$GENERALUPDATE" = "1" ]; then
|
|
rm -rf $INST_DIR/CLIENT_DATA/Install/Packages/BasicRuntimes
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/Basic $INST_DIR/CLIENT_DATA/Install/Packages/BasicRuntimes/
|
|
fi
|
|
|
|
# ==========================================================================================================
|
|
# integrate Adobe AIR
|
|
# ==========================================================================================================
|
|
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/air_${AIRVERSION}_win.exe $INST_DIR/CLIENT_DATA/Install/Packages/Air/air4-0_win.exe
|
|
mv -v $INST_DIR/CLIENT_DATA/AdobeAIR_package.xml $INST_DIR/CLIENT_DATA/Install/Packages/Air/package.xml
|
|
mv -v $INST_DIR/CLIENT_DATA/AdobeAIR_7zip_config.txt $INST_DIR/CLIENT_DATA/Install/Packages/Air/7zip_config.txt
|
|
sed 's/.*<\/settings>.*/\t<set component="AdobeAir" checked="0" \/>\n&/' -i $INST_DIR/CLIENT_DATA/Config/WinPKG.xml
|
|
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Air/package.xml "/package/check[@type='file']/@value" "${AIRVERSION}"
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Air/package.xml "/package[@id='AdobeAir']/@name" "Adobe AIR v${AIRVERSION}"
|
|
|
|
|
|
# Adobe AIR Installer not working very good from network share so create a sfx file that places the installer into a temp and let it run locally
|
|
7z a $INST_DIR/CLIENT_DATA/Install/Packages/Air/AdobeAIR.7z $INST_DIR/CLIENT_DATA/Install/Packages/Air/air4-0_win.exe
|
|
cat $INST_DIR/CLIENT_DATA/X86/7ZipSFX/7zsd_All.sfx $INST_DIR/CLIENT_DATA/Install/Packages/Air/7zip_config.txt $INST_DIR/CLIENT_DATA/Install/Packages/Air/AdobeAIR.7z > $INST_DIR/CLIENT_DATA/Install/Packages/Air/AdobeAIR.exe
|
|
rm $INST_DIR/CLIENT_DATA/Install/Packages/Air/air4-0_win.exe $INST_DIR/CLIENT_DATA/Install/Packages/Air/7zip_config.txt $INST_DIR/CLIENT_DATA/Install/Packages/Air/AdobeAIR.7z
|
|
|
|
# ==========================================================================================================
|
|
# Update Java
|
|
# ==========================================================================================================
|
|
|
|
if [ "$JREUPDATE" = "1" ]; then
|
|
rm -rf $INST_DIR/CLIENT_DATA/Install/Packages/JRE/*/jre.exe
|
|
mv $INST_DIR/CLIENT_DATA/X86/jre7u${JREUVERSION}-x86.exe $INST_DIR/CLIENT_DATA/Install/Packages/JRE/x86/jre.exe
|
|
mv $INST_DIR/CLIENT_DATA/X86/jre7u${JREUVERSION}-x64.exe $INST_DIR/CLIENT_DATA/Install/Packages/JRE/x64/jre.exe
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/JRE/package.xml "/package/variable[@name='NAME']/@value" "Java Runtime Environment 7 Update ${JREUVERSION}"
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/JRE/package.xml "/package/variable[@name='BUILD']/@value" "${JREVERSION}"
|
|
fi
|
|
sed "s!/s!/s REBOOT=Suppress!" -i $INST_DIR/CLIENT_DATA/Install/Packages/JRE/package.xml
|
|
|
|
# ==========================================================================================================
|
|
# Update Flash
|
|
# ==========================================================================================================
|
|
|
|
if [ "$FLASHUPDATE" = "1" ]; then
|
|
rm -f $INST_DIR/CLIENT_DATA/Install/Packages/Flash/*.exe
|
|
mv $INST_DIR/CLIENT_DATA/X86/install_flash_player-${FLASHVERSION}.exe $INST_DIR/CLIENT_DATA/Install/Packages/Flash/install_flash_player.exe
|
|
mv $INST_DIR/CLIENT_DATA/X86/install_flash_player_ax-${FLASHAXVERSION}.exe $INST_DIR/CLIENT_DATA/Install/Packages/Flash/install_flash_player_ax.exe
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Flash/package.xml "/package/variable[@name='VERSION']/@value" "${FLASHVERSION}"
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Flash/package.xml "/package/variable[@name='VERSION_FILE']/@value" "${FLASHVERSION//./_}"
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Flash/package.xml "/package/variable[@name='VERSION_FILE_AX']/@value" "${FLASHAXVERSION//./_}"
|
|
fi
|
|
# sed force update on flash
|
|
sed -e "s!-install!-force -install!" -i $INST_DIR/CLIENT_DATA/Install/Packages/Flash/package.xml
|
|
|
|
# ==========================================================================================================
|
|
# Update Shockwave
|
|
# ==========================================================================================================
|
|
|
|
sed 's!<install>!<install>' -i $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave/package.xml
|
|
sed 's/.*<install>.*/\t<variable name="VERSION_FILE" value="1204144" \/>\n&/' -i $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave/package.xml
|
|
sed "s!SwHelper_.*\.exe!SwHelper_%VERSION_FILE%.exe!" -i $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave/package.xml
|
|
|
|
if [ "$SHOCKUPDATE" = "1" ]; then
|
|
rm -f $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave/*.msi
|
|
mv $INST_DIR/CLIENT_DATA/X86/sw_lic_full_installer-${SHOCKVERSION}.msi $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave/sw_lic_full_installer.msi
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave/package.xml "/package/variable[@name='VERSION_FILE']/@value" "${SHOCKVERSION//./}"
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Shockwave/package.xml "/package[@id='AdobeShock']/@name" "Adobe Shockwave Player v${SHOCKVERSION}"
|
|
fi
|
|
|
|
# ==========================================================================================================
|
|
# Update Silverlight
|
|
# ==========================================================================================================
|
|
|
|
if [ "$SILVERUPDATE" = "1" ]; then
|
|
rm -f $INST_DIR/CLIENT_DATA/Install/Packages/Silverlight/*.exe
|
|
mv $INST_DIR/CLIENT_DATA/X86/Silverlight-${SILVERVERSION}.exe $INST_DIR/CLIENT_DATA/Install/Packages/Silverlight/Silverlight.exe
|
|
mv $INST_DIR/CLIENT_DATA/X86/Silverlight_x64-${SILVERVERSION}.exe $INST_DIR/CLIENT_DATA/Install/Packages/Silverlight/Silverlight_x64.exe
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Silverlight/package.xml "/package/variable[@name='NAME']/@value" "Microsoft Silverlight v${SILVERVERSION}"
|
|
patch_package_xml $INST_DIR/CLIENT_DATA/Install/Packages/Silverlight/package.xml "/package/variable[@name='VERSION']/@value" "${SILVERVERSION}"
|
|
fi
|
|
|
|
# ==========================================================================================================
|
|
# Update J Sharp and add F Sharp
|
|
# ==========================================================================================================
|
|
|
|
if [ "$RICKTENDOJSHARPUPDATE" = "1" ]; then
|
|
rm -rf $INST_DIR/CLIENT_DATA/Install/Packages/jsredist
|
|
mv $INST_DIR/CLIENT_DATA/X86/Ricktendo/vjsharp $INST_DIR/CLIENT_DATA/Install/Packages/jsredist/
|
|
mv -v $INST_DIR/CLIENT_DATA/Ricktendo_JS_package.xml $INST_DIR/CLIENT_DATA/Install/Packages/jsredist/package.xml
|
|
else
|
|
rm $INST_DIR/CLIENT_DATA/Ricktendo_JS_package.xml
|
|
fi
|
|
|
|
mv $INST_DIR/CLIENT_DATA/X86/Ricktendo/fsharp $INST_DIR/CLIENT_DATA/Install/Packages/fsredist/
|
|
mv -v $INST_DIR/CLIENT_DATA/Ricktendo_FS_package.xml $INST_DIR/CLIENT_DATA/Install/Packages/fsredist/package.xml
|
|
sed 's/.*<\/settings>.*/\t<set component="msfsharp" checked="0" \/>\n&/' -i $INST_DIR/CLIENT_DATA/Config/WinPKG.xml
|
|
|
|
# ==========================================================================================================
|
|
# Update .NET 4.0 & 4.5.1 with Ricktendo
|
|
# ==========================================================================================================
|
|
|
|
if [ "$RICKTENDONET40UPDATE" = "1" ]; then
|
|
rm -rf $INST_DIR/CLIENT_DATA/Install/NET/4.0/*
|
|
7z x -o$INST_DIR/CLIENT_DATA/Install/NET/4.0 $INST_DIR/CLIENT_DATA/X86/${DL_FILE[19]}
|
|
#7z x -y -o$INST_DIR/CLIENT_DATA/Install/NET/4.0 $INST_DIR/CLIENT_DATA/X86/${DL_FILE[20]}
|
|
mv -v $INST_DIR/CLIENT_DATA/Ricktendo_NET40_package.xml $INST_DIR/CLIENT_DATA/Install/NET/4.0/package.xml
|
|
else
|
|
rm $INST_DIR/CLIENT_DATA/Ricktendo_NET40_package.xml
|
|
fi
|
|
|
|
if [ "$RICKTENDONET45UPDATE" = "1" ]; then
|
|
rm -rf $INST_DIR/CLIENT_DATA/Install/NET/4.5.1/*
|
|
7z x -o$INST_DIR/CLIENT_DATA/Install/NET/4.5.1 $INST_DIR/CLIENT_DATA/X86/${DL_FILE[21]}
|
|
#7z x -y -o$INST_DIR/CLIENT_DATA/Install/NET/4.5.1 $INST_DIR/CLIENT_DATA/X86/${DL_FILE[22]}
|
|
mv -v $INST_DIR/CLIENT_DATA/Ricktendo_NET45_package.xml $INST_DIR/CLIENT_DATA/Install/NET/4.5.1/package.xml
|
|
else
|
|
rm $INST_DIR/CLIENT_DATA/Ricktendo_NET45_package.xml
|
|
fi
|
|
|
|
# ==========================================================================================================
|
|
# Update MSVC
|
|
# ==========================================================================================================
|
|
|
|
if [ "$MSVCUPDATE" = "1" ]; then
|
|
rm -rf $INST_DIR/CLIENT_DATA/Install/Packages/MSVC
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/MSVC $INST_DIR/CLIENT_DATA/Install/Packages/MSVC
|
|
fi
|
|
|
|
# ==========================================================================================================
|
|
# move the uninstallers in place (directory layout like the sereby package)
|
|
# ==========================================================================================================
|
|
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/JavaRa $INST_DIR/CLIENT_DATA/UnInstall/Packages/JRE
|
|
mv -v $INST_DIR/CLIENT_DATA/JavaUninstallScript.vbs $INST_DIR/CLIENT_DATA/UnInstall/Packages/JRE
|
|
mv -v $INST_DIR/CLIENT_DATA/CleanSilverlight.cmd $INST_DIR/CLIENT_DATA/UnInstall/Packages/Silverlight
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/dotnet $INST_DIR/CLIENT_DATA/UnInstall/NET
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/uninstall_flash_player-${FLASHVERSION}.exe $INST_DIR/CLIENT_DATA/UnInstall/Packages/Flash/uninstall_flash_player.exe
|
|
mv -v $INST_DIR/CLIENT_DATA/X86/uninstall_shock_player-${SHOCKVERSION}.exe $INST_DIR/CLIENT_DATA/UnInstall/Packages/Shockwave/uninstall_shock_player.exe
|
|
|
|
# ==========================================================================================================
|
|
# move the opsi wrapper to the right dir (close the error window if nothing needs to be done)
|
|
# ==========================================================================================================
|
|
|
|
mv -v $INST_DIR/CLIENT_DATA/opsi-WinPKG.exe $INST_DIR/CLIENT_DATA/Install/
|
|
|
|
# ==========================================================================================================
|
|
# Correct linefeed in config
|
|
# ==========================================================================================================
|
|
|
|
tidy_xml $INST_DIR/CLIENT_DATA/Config/WinPKG.xml
|
|
unix2dos $INST_DIR/CLIENT_DATA/Config/WinPKG.xml
|
|
|
|
# ==========================================================================================================
|
|
# Create a new sereby aio pack
|
|
# ==========================================================================================================
|
|
|
|
if [ "$CREATENEWSEREBY" = "1" ]; then
|
|
sed -e "s!\"0\"!\"1\"!g" $INST_DIR/CLIENT_DATA/Config/WinPKG.xml > $INST_DIR/CLIENT_DATA/X86/sereby/WinPKG.xml
|
|
7z a $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/aio-runtimes.7z $INST_DIR/CLIENT_DATA/Install/*
|
|
mv -v $INST_DIR/CLIENT_DATA/AIO_7zip_config.txt $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/7zip_config.txt
|
|
cat $INST_DIR/CLIENT_DATA/X86/7ZipSFX/7zsd_All.sfx $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/7zip_config.txt $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/aio-runtimes.7z > $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/aio-runtimes.exe
|
|
rm $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/7zip_config.txt $INST_DIR/CLIENT_DATA/X86/sereby/svcpack/aio-runtimes.7z
|
|
SVCDATE=`date +"%d.%m.%Y"`
|
|
write_svcpack_file $INST_DIR/CLIENT_DATA/X86/sereby/entries_AiORuntimes.ini "general" "version" "${VERSION}"
|
|
write_svcpack_file $INST_DIR/CLIENT_DATA/X86/sereby/entries_AiORuntimes.ini "general" "builddate" "${SVCDATE}"
|
|
write_svcpack_file $INST_DIR/CLIENT_DATA/X86/sereby/entries_AiORuntimes.ini "general" "title" "Sereby's AiO Runtimes ( http://www.sereby.org ) with Geos One's Mods"
|
|
write_svcpack_file $INST_DIR/CLIENT_DATA/X86/sereby/entries_AiORuntimes.ini "general" "website" "http://opsi.disconnected-by-peer.at"
|
|
unix2dos $INST_DIR/CLIENT_DATA/X86/sereby/entries_AiORuntimes.ini
|
|
mkdir -p $OPSI_REPOS_PRODUCT_DIR
|
|
7z a $OPSI_REPOS_PRODUCT_DIR/$OPSI_REPOS_FILE_PATTERN.7z $INST_DIR/CLIENT_DATA/X86/sereby/*
|
|
fi
|
|
|
|
# ==========================================================================================================
|
|
# correct sereby .net 3.5 for opsi use
|
|
# ==========================================================================================================
|
|
|
|
# Serby and its hacks workaround (sereby pack wants to copy a file on install but thats not possible on a readonly device in opsi
|
|
# move the combined x86/x64 to a common name
|
|
mv $INST_DIR/CLIENT_DATA/Install/NET/3.5 $INST_DIR/CLIENT_DATA/Install/NET/35
|
|
# recreate the new dir
|
|
mkdir -p $INST_DIR/CLIENT_DATA/Install/NET/3.5
|
|
# move the common dir to the x86 name under the new dir
|
|
mv $INST_DIR/CLIENT_DATA/Install/NET/35 $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86
|
|
# remove the copy from the install.bat
|
|
sed -e '/^copy/d' -i $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86/_Install.bat
|
|
# move the package.xml un dir up
|
|
mv $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86/package.xml $INST_DIR/CLIENT_DATA/Install/NET/3.5
|
|
# now link copy the x86 dir to x64
|
|
cp -al $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86 $INST_DIR/CLIENT_DATA/Install/NET/3.5/x64
|
|
# do the copy for x86 (seded away erlyer)
|
|
mv $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86/vs_setup_x86.msi $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86/vs_setup.msi
|
|
mv $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86/setup_x86.sdb $INST_DIR/CLIENT_DATA/Install/NET/3.5/x86/setup.sdb
|
|
# do the copy for x64 (seded away erlyer)
|
|
mv $INST_DIR/CLIENT_DATA/Install/NET/3.5/x64/vs_setup_x64.msi $INST_DIR/CLIENT_DATA/Install/NET/3.5/x64/vs_setup.msi
|
|
mv $INST_DIR/CLIENT_DATA/Install/NET/3.5/x64/setup_x64.sdb $INST_DIR/CLIENT_DATA/Install/NET/3.5/x64/setup.sdb
|
|
# create a new install.bat that calls the right setup from the right dir
|
|
echo "@echo off" >> $INST_DIR/CLIENT_DATA/Install/NET/3.5/_Install.bat
|
|
echo "set arch=%1" >> $INST_DIR/CLIENT_DATA/Install/NET/3.5/_Install.bat
|
|
echo "call %~dp0\%arch%\_Install.bat" >> $INST_DIR/CLIENT_DATA/Install/NET/3.5/_Install.bat
|
|
echo "" >> $INST_DIR/CLIENT_DATA/Install/NET/3.5/_Install.bat
|
|
|
|
# ==========================================================================================================
|
|
# Disable Java Update check
|
|
# ==========================================================================================================
|
|
|
|
echo "@echo off" >> $INST_DIR/CLIENT_DATA/Install/Packages/JRE/disable.bat
|
|
echo "if exist \"%PROGRAMFILES%\Java\jre7\bin\jqs.exe\" \"%PROGRAMFILES%\Java\jre7\bin\jqs.exe\" -unregister" >> $INST_DIR/CLIENT_DATA/Install/Packages/JRE/disable.bat
|
|
echo "if exist \"%PROGRAMFILES(x86)%\Java\jre7\bin\jqs.exe\" \"%PROGRAMFILES(x86)%\Java\jre7\bin\jqs.exe\" -unregister" >> $INST_DIR/CLIENT_DATA/Install/Packages/JRE/disable.bat
|
|
|
|
echo "REG DELETE HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v SunJavaUpdateSched /f" >> $INST_DIR/CLIENT_DATA/Install/Packages/JRE/disable.bat
|
|
echo "REG DELETE HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run /v SunJavaUpdateSched /f" >> $INST_DIR/CLIENT_DATA/Install/Packages/JRE/disable.bat
|
|
echo "verify" >> $INST_DIR/CLIENT_DATA/Install/Packages/JRE/disable.bat
|
|
|
|
echo "" >> $INST_DIR/CLIENT_DATA/Install/Packages/JRE/disable.bat
|
|
sed 's/.*<\/install>.*/\t\t<cmd path="disable.bat" name="Disable Java Update Check " \/>\n&/' -i $INST_DIR/CLIENT_DATA/Install/Packages/JRE/package.xml
|
|
tidy_xml $INST_DIR/CLIENT_DATA/Install/Packages/JRE/package.xml
|
|
|
|
# ==========================================================================================================
|
|
# Disable Flash Update Check
|
|
# ==========================================================================================================
|
|
|
|
mv -v $INST_DIR/CLIENT_DATA/AdobeFlash_mms.cfg $INST_DIR/CLIENT_DATA/Install/Packages/Flash/mms.cfg
|
|
sed 's/.*<\/install>.*/\t\t<cmd path="disable32.bat" name="Disable Flash Update Check x86" arch="x86" >\n<check type="file" condition="notexist" path="%Windir%\\system32\\Macromed\\Flash\\NPSWF32_%VERSION_FILE%.dll" arch="x86" \/>\n<\/cmd>\n&/' -i $INST_DIR/CLIENT_DATA/Install/Packages/Flash/package.xml
|
|
sed 's/.*<\/install>.*/\t\t<cmd path="disable64.bat" name="Disable Flash Update Check x64" arch="x64" >\n<check type="file" condition="notexist" path="%Windir%\\SysWOW64\\Macromed\\Flash\\NPSWF32_%VERSION_FILE%.dll" arch="x64" \/>\n<\/cmd>\n&/' -i $INST_DIR/CLIENT_DATA/Install/Packages/Flash/package.xml
|
|
echo "@echo off" >> $INST_DIR/CLIENT_DATA/Install/Packages/Flash/disable32.bat
|
|
echo "copy /y /v \"%~dp0mms.cfg\" \"%WINDIR%\system32\Macromed\Flash\mms.cfg\"" >> $INST_DIR/CLIENT_DATA/Install/Packages/Flash/disable32.bat
|
|
echo "" >> $INST_DIR/CLIENT_DATA/Install/Packages/Flash/disable32.bat
|
|
echo "@echo off" >> $INST_DIR/CLIENT_DATA/Install/Packages/Flash/disable64.bat
|
|
echo "copy /y /v \"%~dp0mms.cfg\" \"%WINDIR%\SysWOW64\Macromed\Flash\mms.cfg\"" >> $INST_DIR/CLIENT_DATA/Install/Packages/Flash/disable64.bat
|
|
echo "" >> $INST_DIR/CLIENT_DATA/Install/Packages/Flash/disable64.bat
|
|
tidy_xml $INST_DIR/CLIENT_DATA/Install/Packages/Flash/package.xml
|
|
|
|
# ==========================================================================================================
|
|
# Posthooks: change linefeed, Set exec bit, delete temp
|
|
# ==========================================================================================================
|
|
|
|
find $INST_DIR/CLIENT_DATA -name *.bat -print0 | xargs -0 unix2dos
|
|
find $INST_DIR/CLIENT_DATA -name package.xml -print0 | xargs -0 unix2dos
|
|
|
|
# set exec bit on executeables
|
|
find $INST_DIR/CLIENT_DATA/Install/ -type f -print0 | xargs -0 chmod +x
|
|
find $INST_DIR/CLIENT_DATA/UnInstall/ -type f -print0 | xargs -0 chmod +x
|
|
find $INST_DIR/CLIENT_DATA -type d -print0 | xargs -0 chmod 755 -v
|
|
|
|
# delete the temp directory
|
|
rm -rf $INST_DIR/CLIENT_DATA/X86
|
|
} |