diff --git a/wine-2.0.tar.bz2 b/wine-2.0.tar.bz2 deleted file mode 100644 index fbc5437..0000000 --- a/wine-2.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:9756f5a2129b6a83ba701e546173cbff86caa671b0af73eb8f72c03b20c066c6 -size 23662707 diff --git a/wine-2.0.tar.bz2.sign b/wine-2.0.tar.bz2.sign deleted file mode 100644 index a81e72f..0000000 --- a/wine-2.0.tar.bz2.sign +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAliHtsUACgkQzvrI6q8X -UZ2Q1Q/5AY9GJXhOhDf3ZU7eDNnEyr3YJVoK7Y6ixaQu8ttXikkDGwyLV79av4IE -sBwib1b3dnR9cj1YejFFeoSIaQYq/LCjVXt7Bi7S9W7ZezDvz+MH9ZmTj56FgaVi -+DAZRe6O6Ze9Fbs9qRoQ1rRl26oRLu0LRybyM3ELKLf4cI792JTScT05bJnnMaoK -wRtUf9IL2m0Wfi/d0arI+Y8ppXNLvdGUDrQlOgXcftkz/GAI9r/CqYYUMgdh6+Oz -9QKsmdWw7aG1Ycyg8ftJSIqciY4+WGdaO7aUKRbygk0bsDiExmmev13KVh/Z1rPD -EVKSD/vJ687z5UCwLVxybKz38cM8+wpSDyAOIYLTYO4C5MTQDSV2oUINzbgY7tNE -/N2ddsDw09YBsbG1ocozawd6MHWMBbFe/oabA0Jtwu/jwXTQisga0OoSgbS3h/Rn -iDpb8T9TzzCM0VGrDbJ99QTu9kv+pc8fBgtQ7yM+akNYhs1osqeb+EL0sbkv/4k9 -Xew9kJFuV5x9t3sg6a4eyrCzh7G9TrDRViWMmK46ZDbRSnNof3sDwFQcPzNmy6+H -vlsj2u7EHLB4tQ7MJ5A6nPuBuToO4PXcXrDVwKR8NcQrUOLL/5mmaTzErAEsZ9al -TsdBdpwo6p1/gVu7RCD2hBdbtGvG09St/A+NTZPtBHVbD68P/YY= -=PKbg ------END PGP SIGNATURE----- diff --git a/wine-2.1.tar.xz b/wine-2.1.tar.xz new file mode 100644 index 0000000..7325e61 --- /dev/null +++ b/wine-2.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bfb9abf63691c93df28d9599aaa866dc2b4e27209b3b7b546df8a37d7d9d1e6e +size 18887032 diff --git a/wine-2.1.tar.xz.sign b/wine-2.1.tar.xz.sign new file mode 100644 index 0000000..a7c00d3 --- /dev/null +++ b/wine-2.1.tar.xz.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAliU2mkACgkQzvrI6q8X +UZ1J4Q//ZAOxc5/l0dLTGL+T5vCCt5MA3karsVXMeLex6LhJ5ZA9vQX7TzMHISWO +WrE6MsZEECYzqkxOcy3dqdX2FTSvEnAHu22MkVoP3rwXqBTcvtYA53wlAiiBEvrG +QPADJTDnukesG0f7+KCSjQ//JA1szLaPW1XQCgcucOj32ssJcIxtTgOPDXGcLpHF +i4BiVKJog3duHpBdcrrljJuTm7ewSIaHar7Ea00FyxwK24dsVJDw6HvFON3fui5m +yRyEbmqchlxnv/vusyWjfEjyEqiBUO9f53yV7AjuqJw3I4H6hktw70Rx37usgzAF +xL/Ft1hLIxXF6FqNuBOR6H2NhutiitYA5hDJ8jjtwNfuCHFmCCvM+xPlDa4V3D9V +rBO4t0hhqEXFHlqIZCmYdxQAFZXaDIVJ09boP8pLyGU7qMFBPaMcTCCd+LpTLJ/V +TPIM5USygJRc0lG9TrCGhDZdrtzDRXjwTIUvNwEDJQknu9PWl7Qh9l7GXgbevXR6 +BJtXatApuhP75PqcMApV6PONtag1OZo9fOuGd8w1cZ6r8D3oWya940HRtgrKJe6X +yClVX3ufi6j8849HHMZrPsYhT8H0u31hMsWO84VpdG0W3/ttIOvFnBoKSGibm+z3 +KCB5F4PTY6CVkDatGNeImPwZC0CQVbVEG54y2s90ClVysmqqokw= +=nCXc +-----END PGP SIGNATURE----- diff --git a/wine.changes b/wine.changes index 39986df..3974dfa 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Sat Feb 4 20:57:03 UTC 2017 - meissner@suse.com + +- Update to 2.1 development snapshot + - Many fixes that were deferred during code freeze. + - More Shader Model 5 instructions. + - A number of improvements to MIME message handling. + - Line breaking improvements in DirectWrite. + - HID bus service now running by default. + - Direct2D rendering improvements. + - Various bug fixes. + - Source release tarballs now use xz compression. +- updated winetricks + ------------------------------------------------------------------- Tue Jan 24 22:44:55 UTC 2017 - meissner@suse.com diff --git a/wine.spec b/wine.spec index 040b27f..3bb227d 100644 --- a/wine.spec +++ b/wine.spec @@ -54,16 +54,16 @@ BuildRequires: update-desktop-files BuildRequires: valgrind-devel BuildRequires: xorg-x11-devel BuildRequires: pkgconfig(libudev) -%define realver 2.0 -Version: 2.0 +%define realver 2.1 +Version: 2.1 Release: 0 Summary: An MS Windows Emulator License: LGPL-2.1+ Group: System/Emulators/PC Url: http://www.winehq.org/ -Source0: http://downloads.sourceforge.net/wine/wine-%{realver}.tar.bz2 +Source0: http://downloads.sourceforge.net/wine/wine-%{realver}.tar.xz Source41: wine.keyring -Source42: http://downloads.sourceforge.net/wine/%{name}-%{realver}.tar.bz2.sign +Source42: http://downloads.sourceforge.net/wine/%{name}-%{realver}.tar.xz.sign Source1: https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks Source11: https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.1 Source2: http://kegel.com/wine/wisotool diff --git a/winetricks b/winetricks index 2ca0051..2b6c0da 100644 --- a/winetricks +++ b/winetricks @@ -642,6 +642,8 @@ w_dotnet_verify() dotnet45) version="4.5" ;; dotnet452) version="4.5.2" ;; dotnet46) version="4.6" ;; + dotnet461) version="4.6.1" ;; + dotnet462) version="4.6.2" ;; *) echo error ; exit 1 ;; esac w_call dotnet_verifier @@ -767,6 +769,8 @@ winetricks_selfupdate_rollback() # Caches downloads in winetrickscache/$packagename w_download_to() { + winetricks_download_setup + _W_packagename="$1" # or path to download file to _W_url="$2" _W_sum="$3" @@ -801,34 +805,6 @@ w_download_to() w_try mkdir -p "$_W_cache" fi - # If WINETRICKS_DOWNLOADER is set, ensure it is to a valid value (aria2c, curl, wget), if not, error. - # If unset, fallback to checking for them in $PATH as before: - - # shellcheck disable=2104 - case "${WINETRICKS_DOWNLOADER}" in - aria2c|curl|wget) : ;; - "") if [ -x "$(which aria2c 2>/dev/null)" ] ; then - WINETRICKS_DOWNLOADER="aria2c" - elif [ -x "$(which wget 2>/dev/null)" ] ; then - WINETRICKS_DOWNLOADER="wget" - elif [ -x "$(which curl 2>/dev/null)" ] ; then - WINETRICKS_DOWNLOADER="curl" - else - w_die "Please install wget or aria2c (or, if those aren't available, curl)" - fi - ;; - *) w_die "Invalid value ${WINETRICKS_DOWNLOADER} given for WINETRICKS_DOWNLOADER. Possible values: aria2c, curl, wget" - - esac - - # FIXME: move these variables and common download options to a global place that can be shared as - # downloaders may be used outside of w_download_to() (e.g., winetricks_stats_report() and winetricks_dl_url_to_stdout()) - # Common values for aria2c/curl/wget - # Connection timeout time (in seconds): - WINETRICKS_DOWNLOADER_TIMEOUT=${WINETRICKS_DOWNLOADER_TIMEOUT:-15} - # Number of retry attempts: - WINETRICKS_DOWNLOADER_RETRIES=${WINETRICKS_DOWNLOADER_RETRIES:-3} - # Try download twice checksum_ok="" tries=0 @@ -887,18 +863,6 @@ w_download_to() *) _W_agent="" ;; esac - case "$WINETRICKS_OPT_TORIFY" in - 1) torify=torify - # torify needs --async-dns=false, see https://github.com/tatsuhiro-t/aria2/issues/613 - aria2c_torify_opts="--async-dns=false" - if [ ! -x "$(which torify 2>/dev/null)" ] - then - w_die "--torify was used, but torify is not installed, please install it." ; exit 1 - fi ;; - *) torify= - aria2c_torify_opts="" ;; - esac - if [ "${WINETRICKS_DOWNLOADER}" = "aria2c" ] then # Note: aria2c wants = for most options or silently fails @@ -911,6 +875,8 @@ w_download_to() # attempt to download everything in that input file again. # --save-session='' if the user has specified save-session in their config, their session will be # ovewritten by the new aria2 process + + # shellcheck disable=SC2086 $torify aria2c \ $aria2c_torify_opts \ --connect-timeout="${WINETRICKS_DOWNLOADER_TIMEOUT}" \ @@ -933,6 +899,7 @@ w_download_to() # [*] --read-timeout is useful on the adobe server that doesn't # close the connection unless you tell it to (control-C or closing # the socket) + # shellcheck disable=SC2086 winetricks_wget_progress \ -O "$_W_file" \ @@ -951,6 +918,7 @@ w_download_to() # curl doesn't get filename from the location given by the server! # fortunately, we know it + # shellcheck disable=SC2086 $torify curl \ --connect-timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \ @@ -2628,14 +2596,59 @@ _EOF_ #---- Private Functions ---- +# Determines downloader to use, etc. +# I.e., things common to w_download_to(), winetricks_download_to_stdout(), and winetricks_stats_report()) +winetricks_download_setup() +{ + # shellcheck disable=SC2104 + case "${WINETRICKS_DOWNLOADER}" in + aria2c|curl|wget) : ;; + "") if [ -x "$(which aria2c 2>/dev/null)" ] ; then + WINETRICKS_DOWNLOADER="aria2c" + elif [ -x "$(which wget 2>/dev/null)" ] ; then + WINETRICKS_DOWNLOADER="wget" + elif [ -x "$(which curl 2>/dev/null)" ] ; then + WINETRICKS_DOWNLOADER="curl" + else + w_die "Please install wget or aria2c (or, if those aren't available, curl)" + fi + ;; + *) w_die "Invalid value ${WINETRICKS_DOWNLOADER} given for WINETRICKS_DOWNLOADER. Possible values: aria2c, curl, wget" + esac + + # Common values for aria2c/curl/wget + # Number of retry attempts: + WINETRICKS_DOWNLOADER_RETRIES=${WINETRICKS_DOWNLOADER_RETRIES:-3} + # Connection timeout time (in seconds): + WINETRICKS_DOWNLOADER_TIMEOUT=${WINETRICKS_DOWNLOADER_TIMEOUT:-15} + + case "$WINETRICKS_OPT_TORIFY" in + 1) torify=torify + # torify needs --async-dns=false, see https://github.com/tatsuhiro-t/aria2/issues/613 + aria2c_torify_opts="--async-dns=false" + if [ ! -x "$(which torify 2>/dev/null)" ] + then + w_die "--torify was used, but torify is not installed, please install it." ; exit 1 + fi ;; + *) torify= + aria2c_torify_opts="" ;; + esac +} + + winetricks_dl_url_to_stdout() { - # FIXME: get common downloader variables supported - # FIXME: --torify support as well + winetricks_download_setup + + # Not using w_try here as it adds extra output, breaking things. + # FIXME: add a w_try_quiet() wrapper around w_try() that doesn't print the + # Executing ... stuff, but still does error checking if [ "${WINETRICKS_DOWNLOADER}" = "wget" ] ; then - w_try wget -q -O - "$1" + $torify wget -q -O - --timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \ + --tries "$WINETRICKS_DOWNLOADER_RETRIES" "$1" elif [ "${WINETRICKS_DOWNLOADER}" = "curl" ] ; then - w_try curl -s "$1" + $torify curl -s --connect-timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \ + --retry "$WINETRICKS_DOWNLOADER_RETRIES" "$1" elif [ "${WINETRICKS_DOWNLOADER}" = "aria2c" ] ; then # aria2c doesn't have support downloading to stdout: # https://github.com/aria2/aria2/issues/190 @@ -2645,7 +2658,8 @@ winetricks_dl_url_to_stdout() if [ -e "${stdout_tmpfile}" ] ; then w_try rm "${stdout_tmpfile}" fi - aria2c \ + $torify aria2c \ + $aria2c_torify_opts \ --continue \ --daemon=false \ --dir="${W_TMP_EARLY}" \ @@ -2655,6 +2669,8 @@ winetricks_dl_url_to_stdout() --out="stdout.tmp" \ --save-session='' \ --stream-piece-selector=geom \ + --connect-timeout="${WINETRICKS_DOWNLOADER_TIMEOUT}" \ + --max-tries="$WINETRICKS_DOWNLOADER_RETRIES" \ "$1" > /dev/null w_try cat "${stdout_tmpfile}" w_try rm "${stdout_tmpfile}" @@ -5999,12 +6015,6 @@ load_dotnet20() # and http://bugs.winehq.org/show_bug.cgi?id=30845#c10 w_set_winver win2k - # FIXME: verify on pristine Windows XP: - if w_workaround_wine_bug 34803 - then - "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f - fi - w_try_cd "$W_CACHE"/"$W_PACKAGE" w_try "$WINE" dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} w_unset_winver @@ -6179,13 +6189,6 @@ load_dotnet20sp2() w_call dotnet20 $WINESERVER -w - # FIXME: verify on pristine Windows XP: - if w_workaround_wine_bug 34803 - then - "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f - fi - $WINESERVER -w - w_try_cd "$W_CACHE/$W_PACKAGE" w_ahk_do " SetTitleMatchMode, 2 @@ -6373,8 +6376,6 @@ load_dotnet35() w_call msxml3 fi - "$WINE" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f - # See also http://blogs.msdn.com/astebner/archive/2008/07/17/8745415.aspx w_try_cd "$W_TMP" w_try_cabextract $W_UNATTENDED_DASH_Q "$W_CACHE"/dotnet35/dotnetfx35.exe @@ -6484,11 +6485,6 @@ load_dotnet40() w_call remove_mono - # Remove Mono registry entry: - "$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f - - w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll" - w_try_cd "$W_CACHE/$W_PACKAGE" WINEDLLOVERRIDES=fusion=b "$WINE" dotNetFx40_Full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} || true @@ -6532,11 +6528,6 @@ load_dotnet45() w_call remove_mono - # Remove Mono registry entry: - "$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f - - w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll" - # See https://appdb.winehq.org/objectManager.php?sClass=version&iId=25478 for Focht's recipe w_call dotnet35 w_call dotnet40 @@ -6591,11 +6582,6 @@ load_dotnet452() w_call remove_mono - # Remove Mono registry entry: - "$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f - - w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll" - # See https://appdb.winehq.org/objectManager.php?sClass=version&iId=25478 for Focht's recipe w_call dotnet35 w_call dotnet40 @@ -6647,11 +6633,6 @@ load_dotnet46() w_call remove_mono - # Remove Mono registry entry: - "$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f - - w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll" - w_call dotnet45 w_set_winver win7 @@ -6679,28 +6660,122 @@ load_dotnet46() #---------------------------------------------------------------- +w_metadata dotnet461 dlls \ + title="MS .NET 4.6.1" \ + publisher="Microsoft" \ + year="2015" \ + media="download" \ + file1="NDP461-KB3102436-x86-x64-AllOS-ENU.exe" \ + conflicts="dotnet20 dotnet20sdk dotnet20sp1 dotnet20sp2 dotnet35sp1 dotnet40 dotnet46 vjrun20" \ + installed_file1="c:/windows/Microsoft.NET/Framework/v4.0.30319/SetupCache/v4.6.01055/1041/SetupResources.dll" + +load_dotnet461() +{ + if [ $W_ARCH = win64 ] + then + w_warn "This package may not work on a 64-bit installation" + fi + + # https://www.microsoft.com/en-au/download/details.aspx?id=49982 + w_download https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe 83d048d171ff44a3cad9b422137656f585295866 + + w_call remove_mono + + w_call dotnet46 + w_set_winver win7 + + w_try_cd "$W_CACHE/$W_PACKAGE" + + WINEDLLOVERRIDES=fusion=b "$WINE" "$file1" ${W_OPT_UNATTENDED:+/q /norestart} + status=$? + + echo "exit status: $status" + + case $status in + 0) ;; + 105) echo "exit status $status - normal, user selected 'restart now'" ;; + 194) echo "exit status $status - normal, user selected 'restart later'" ;; + *) w_die "exit status $status - $W_PACKAGE installation failed" ;; + esac + + w_override_dlls native mscoree +} + +#---------------------------------------------------------------- + +w_metadata dotnet462 dlls \ + title="MS .NET 4.6.2" \ + publisher="Microsoft" \ + year="2016" \ + media="download" \ + conflicts="dotnet20 dotnet20sdk dotnet20sp1 dotnet20sp2 dotnet35sp1 dotnet40 dotnet46 dotnet461 vjrun20" + +load_dotnet462() +{ + if [ $W_ARCH = win64 ] + then + w_warn "This package may not work on a 64-bit installation" + fi + + if w_workaround_wine_bug 42170 "Running un-official repacked .NET 4.6.2 setup until the official version is fixed." + then + # Un-official slim version. See http://repacks.net/forum/viewtopic.php?t=7 + w_download http://repacks.net/uploads/dotNetFx462_Full_x86_x64_Slim.exe 1886c2b3b6eba37fcf79d59c9e5b100930150fda + file_package="dotNetFx462_Full_x86_x64_Slim.exe" + unattended_args="/ai /gm2" + else + # Official version. See https://www.microsoft.com/en-au/download/details.aspx?id=53344 + w_download https://download.microsoft.com/download/F/9/4/F942F07D-F26F-4F30-B4E3-EBD54FABA377/NDP462-KB3151800-x86-x64-AllOS-ENU.exe a70f856bda33d45ad0a8ad035f73092441715431 + file_package="NDP462-KB3151800-x86-x64-AllOS-ENU.exe" + unattended_args="/q /norestart" + fi + + w_call remove_mono + + w_call dotnet461 + w_set_winver win7 + + w_try_cd "$W_CACHE/$W_PACKAGE" + + WINEDLLOVERRIDES=fusion=b "$WINE" "$file_package" ${W_OPT_UNATTENDED:+$unattended_args} + status=$? + + echo "exit status: $status" + + case $status in + 0) ;; + 5) w_die "exit status $status - user selected 'Cancel'" ;; + *) w_die "exit status $status - $W_PACKAGE installation failed" ;; + esac + + w_override_dlls native mscoree +} + +#---------------------------------------------------------------- + w_metadata dotnet_verifier dlls \ title="MS .NET Verifier" \ publisher="Microsoft" \ - year="2012" \ + year="2016" \ media="download" \ - file1="netfx_5F00_setupverifier_5F00_new.zip" \ + file1="netfx_setupverifier_new.zip" \ installed_file1="$W_SYSTEM32_DLLS_WIN/netfx_setupverifier.exe" load_dotnet_verifier() { - # http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx + # https://blogs.msdn.microsoft.com/astebner/2008/10/13/net-framework-setup-verification-tool-users-guide/ # 2013/03/28: sha1sum 0eba832a0733cd47b7639463dd5a22a41e95ee6e # netfx_5F00_setupverifier_5F00_new.zip # 2014/01/23: sha1sum 8818f3460826145e2a66bb91727afa7cd531037b # 2014/11/22: sha1sum 47de0b849c4c3d354df23588c709108e7816d788 # 2015/07/31: sha1sum 32f24526a5716737281dc260451b60a641b23c7e # 2015/12/27: sha1sum b9712da2943e057668f21f68c473657a205c5cb8 # 2016/09/22: name change, to netfx_setupverifier_new_2015_12_18.zip + # 2016/10/26: sha1sum 6eef0158dc637d186d4ab5eb13aee6ef577831b2, adds .NET Framework 4.6.{1,2} support - w_download https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/08/99/90/04/netfx_setupverifier_new_2015_12_18.zip b9712da2943e057668f21f68c473657a205c5cb8 "${file1}" + w_download https://msdnshared.blob.core.windows.net/media/2016/10/netfx_setupverifier_new.zip 6eef0158dc637d186d4ab5eb13aee6ef577831b2 "${file1}" w_try_cd "$W_CACHE/$W_PACKAGE" - w_try_unzip "$W_SYSTEM32_DLLS" netfx_5F00_setupverifier_5F00_new.zip netfx_setupverifier.exe + w_try_unzip "$W_SYSTEM32_DLLS" netfx_setupverifier_new.zip netfx_setupverifier.exe w_warn "You can run the .Net Verifier with \"${WINE} netfx_setupverifier.exe\"" } @@ -8078,8 +8153,6 @@ w_metadata remove_mono settings \ load_remove_mono() { - # FIXME: fold other .NET cleanups here (registry entries). - # Probably should only do that for wine >= 1.5.6 mono_uuid="$($WINE uninstaller --list | grep Mono | cut -f1 -d\|)" if test "$mono_uuid" then @@ -8087,6 +8160,17 @@ load_remove_mono() else w_warn "Mono does not appear to be installed." fi + + # FIXME: verify on pristine Windows XP: + if w_workaround_wine_bug 34803 + then + "$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f + fi + + "$WINE" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f || true + "$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f || true + + w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll" } #---------------------------------------------------------------- @@ -10392,16 +10476,16 @@ load_ev3() #---------------------------------------------------------------- w_metadata firefox apps \ - title="Firefox 39.0" \ + title="Firefox 51.0" \ publisher="Mozilla" \ - year="2015" \ + year="2017" \ media="download" \ - file1="FirefoxSetup39.0.exe" \ + file1="FirefoxSetup51.0.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Mozilla Firefox/firefox.exe" load_firefox() { - w_download "https://download.mozilla.org/?product=firefox-39.0-SSL&os=win&lang=en-US" 75eccbd9b2d44210b551c9a5045f03f01e899528 "$file1" + w_download "https://download.mozilla.org/?product=firefox-51.0-SSL&os=win&lang=en-US" c4cd6800990f39550abb1af07faf1e6072243d65 "$file1" w_try_cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" "$file1" ${W_OPT_UNATTENDED:+ -ms} } @@ -19248,6 +19332,8 @@ winetricks_os_description() winetricks_stats_report() { + winetricks_download_setup + # If user has opted in to usage tracking, report what he used (if anything) case "$WINETRICKS_STATS_REPORT" in 1) ;; @@ -19260,15 +19346,31 @@ winetricks_stats_report() report="os=$(winetricks_os_description)&winetricks=$WINETRICKS_VERSION&breadcrumbs=$WINETRICKS_STATS_BREADCRUMBS" report="$(echo "$report" | sed 's/ /%20/g')" + # Just do a HEAD request with the raw command line. # Yes, this can be fooled by caches. That's ok. - # FIXME: get common downloader variables supported - if [ -x "$(which wget 2>/dev/null)" ] - then - wget --spider "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true - elif [ -x "$(which curl 2>/dev/null)" ] - then - curl -I "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true + + # Note: these downloads are expected to fail (the resource won't exist), so don't use w_try and use '|| true' to ignore the expected errors + if [ "${WINETRICKS_DOWNLOADER}" = "wget" ] ; then + $torify wget --timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \ + --tries "$WINETRICKS_DOWNLOADER_RETRIES" \ + --spider "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true + elif [ "${WINETRICKS_DOWNLOADER}" = "curl" ] ; then + $torify curl --connect-timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \ + --retry "$WINETRICKS_DOWNLOADER_RETRIES" \ + -I "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true + elif [ "${WINETRICKS_DOWNLOADER}" = "aria2c" ] ; then + $torify aria2c $aria2c_torify_opts \ + $aria2c_torify_opts \ + --connect-timeout="${WINETRICKS_DOWNLOADER_TIMEOUT}" \ + --daemon=false \ + --enable-rpc=false \ + --input-file='' \ + --max-tries="$WINETRICKS_DOWNLOADER_RETRIES" \ + --save-session='' \ + "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true + else + w_die "Here be dragons" fi }