Automatically generate the DLL dependencies of the MSYS2 UQM build for installation and uninstallation
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# Autogenerated by proppkgs.sh
|
# Autogenerated by procpkgs.sh
|
||||||
#
|
#
|
||||||
!define PKG_CONTENT_FILE "uqm-0.8.0-content.uqm"
|
!define PKG_CONTENT_FILE "uqm-0.8.0-content.uqm"
|
||||||
!define PKG_CONTENT_MD5SUM "6cbc9d51fa63e07c0f4d1d061136d816"
|
!define PKG_CONTENT_MD5SUM "6cbc9d51fa63e07c0f4d1d061136d816"
|
||||||
|
|||||||
@@ -9,8 +9,14 @@
|
|||||||
#
|
#
|
||||||
# The awk, md5sum, and wc utilities must be installed, but MSYS2
|
# The awk, md5sum, and wc utilities must be installed, but MSYS2
|
||||||
# should generally already have those in your path.
|
# should generally already have those in your path.
|
||||||
|
#
|
||||||
|
# The ntldd utility must also be installed and generally will NOT be
|
||||||
|
# installed by default. "pacboy sync ntldd" in a MinGW environment should
|
||||||
|
# install the correct version.
|
||||||
|
|
||||||
NSH_FILE="packages.nsh"
|
NSH_FILE="packages.nsh"
|
||||||
|
INST_FILE="dlls.nsi"
|
||||||
|
UNINST_FILE="un$INST_FILE"
|
||||||
PKG_VERSION="0.8.0"
|
PKG_VERSION="0.8.0"
|
||||||
|
|
||||||
CONTENT_PKG="uqm-$PKG_VERSION-content.uqm"
|
CONTENT_PKG="uqm-$PKG_VERSION-content.uqm"
|
||||||
@@ -20,6 +26,8 @@ REMIX1_PKG="uqm-remix-disc1.uqm"
|
|||||||
REMIX2_PKG="uqm-remix-disc2.uqm"
|
REMIX2_PKG="uqm-remix-disc2.uqm"
|
||||||
REMIX3_PKG="uqm-remix-disc3.uqm"
|
REMIX3_PKG="uqm-remix-disc3.uqm"
|
||||||
REMIX4_PKG="uqm-remix-disc4.uqm"
|
REMIX4_PKG="uqm-remix-disc4.uqm"
|
||||||
|
UQM_EXE="uqm.exe"
|
||||||
|
KEYJAM_EXE="keyjam.exe"
|
||||||
|
|
||||||
check_pkg() {
|
check_pkg() {
|
||||||
if [ ! -f "$1" ]; then
|
if [ ! -f "$1" ]; then
|
||||||
@@ -47,8 +55,9 @@ check_pkg $REMIX1_PKG
|
|||||||
check_pkg $REMIX2_PKG
|
check_pkg $REMIX2_PKG
|
||||||
check_pkg $REMIX3_PKG
|
check_pkg $REMIX3_PKG
|
||||||
check_pkg $REMIX4_PKG
|
check_pkg $REMIX4_PKG
|
||||||
|
check_pkg $UQM_EXE
|
||||||
|
|
||||||
echo "# Autogenerated by proppkgs.sh" > $NSH_FILE
|
echo "# Autogenerated by procpkgs.sh" > $NSH_FILE
|
||||||
echo "#" >> $NSH_FILE
|
echo "#" >> $NSH_FILE
|
||||||
process_pkg $CONTENT_PKG PKG_CONTENT
|
process_pkg $CONTENT_PKG PKG_CONTENT
|
||||||
process_pkg $MUSIC_PKG PKG_3DOMUSIC
|
process_pkg $MUSIC_PKG PKG_3DOMUSIC
|
||||||
@@ -59,3 +68,29 @@ process_pkg $REMIX3_PKG PKG_REMIX3
|
|||||||
process_pkg $REMIX4_PKG PKG_REMIX4
|
process_pkg $REMIX4_PKG PKG_REMIX4
|
||||||
|
|
||||||
echo All packages processed. ${NSH_FILE} generated.
|
echo All packages processed. ${NSH_FILE} generated.
|
||||||
|
|
||||||
|
echo "# Autogenerated by procpkgs.sh" > $INST_FILE
|
||||||
|
echo "#" >> $INST_FILE
|
||||||
|
echo "# Autogenerated by procpkgs.sh" > $UNINST_FILE
|
||||||
|
echo "#" >> $UNINST_FILE
|
||||||
|
echo " File \"$UQM_EXE\"" >> $INST_FILE
|
||||||
|
echo " File \"$KEYJAM_EXE\"" >> $INST_FILE
|
||||||
|
echo " Delete \"\$INSTDIR\\$UQM_EXE\"" >> $UNINST_FILE
|
||||||
|
echo " Delete \"\$INSTDIR\\$KEYJAM_EXE\"" >> $UNINST_FILE
|
||||||
|
|
||||||
|
echo "Processing $UQM_EXE..."
|
||||||
|
DLLS=$(ntldd -R "$UQM_EXE" | awk '/\\bin\\/{print $3;}')
|
||||||
|
echo "Processing $KEYJAM_EXE..."
|
||||||
|
DLLS2=$(ntldd -R "$KEYJAM_EXE" | awk '/\\bin\\/{print $3;}')
|
||||||
|
DLLS="$DLLS $DLLS2"
|
||||||
|
rm -f "$INST_FILE.tmp" "$UNINST_FILE.tmp"
|
||||||
|
touch "$INST_FILE.tmp" "$UNINST_FILE.tmp"
|
||||||
|
for dll in $DLLS; do
|
||||||
|
echo " File \"$dll\"" >> $INST_FILE.tmp
|
||||||
|
echo " Delete \"\$INSTDIR\\$(basename $dll)\"" >> $UNINST_FILE.tmp
|
||||||
|
done
|
||||||
|
sort -u < "$INST_FILE.tmp" >> $INST_FILE
|
||||||
|
sort -u < "$UNINST_FILE.tmp" >> $UNINST_FILE
|
||||||
|
rm -f "$INST_FILE.tmp" "$UNINST_FILE.tmp"
|
||||||
|
|
||||||
|
echo "Executable processed. $INST_FILE and $UNINST_FILE generated."
|
||||||
|
|||||||
@@ -238,22 +238,12 @@ SectionGroup "!UQM" SECGRP01
|
|||||||
SetOverwrite try
|
SetOverwrite try
|
||||||
File "AUTHORS.txt"
|
File "AUTHORS.txt"
|
||||||
File "COPYING.txt"
|
File "COPYING.txt"
|
||||||
File "libpng12-0.dll"
|
|
||||||
File "Manual.txt"
|
File "Manual.txt"
|
||||||
File "ogg.dll"
|
|
||||||
File "OpenAL32.dll"
|
|
||||||
File "wrap_oal.dll"
|
|
||||||
File "README.txt"
|
File "README.txt"
|
||||||
File "README-SDL.txt"
|
File "README-SDL.txt"
|
||||||
File "SDL.dll"
|
|
||||||
File "SDL_image.dll"
|
|
||||||
File "SDL_gfx.dll"
|
|
||||||
File "uqm.exe"
|
|
||||||
File "keyjam.exe"
|
|
||||||
File "vorbis.dll"
|
|
||||||
File "vorbisfile.dll"
|
|
||||||
File "WhatsNew.txt"
|
File "WhatsNew.txt"
|
||||||
File "zlib1.dll"
|
!include "dlls.nsi"
|
||||||
|
|
||||||
SetOutPath $UQMUSERDATA
|
SetOutPath $UQMUSERDATA
|
||||||
SetOverwrite try
|
SetOverwrite try
|
||||||
File "uqm-pc.cfg"
|
File "uqm-pc.cfg"
|
||||||
@@ -522,6 +512,8 @@ Section Uninstall
|
|||||||
Delete "$INSTDIR\AUTHORS.txt"
|
Delete "$INSTDIR\AUTHORS.txt"
|
||||||
Delete "$INSTDIR\stderr.txt"
|
Delete "$INSTDIR\stderr.txt"
|
||||||
|
|
||||||
|
!include "undlls.nsi"
|
||||||
|
|
||||||
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
|
Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
|
||||||
Delete "$SMPROGRAMS\$ICONS_GROUP\Options Configuration.lnk"
|
Delete "$SMPROGRAMS\$ICONS_GROUP\Options Configuration.lnk"
|
||||||
Delete "$SMPROGRAMS\$ICONS_GROUP\Key Configuration.lnk"
|
Delete "$SMPROGRAMS\$ICONS_GROUP\Key Configuration.lnk"
|
||||||
|
|||||||
Reference in New Issue
Block a user