1
0
mirror of https://github.com/mintty/wsltty.git synced 2025-11-05 17:41:51 +00:00

Compare commits

..

42 Commits

Author SHA1 Message Date
mintty
2fb994604a 3.0.0 2019-04-11 16:13:49 +02:00
mintty
5da3a053a9 1.9.8 2019-03-15 11:01:28 +01:00
mintty
ad65aa9931 1.9.7 2019-03-15 00:50:56 +01:00
mintty
c9acce8d76 generic parameter list (#147) 2019-02-18 17:13:31 +01:00
mintty
1533c27b36 allow WSL commands as parameters to .bat invocation scripts (#147) 2019-02-17 13:47:51 +01:00
mintty
3e3eaf6e31 1.9.6 2019-01-20 19:53:22 +01:00
mintty
482df018c9 deploy two icons (#132) 2019-01-20 19:52:40 +01:00
mintty
23fc790c26 deploy two icons, allow previous icon to persist (#132),
do not deploy WSL default .lnk files anymore
2019-01-20 19:49:49 +01:00
mintty
e5c67ecc7c tweak registry key names to avoid collision with existing keys and enable context menu invocation of default WSL (#141) 2019-01-06 12:08:25 +01:00
mintty
20075c6378 allow persistent customization of default icon (#132) 2019-01-01 14:53:48 +01:00
mintty
05ce002fc6 1.9.5 2018-12-05 11:18:55 +01:00
mintty
cc37c6c2d5 1.9.4 controls 2018-11-14 08:06:26 +01:00
mintty
5ef4879be2 1.9.3 2018-10-05 18:55:39 +02:00
mintty
97699c2010 1.9.2 2018-10-03 19:27:14 +02:00
mintty
4316b754da prepare for 1.9.1 2018-09-21 17:44:31 +02:00
mintty
b8171d61a6 do without basename (which isn't installed) 2018-09-21 17:44:02 +02:00
mintty
d7f14146fd consider manually tuned installdir and configdir (#119) 2018-09-14 00:08:19 +02:00
mintty
46ee1b4c1c quote PATH setting (#121) 2018-09-13 23:07:48 +02:00
mintty
27a9ce6f42 remove hen-or-egg dependency on wslbridge-backend (#118) 2018-07-23 20:53:31 +02:00
mintty
e88e60a786 Merge pull request #114 from rasa/patch-1
Add scoop install instructions to readme.md (#30)
2018-07-05 11:09:57 +02:00
Ross Smith II
dfeaf49ae9 Add scoop install instructions to readme.md 2018-07-04 17:59:07 -07:00
mintty
fd81d580d6 1.9.0.2 2018-07-04 21:38:33 +02:00
mintty
3281c12216 wslbridge version fix 2018-07-04 21:37:53 +02:00
mintty
46ab74d6b4 fix wslbridge commit reference 2018-07-02 16:37:44 +02:00
mintty
a5b546ee4a 1.9.0 2018-07-02 01:26:08 +02:00
mintty
26a1abb148 Update README.md 2018-05-08 08:43:31 +02:00
mintty
e7709798c5 2018-04-19 08:22:06 +02:00
mintty
37c5e0dc40 2018-04-19 08:08:43 +02:00
mintty
55c034ec66 separators 2018-04-19 07:42:45 +02:00
mintty
df054073ef section package manager installation 2018-04-18 15:24:10 +02:00
mintty
ace39cbd03 revert fruitless attempt to hide VBS from aggressive virus scanners (~#94) 2018-04-18 10:46:17 +02:00
mintty
e9b2e108f7 1.8.5 2018-04-12 20:57:27 +02:00
mintty
f66c87cc62 attempt to avoid virus scanners choking on VBS script name (#94) 2018-04-12 20:56:31 +02:00
mintty
36e0d9c58a prepare release 1.8.5 2018-04-11 16:40:43 +02:00
mintty
5db1916332 use wslbridge wslpath branch, support WSL mount point configuration (/etc/wsl.conf or fstab) (#91) 2018-04-08 11:33:19 +02:00
mintty
8911503a87 2018-04-03 15:28:53 +02:00
mintty
55792acd8d deploy wsl.ico in common resource directory (mintty/wsltty.appx#4) 2018-04-02 23:44:50 +02:00
mintty
b8330e46d8 deploy Character Info names table (#82) 2018-04-02 23:35:40 +02:00
mintty
65553b90ef 1.8.4 2018-02-06 10:51:07 +01:00
mintty
2fb7d02091 Merge branch 'master' of https://github.com/mintty/wsltty 2018-01-25 14:04:58 +01:00
mintty
4c7eb01b93 ensure rebuild of version-specific check and message (#85) 2018-01-25 14:04:22 +01:00
mintty
0fd1dd9077 shell selection and login mode instructions (#56, ~#83) 2018-01-10 21:41:34 +01:00
11 changed files with 201 additions and 58 deletions

View File

@@ -1,4 +1,4 @@
mintty is copyright 2008-13 Andy Koppe, 2015-16 Thomas Wolff. mintty is copyright 2008-13 Andy Koppe, 2015-18 Thomas Wolff.
Licensed under the terms of the GNU General Public License version 3 or later, Licensed under the terms of the GNU General Public License version 3 or later,
amended with the bundling clause to clarify ambiguous interpretation. amended with the bundling clause to clarify ambiguous interpretation.
@@ -17,6 +17,8 @@ See LICENSE.PuTTY for PuTTY's copyright notice, contributors, and license.
The sources of PuTTY 0.60 can be downloaded from The sources of PuTTY 0.60 can be downloaded from
ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-0.60. ftp://ftp.chiark.greenend.org.uk/users/sgtatham/putty-0.60.
The minibidi algorithm is under MIT license as quoted in the source file.
Sixel code (sixel.c) is relicensed under GPL like mintty with the Sixel code (sixel.c) is relicensed under GPL like mintty with the
permission of its author (kmiya@culti); Sixel colour conversion code permission of its author (kmiya@culti); Sixel colour conversion code
(sixel_hls.c) is licensed by its author Ross Combs under the license (sixel_hls.c) is licensed by its author Ross Combs under the license

View File

@@ -1,6 +1,7 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2016 Ryan Prichard Copyright (c) 2016 Ryan Prichard
Copyright (c) 2017-2018 Google LLC
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to of this software and associated documentation files (the "Software"), to

View File

@@ -15,9 +15,11 @@ WSLtty components
* optional context menu entries for Windows Explorer to start WSL terminals in the respective folder * optional context menu entries for Windows Explorer to start WSL terminals in the respective folder
* install/uninstall context menu items from Start Menu subfolder `WSLtty` * install/uninstall context menu items from Start Menu subfolder `WSLtty`
### Installation ### ---
#### WSLtty installer #### ### Installation from this repository ###
#### WSLtty installer ([Download](https://github.com/mintty/wsltty/releases) standalone installation) ####
Run the [installer](https://github.com/mintty/wsltty/releases) to install Run the [installer](https://github.com/mintty/wsltty/releases) to install
the components listed above. the components listed above.
@@ -40,16 +42,45 @@ Within the installation process, provide parameters to the script `install.bat`.
The optional first parameter designates the installation target, The optional first parameter designates the installation target,
the optional second parameter designates the configuration directory. the optional second parameter designates the configuration directory.
### Installation with other package management environments ###
#### Chocolatey ####
If you use the [Chocolatey package manager](https://chocolatey.org/),
invoke one of
<img height=222 align=right src=https://github.com/mintty/wsltty.appx/raw/master/wsltty.appx.png>
* `choco install wsltty`
* `choco upgrade wsltty`
#### Scoop ####
If you use the [Scoop package manager](https://scoop.sh/),
* `scoop bucket add extras`
then, invoke one of
* `scoop install wsltty`
* `scoop update wsltty`
#### Windows Appx package ####
A Windows Appx package and certificate is available in the [wsltty.appx](https://github.com/mintty/wsltty.appx/) repository.
<br clear=all>
---
### Invocation ### ### Invocation ###
WSLtty can be invoked with WSLtty can be invoked with
* installed Start Menu shortcuts (or Desktop shortcuts if copied there) * installed Start Menu shortcuts (or Desktop shortcuts if copied there)
* *.bat scripts * *.bat scripts (optionally with WSL command as parameters)
* Explorer context menu (if installed from the Start Menu `WSLtty` subfolder) * Explorer context menu (if installed from the Start Menu `WSLtty` subfolder)
Starting the mintty terminal directly from the WSLtty installation location Starting the mintty terminal directly from the WSLtty installation location
is discouraged because that would bypass essential options. is discouraged because that would bypass essential options.
---
### Configuration ### ### Configuration ###
#### Start Menu and Desktop shortcuts #### #### Start Menu and Desktop shortcuts ####
@@ -90,6 +121,13 @@ To add launch entries for the default or all WSL distributions to the
Explorer context menu, or remove them, run the respective script from the Explorer context menu, or remove them, run the respective script from the
Start Menu subfolder `WSLtty`. Start Menu subfolder `WSLtty`.
#### Icon ####
Wsltty installation and the mintty terminal try to use the icon of the
respective WSL distribution. If it cannot be determined, a penguin icon
is used as a default. You can replace it with your preferred fallback icon
by replacing the icon file `%LOCALAPPDATA%\wsltty\wsl.ico`.
#### Mintty settings #### #### Mintty settings ####
Mintty can maintain its configuration file in various locations, Mintty can maintain its configuration file in various locations,
@@ -117,13 +155,18 @@ Note:
If you define `HOME` at Windows level, this changes accordingly. If you define `HOME` at Windows level, this changes accordingly.
Note, however, that the WSL `HOME` is a completely different setting. Note, however, that the WSL `HOME` is a completely different setting.
#### Shell selection #### #### Shell selection and Login shell ####
The WSLtty deployment does not impose a shell preference anymore. The WSLtty deployment does not impose a shell preference anymore.
However, the intermediate gateways (`wslbridge` and its backend and the `bash.exe` Windows launcher) However, the intermediate gateways (`wslbridge` and its backend and the `bash.exe` Windows launcher)
are also involved. To invoke your favourite shell, you may append are also involved.
a shell pathname to the mintty invocation (in shortcuts, scripts, or context menu entries),
or handle shell replacement within the WSL startup scripts (esp. `.profile`). To invoke your favourite shell or launch the shell in login mode,
you may append a shell pathname and an optional `-l` parameter
to the mintty invocation (in shortcuts, scripts, or context menu entries):
* `%LOCALAPPDATA%\wsltty\bin\mintty.exe --WSL= --configdir="%APPDATA%\wsltty" /bin/bash -l`
---
### Components and Credits ### ### Components and Credits ###

View File

@@ -1 +1 @@
1.8.3.2 3.0.0

View File

@@ -1,14 +1,17 @@
#! /bin/sh #! /bin/sh
PATH=/bin:$PATH installdir=${installdir:-'%LOCALAPPDATA%\wsltty'}
configdir=${configdir:-'%APPDATA%\wsltty'}
PATH=/bin:"$PATH"
contextmenu=false contextmenu=false
remove=false remove=false
alldistros=true alldistros=true
config=true config=true
case "`basename $0`" in case "/$0" in
wsl*) */wsl*)
config=false;; config=false;;
esac esac
@@ -94,12 +97,10 @@ echo Creating %1.bat
echo @echo off> %1.bat echo @echo off> %1.bat
echo rem Start mintty terminal for WSL package %name% in current directory>> %1.bat echo rem Start mintty terminal for WSL package %name% in current directory>> %1.bat
echo %target% -i "%icon%" %minttyargs% %bridgeargs%>> %1.bat echo %target% -i "%icon%" %minttyargs% %bridgeargs% %%*>> %1.bat
/EOB /EOB
fi fi
PATH=/bin:$PATH
lxss="/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss" lxss="/HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Lxss"
schema="/HKEY_CURRENT_USER/Software/Classes/Local Settings/Software/Microsoft/Windows/CurrentVersion/AppModel/SystemAppData" schema="/HKEY_CURRENT_USER/Software/Classes/Local Settings/Software/Microsoft/Windows/CurrentVersion/AppModel/SystemAppData"
@@ -132,7 +133,7 @@ do
instdir=`regtool get "$schema/$package/Schemas/PackageFullName"` instdir=`regtool get "$schema/$package/Schemas/PackageFullName"`
if [ -r "$ProgramW6432/WindowsApps/$instdir/images/icon.ico" ] if [ -r "$ProgramW6432/WindowsApps/$instdir/images/icon.ico" ]
then icon="%PROGRAMFILES%/WindowsApps/$instdir/images/icon.ico" then icon="%PROGRAMFILES%/WindowsApps/$instdir/images/icon.ico"
else icon="%LOCALAPPDATA%/wsltty/wsl.ico" else icon="$installdir"'\wsl.ico'
fi fi
root="$basepath/rootfs" root="$basepath/rootfs"
else else
@@ -140,8 +141,8 @@ do
root="$basepath" root="$basepath"
fi fi
minttyargs='--wsl --rootfs="'"$root"'" --configdir="%APPDATA%\wsltty" -o Locale=C -o Charset=UTF-8 /bin/wslbridge ' minttyargs='--wsl --rootfs="'"$root"'" --configdir="'"$configdir"'" -o Locale=C -o Charset=UTF-8 /bin/wslbridge '
minttyargs='--WSL="'"$distro"'" --configdir="%APPDATA%\wsltty"' minttyargs='--WSL="'"$distro"'" --configdir="'"$configdir"'"'
#if [ -z "$launch" ] #if [ -z "$launch" ]
#then bridgeargs='-t /bin/bash' #then bridgeargs='-t /bin/bash'
#else bridgeargs='-l "'"$launch"'" -t /bin/bash' #else bridgeargs='-l "'"$launch"'" -t /bin/bash'
@@ -153,8 +154,8 @@ do
"") # WSL default installation "") # WSL default installation
distro= distro=
name=WSL name=WSL
icon="%LOCALAPPDATA%/wsltty/wsl.ico" icon="$installdir"'\wsl.ico'
minttyargs='--WSL= --configdir="%APPDATA%\wsltty"' minttyargs='--WSL= --configdir="'"$configdir"'"'
bridgeargs='-t' bridgeargs='-t'
ok=true;; ok=true;;
@@ -165,29 +166,30 @@ do
echoc "- (launcher $launcher)" echoc "- (launcher $launcher)"
echoc "- icon $icon" echoc "- icon $icon"
echoc "- root $root" echoc "- root $root"
target='%LOCALAPPDATA%\wsltty\bin\mintty.exe' target="$installdir"'\bin\mintty.exe'
bridgeargs=" " bridgeargs=" " # deprecated
if $ok && $config if $ok && $config
then then
export target minttyargs bridgeargs icon export name target minttyargs bridgeargs icon
if $contextmenu if $contextmenu
then then
# context menu entries # context menu entries
#cmd /C mkcontext "$name" #cmd /C mkcontext "$name"
direckey='HKEY_CURRENT_USER\Software\Classes\Directory' direckey='HKEY_CURRENT_USER\Software\Classes\Directory'
keyname="${name}_Terminal"
if $remove if $remove
then then
reg delete "$direckey\\shell\\$name" /f reg delete "$direckey\\shell\\$keyname" /f
reg delete "$direckey\\Background\\shell\\$name" /f reg delete "$direckey\\Background\\shell\\$keyname" /f
else else
reg add "$direckey\\shell\\$name" /d "$name Terminal" /f reg add "$direckey\\shell\\$keyname" /d "$name Terminal" /f
reg add "$direckey\\shell\\$name" /v Icon /d "$icon" /f reg add "$direckey\\shell\\$keyname" /v Icon /d "$icon" /f
cmd /C reg add "$direckey\\shell\\$name\\command" /d "\"$target\" -i \"$icon\" --dir \"%1\" $minttyargs $bridgeargs" /f cmd /C reg add "$direckey\\shell\\$keyname\\command" /d "\"$target\" -i \"$icon\" --dir \"%1\" $minttyargs $bridgeargs" /f
reg add "$direckey\\Background\\shell\\$name" /d "$name Terminal" /f reg add "$direckey\\Background\\shell\\$keyname" /d "$name Terminal" /f
reg add "$direckey\\Background\\shell\\$name" /v Icon /d "$icon" /f reg add "$direckey\\Background\\shell\\$keyname" /v Icon /d "$icon" /f
cmd /C reg add "$direckey\\Background\\shell\\$name\\command" /d "\"$target\" -i \"$icon\" $minttyargs $bridgeargs" /f cmd /C reg add "$direckey\\Background\\shell\\$keyname\\command" /d "\"$target\" -i \"$icon\" $minttyargs $bridgeargs" /f
fi fi
else else
# invocation shortcuts and scripts # invocation shortcuts and scripts
@@ -203,8 +205,8 @@ do
# launch script in . -> WSLtty home, WindowsApps launch folder # launch script in . -> WSLtty home, WindowsApps launch folder
cmd /C mkbat.bat "$name" cmd /C mkbat.bat "$name"
cmd /C copy "$name.bat" "%LOCALAPPDATA%\\wsltty\\$name.bat" cmd /C copy "$name.bat" "$installdir"
cmd /C copy "$name.bat" "%LOCALAPPDATA%\\Microsoft\\WindowsApps\\$name.bat" cmd /C copy "$name.bat" "%LOCALAPPDATA%\\Microsoft\\WindowsApps"
# prepare versions to target WSL home directory # prepare versions to target WSL home directory
#bridgeargs="-C~ $bridgeargs" #bridgeargs="-C~ $bridgeargs"
@@ -221,8 +223,8 @@ do
# launch script in ~ -> WSLtty home, WindowsApps launch folder # launch script in ~ -> WSLtty home, WindowsApps launch folder
cmd /C mkbat.bat "$name~" cmd /C mkbat.bat "$name~"
cmd /C copy "$name~.bat" "%LOCALAPPDATA%\\wsltty\\$name~.bat" cmd /C copy "$name~.bat" "$installdir"
cmd /C copy "$name~.bat" "%LOCALAPPDATA%\\Microsoft\\WindowsApps\\$name~.bat" cmd /C copy "$name~.bat" "%LOCALAPPDATA%\\Microsoft\\WindowsApps"
fi fi
fi fi

View File

@@ -26,9 +26,12 @@ copy "add to context menu.lnk" "%installdir%"
copy "add default to context menu.lnk" "%installdir%" copy "add default to context menu.lnk" "%installdir%"
copy "remove from context menu.lnk" "%installdir%" copy "remove from context menu.lnk" "%installdir%"
copy "configure WSL shortcuts.lnk" "%installdir%" copy "configure WSL shortcuts.lnk" "%installdir%"
copy wsl.ico "%installdir%" rem copy "WSL Terminal.lnk" "%installdir%"
rem copy "WSL Terminal %%.lnk" "%installdir%"
copy config-distros.sh "%installdir%" copy config-distros.sh "%installdir%"
copy mkshortcut.vbs "%installdir%" copy mkshortcut.vbs "%installdir%"
rem allow persistent customization of default icon:
if not exist "%installdir%\wsl.ico" copy tux.ico "%installdir%\wsl.ico"
if not exist "%installdir%\bin" goto instbin if not exist "%installdir%\bin" goto instbin
rem move previous programs possibly in use out of the way rem move previous programs possibly in use out of the way
@@ -57,6 +60,11 @@ mkdir "%installdir%\usr\share\mintty\lang"
copy lang.zoo "%installdir%\usr\share\mintty\lang" copy lang.zoo "%installdir%\usr\share\mintty\lang"
mkdir "%installdir%\usr\share\mintty\themes" mkdir "%installdir%\usr\share\mintty\themes"
copy themes.zoo "%installdir%\usr\share\mintty\themes" copy themes.zoo "%installdir%\usr\share\mintty\themes"
mkdir "%installdir%\usr\share\mintty\info"
copy charnames.txt "%installdir%\usr\share\mintty\info"
mkdir "%installdir%\usr\share\mintty\icon"
copy tux.ico "%installdir%\usr\share\mintty\icon"
copy mintty.ico "%installdir%\usr\share\mintty\icon"
rem create Start Menu Folder rem create Start Menu Folder
@@ -71,6 +79,8 @@ copy "add to context menu.lnk" "%smf%"
copy "add default to context menu.lnk" "%smf%" copy "add default to context menu.lnk" "%smf%"
copy "remove from context menu.lnk" "%smf%" copy "remove from context menu.lnk" "%smf%"
copy "configure WSL shortcuts.lnk" "%smf%" copy "configure WSL shortcuts.lnk" "%smf%"
rem copy "WSL Terminal.lnk" "%smf%"
rem copy "WSL Terminal %%.lnk" "%smf%"
rem clean up previous installation rem clean up previous installation
rmdir /S /Q "%smf%\context menu shortcuts" rmdir /S /Q "%smf%\context menu shortcuts"

119
makefile
View File

@@ -2,17 +2,24 @@
# build a wsltty installer package: # build a wsltty installer package:
# configure ver=... and minttyver= in this makefile # configure ver=... and minttyver= in this makefile
# make targets: # make targets:
# make [all] to build a distributable installer (default) # make [all] build a distributable installer (default)
# make pkg to build an installer, bypassing the system checks # make pkg build an installer, bypassing the system checks
# make wsltty to build an installer using the local copy of mintty # make wsltty build the software, using the local copy of mintty
# wsltty release # wsltty release
ver=1.8.3.2 ver=3.0.0
# wsltty appx release - must have 4 parts!
verx=3.0.0.0
# Windows SDK version for appx
WINSDKKEY=/HKEY_LOCAL_MACHINE/SOFTWARE/WOW6432Node/Microsoft/.NET Framework Platform/Setup/Multi-Targeting Pack
WINSDKVER=`regtool list '$(WINSDKKEY)' | sed -e '$$ q' -e d`
############################## ##############################
# mintty release version # mintty release version
minttyver=2.8.3 minttyver=3.0.0
# or mintty branch or commit version # or mintty branch or commit version
#minttyver=master #minttyver=master
@@ -24,7 +31,7 @@ wslbridgever=0.2.4
# or wslbridge branch or commit to build from source; # or wslbridge branch or commit to build from source;
# also set wslbridge-commit # also set wslbridge-commit
#wslbridge=wslbridge-frontend wslbridge-backend wslbridge=wslbridge-frontend wslbridge-backend
# release 0.2.0 does not have cygwin_internal(CW_SYNC_WINENV) yet: # release 0.2.0 does not have cygwin_internal(CW_SYNC_WINENV) yet:
#wslbridge-commit=master #wslbridge-commit=master
@@ -35,10 +42,23 @@ wslbridgever=0.2.4
# after 0.2.4, from branch login-mode: # after 0.2.4, from branch login-mode:
wslbridge-commit=04a060505860915c99bc336dbeb80269771a80b7 wslbridge-commit=04a060505860915c99bc336dbeb80269771a80b7
# after 0.2.4, from branch wslpath:
wslbridge-commit=29df86d87135caec8424c08f031ce121a3a39ae1
# after 0.2.4, merged wslpath branch:
wslbridge-commit=06fb7acba28d7f37611f3911685af214739895a0
# after 0.2.4, with --backend option:
wslbridge-commit=47b41bec6c32da58ab01de9345087b1a4fd836e3
############################################################################# #############################################################################
# default target # default target
all: check pkg all: all-$(notdir $(CURDIR))
all-wsltty: check pkg
all-wsltty.appx: appx
############################################################################# #############################################################################
# target checking and some defs # target checking and some defs
@@ -61,20 +81,32 @@ wget=curl -R -L --connect-timeout 55 -O
wgeto=curl -R -L --connect-timeout 55 wgeto=curl -R -L --connect-timeout 55
############################################################################# #############################################################################
# system check; # system check:
# for now, let's enforce Cygwin 32-Bit as the container for wsltty # - ensure the path name drag-and-drop adaptation works (-> Cygwin, not MSYS)
# just in case there is a 32-Bit WSL released (-> 32 bit), and to ensure # - 64 Bit (x86_64) for more stable invocation (avoid fork issues)
# the path name drag-and-drop adaptation works (-> cygwin, not msys)
check: check:
# checking suitable host environment; run `make pkg` to bypass # checking suitable host environment; run `make pkg` to bypass
# check cygwin (vs msys) for proper drag-and-drop paths: # check cygwin (vs msys) for proper drag-and-drop paths:
uname | grep CYGWIN uname | grep CYGWIN
# check 32 bit (vs 64 bit) to ensure 32-Bit Windows support, just in case: # check 32 bit to ensure 32-Bit Windows support, just in case:
#uname -m | grep i686 #uname -m | grep i686
# check 64 bit (vs 32 bit) to provide 64-Bit stability support: # check 64 bit to provide 64-Bit stability support:
uname -m | grep x86_64 uname -m | grep x86_64
#############################################################################
# patch version information for appx package configuration
fix-verx:
echo patching $(WINSDKVER) into Launcher config
cd Launcher; sed -i~ -e "/<supportedRuntime / s,Version=v[.0-9]*,Version=$(WINSDKVER)," app.config
echo patched app.config
cd Launcher; sed -i~ -e "/<TargetFrameworkVersion>/ s,v[.0-9]*,$(WINSDKVER)," Launcher.csproj
echo patched Launcher.csproj
echo patching $(verx) into app config
sed -i~ -e '/<Identity / s,Version="[.0-9]*",Version="$(verx)",' AppxManifest.xml
echo patched AppxManifest.xml
############################################################################# #############################################################################
# generation # generation
@@ -100,27 +132,57 @@ wslbridge-frontend: wslbridge-source
mkdir -p bin mkdir -p bin
cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/ cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/
wslbridge-backend: wslbridge-source wslbridge-backend: wslbridge-source bin/wslbridge-backend
cd wslbridge-$(wslbridge-commit)/backend; wslbridge make
bin/wslbridge-backend:
cd wslbridge-$(wslbridge-commit)/backend; if uname -m | grep x86_64; then cmd /C wsl make; else wslbridge make; fi
mkdir -p bin mkdir -p bin
cp wslbridge-$(wslbridge-commit)/out/wslbridge-backend bin/ cp wslbridge-$(wslbridge-commit)/out/wslbridge-backend bin/
mintty: mintty-get mintty-build
mintty-get: mintty-get:
$(wgeto) https://github.com/mintty/mintty/archive/$(minttyver).zip -o mintty-$(minttyver).zip $(wgeto) https://github.com/mintty/mintty/archive/$(minttyver).zip -o mintty-$(minttyver).zip
unzip -o mintty-$(minttyver).zip unzip -o mintty-$(minttyver).zip
cp mintty-$(minttyver)/icon/terminal.ico mintty.ico
wslbuild=LDFLAGS="-static -static-libgcc -s" wslbuild=LDFLAGS="-static -static-libgcc -s"
appxbuild=$(wslbuild) CCOPT=-DWSLTTY_APPX
wslversion=VERSION_SUFFIX=" wsltty $(ver)" WSLTTY_VERSION="$(ver)" wslversion=VERSION_SUFFIX=" wsltty $(ver)" WSLTTY_VERSION="$(ver)"
appxversion=VERSION_SUFFIX=" wsltty appx $(verx)" WSLTTY_VERSION="$(verx)"
mintty-build: mintty-build:
# ensure rebuild of version-specific check and message
rm -f mintty-$(minttyver)/bin/*/windialog.o
# build mintty
cd mintty-$(minttyver)/src; make $(wslbuild) $(wslversion) cd mintty-$(minttyver)/src; make $(wslbuild) $(wslversion)
mkdir -p bin mkdir -p bin
cp mintty-$(minttyver)/bin/mintty.exe bin/ cp mintty-$(minttyver)/bin/mintty.exe bin/
strip bin/mintty.exe
mintty-build-appx:
# ensure rebuild of version-specific check and message
rm -f mintty-$(minttyver)/bin/*/windialog.o
# build mintty
cd mintty-$(minttyver)/src; make $(appxbuild) $(appxversion)
mkdir -p bin
cp mintty-$(minttyver)/bin/mintty.exe bin/
strip bin/mintty.exe
mintty-pkg:
cp mintty-$(minttyver)/LICENSE LICENSE.mintty cp mintty-$(minttyver)/LICENSE LICENSE.mintty
cd mintty-$(minttyver)/lang; zoo a lang *.po; mv lang.zoo ../../ cd mintty-$(minttyver)/lang; zoo a lang *.po; mv lang.zoo ../../
cd mintty-$(minttyver)/themes; zoo a themes *[!~]; mv themes.zoo ../../ cd mintty-$(minttyver)/themes; zoo a themes *[!~]; mv themes.zoo ../../
# add charnames.txt to support "Character Info"
cd mintty-$(minttyver)/src; sh ./mknames
cp mintty-$(minttyver)/src/charnames.txt .
mintty-appx:
mkdir -p usr/share/mintty
cd usr/share/mintty; mkdir -p lang themes info
cp mintty-$(minttyver)/lang/*.po usr/share/mintty/lang/
cp mintty-$(minttyver)/themes/*[!~] usr/share/mintty/themes/
# add charnames.txt to support "Character Info"
cd mintty-$(minttyver)/src; sh ./mknames
cp mintty-$(minttyver)/src/charnames.txt usr/share/mintty/info/
cygwin: cygwin:
mkdir -p bin mkdir -p bin
@@ -130,6 +192,11 @@ cygwin:
cp /bin/regtool.exe bin/ cp /bin/regtool.exe bin/
cp /bin/zoo.exe bin/ cp /bin/zoo.exe bin/
appx-bin:
mkdir -p bin
cp /bin/cygwin1.dll bin/
cp /bin/cygwin-console-helper.exe bin/
cop: ver cop: ver
mkdir -p rel mkdir -p rel
rm -fr rel/wsltty-$(ver)-install.exe rm -fr rel/wsltty-$(ver)-install.exe
@@ -142,6 +209,7 @@ cop: ver
cp bin/zoo.exe rel/ cp bin/zoo.exe rel/
cp lang.zoo rel/ cp lang.zoo rel/
cp themes.zoo rel/ cp themes.zoo rel/
cp charnames.txt rel/
cp bin/wslbridge.exe rel/ cp bin/wslbridge.exe rel/
cp bin/wslbridge-backend rel/ cp bin/wslbridge-backend rel/
cp LICENSE.* rel/ cp LICENSE.* rel/
@@ -164,9 +232,22 @@ installbat:
ver: ver:
echo $(ver) > VERSION echo $(ver) > VERSION
pkg: wslbridge cygwin mintty cab mintty: mintty-get mintty-build
wsltty: wslbridge cygwin mintty-build cab mintty-usr: mintty-get mintty-appx
# local wsltty build target:
wsltty: wslbridge cygwin mintty-build mintty-pkg
# standalone wsltty package build target:
pkg: wslbridge cygwin mintty-get mintty-build mintty-pkg cab
# appx package contents target:
wsltty-appx: wslbridge appx-bin mintty-get mintty-build-appx mintty-appx
# appx package target:
appx: wsltty-appx fix-verx
sh ./build.sh
############################################################################# #############################################################################
# end # end

View File

@@ -41,13 +41,13 @@ FILE5="LICENSE.mintty"
FILE6="LICENSE.wslbridge" FILE6="LICENSE.wslbridge"
FILE7="config-distros.sh" FILE7="config-distros.sh"
FILE8="configure WSL shortcuts.lnk" FILE8="configure WSL shortcuts.lnk"
FILE9="mkshortcut.vbs" FILE9="charnames.txt"
FILE10="VERSION" FILE10="VERSION"
FILE11="dash.exe" FILE11="dash.exe"
FILE12="regtool.exe" FILE12="regtool.exe"
FILE13="install.bat" FILE13="install.bat"
FILE14="uninstall.bat" FILE14="uninstall.bat"
FILE15="wsl.ico" FILE15="tux.ico"
FILE16="add to context menu.lnk" FILE16="add to context menu.lnk"
FILE17="add default to context menu.lnk" FILE17="add default to context menu.lnk"
FILE18="remove from context menu.lnk" FILE18="remove from context menu.lnk"
@@ -55,6 +55,8 @@ FILE19="wsltty home & help.url"
FILE20="zoo.exe" FILE20="zoo.exe"
FILE21="lang.zoo" FILE21="lang.zoo"
FILE22="themes.zoo" FILE22="themes.zoo"
FILE23="mkshortcut.vbs"
FILE24="mintty.ico"
[SourceFiles] [SourceFiles]
SourceFiles0=. SourceFiles0=.
@@ -83,4 +85,6 @@ SourceFiles0=.
%FILE20%= %FILE20%=
%FILE21%= %FILE21%=
%FILE22%= %FILE22%=
%FILE23%=
%FILE24%=

View File

@@ -24,7 +24,7 @@ rem lnk.Arguments = Wscript.Arguments.Named("arguments")
lnk.TargetPath = wshell.ExpandEnvironmentStrings("%target%") lnk.TargetPath = wshell.ExpandEnvironmentStrings("%target%")
minttyargs = wshell.ExpandEnvironmentStrings("%minttyargs%") minttyargs = wshell.ExpandEnvironmentStrings("%minttyargs%")
bridgeargs = wshell.ExpandEnvironmentStrings("%bridgeargs%") bridgeargs = wshell.ExpandEnvironmentStrings("%bridgeargs%")
lnk.Arguments = minttyargs & bridgeargs lnk.Arguments = minttyargs & " " & bridgeargs
rem wscript.echo "minttyargs: " & minttyargs rem wscript.echo "minttyargs: " & minttyargs
rem wscript.echo lnk.Arguments rem wscript.echo lnk.Arguments

0
wsl.ico → tux.ico Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 472 KiB

After

Width:  |  Height:  |  Size: 472 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB