mirror of
https://github.com/mintty/wsltty.git
synced 2025-11-08 02:51:52 +00:00
Compare commits
42 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05ce002fc6 | ||
|
|
cc37c6c2d5 | ||
|
|
5ef4879be2 | ||
|
|
97699c2010 | ||
|
|
4316b754da | ||
|
|
b8171d61a6 | ||
|
|
d7f14146fd | ||
|
|
46ee1b4c1c | ||
|
|
27a9ce6f42 | ||
|
|
e88e60a786 | ||
|
|
dfeaf49ae9 | ||
|
|
fd81d580d6 | ||
|
|
3281c12216 | ||
|
|
46ab74d6b4 | ||
|
|
a5b546ee4a | ||
|
|
26a1abb148 | ||
|
|
e7709798c5 | ||
|
|
37c5e0dc40 | ||
|
|
55c034ec66 | ||
|
|
df054073ef | ||
|
|
ace39cbd03 | ||
|
|
e9b2e108f7 | ||
|
|
f66c87cc62 | ||
|
|
36e0d9c58a | ||
|
|
5db1916332 | ||
|
|
8911503a87 | ||
|
|
55792acd8d | ||
|
|
b8330e46d8 | ||
|
|
65553b90ef | ||
|
|
2fb7d02091 | ||
|
|
4c7eb01b93 | ||
|
|
0fd1dd9077 | ||
|
|
64c2d04b56 | ||
|
|
e283f413ba | ||
|
|
4ce4b11094 | ||
|
|
84c16fb927 | ||
|
|
65bf9273ad | ||
|
|
36a39d99de | ||
|
|
be761f3aab | ||
|
|
c3b062c00b | ||
|
|
149b1a6f1a | ||
|
|
9fd7a1135b |
@@ -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.
|
||||||
@@ -26,3 +26,8 @@ The program icon is the apps/utilities-terminal icon from KDE's Oxygen theme,
|
|||||||
retrieved from http://websvn.kde.org/trunk/KDE/kdebase/runtime/pics/oxygen.
|
retrieved from http://websvn.kde.org/trunk/KDE/kdebase/runtime/pics/oxygen.
|
||||||
Thanks to the KDE artists for their sleek design. The Oxygen icons are licensed
|
Thanks to the KDE artists for their sleek design. The Oxygen icons are licensed
|
||||||
under the terms of the LGPLv3; see LICENSE.Oxygen for details.
|
under the terms of the LGPLv3; see LICENSE.Oxygen for details.
|
||||||
|
|
||||||
|
The colour schemes / theme files bundled with mintty are included
|
||||||
|
under various licenses. The source and license or permission are
|
||||||
|
quoted in the respective theme files.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
50
README.md
50
README.md
@@ -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,6 +42,33 @@ 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
|
||||||
@@ -50,6 +79,8 @@ WSLtty can be invoked with
|
|||||||
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 ####
|
||||||
@@ -75,7 +106,7 @@ WSLtty installs the following scripts into `%LOCALAPPDATA%\Microsoft\WindowsApps
|
|||||||
|
|
||||||
* For each installed WSL distribution D, D`.bat` to start in the current folder/directory
|
* For each installed WSL distribution D, D`.bat` to start in the current folder/directory
|
||||||
* For each installed WSL distribution D, D`~.bat` to start in the WSL user home
|
* For each installed WSL distribution D, D`~.bat` to start in the WSL user home
|
||||||
* `WSL.bat` and `WSL ~.bat` to start the default WSL distribution
|
* `WSL.bat` and `WSL~.bat` to start the default WSL distribution
|
||||||
|
|
||||||
Given that `%LOCALAPPDATA%\Microsoft\WindowsApps` is in your PATH,
|
Given that `%LOCALAPPDATA%\Microsoft\WindowsApps` is in your PATH,
|
||||||
the scripts can be invoked from cmd.exe, PowerShell, or via WIN+R.
|
the scripts can be invoked from cmd.exe, PowerShell, or via WIN+R.
|
||||||
@@ -117,13 +148,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 ###
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,24 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
case "/$0" in
|
||||||
|
*/wsl*)
|
||||||
|
config=false;;
|
||||||
|
esac
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
|
-info)
|
||||||
|
config=false
|
||||||
|
shift;;
|
||||||
-shortcuts-remove)
|
-shortcuts-remove)
|
||||||
remove=true
|
remove=true
|
||||||
shift;;
|
shift;;
|
||||||
@@ -75,7 +90,8 @@ echoc () {
|
|||||||
cmd /c echo $*
|
cmd /c echo $*
|
||||||
}
|
}
|
||||||
|
|
||||||
while read line; do echo "$line"; done <</EOB > mkbat.bat
|
if $config
|
||||||
|
then while read line; do echo "$line"; done <</EOB > mkbat.bat
|
||||||
@echo off
|
@echo off
|
||||||
echo Creating %1.bat
|
echo Creating %1.bat
|
||||||
|
|
||||||
@@ -83,8 +99,7 @@ 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
|
||||||
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"
|
||||||
@@ -118,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
|
||||||
@@ -126,8 +141,8 @@ do
|
|||||||
root="$basepath"
|
root="$basepath"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
minttyargs='--wsl --rootfs="'"$root"'" -h err --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"'" -h err --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'
|
||||||
@@ -139,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= -h err --configdir="%APPDATA%\wsltty"'
|
minttyargs='--WSL= --configdir="'"$configdir"'"'
|
||||||
bridgeargs='-t'
|
bridgeargs='-t'
|
||||||
|
|
||||||
ok=true;;
|
ok=true;;
|
||||||
@@ -151,10 +166,10 @@ 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=" "
|
||||||
|
|
||||||
if $ok
|
if $ok && $config
|
||||||
then
|
then
|
||||||
export target minttyargs bridgeargs icon
|
export target minttyargs bridgeargs icon
|
||||||
|
|
||||||
@@ -189,8 +204,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"
|
||||||
@@ -207,8 +222,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
|
||||||
|
|||||||
34
install.bat
34
install.bat
@@ -26,23 +26,43 @@ 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 Terminal.lnk" "%installdir%"
|
||||||
|
copy "WSL Terminal %%.lnk" "%installdir%"
|
||||||
copy wsl.ico "%installdir%"
|
copy wsl.ico "%installdir%"
|
||||||
copy config-distros.sh "%installdir%"
|
copy config-distros.sh "%installdir%"
|
||||||
copy mkshortcut.vbs "%installdir%"
|
copy mkshortcut.vbs "%installdir%"
|
||||||
|
|
||||||
|
if not exist "%installdir%\bin" goto instbin
|
||||||
|
rem move previous programs possibly in use out of the way
|
||||||
|
del /Q "%installdir%\bin\*.old"
|
||||||
|
ren "%installdir%\bin\cygwin1.dll" cygwin1.dll.old
|
||||||
|
ren "%installdir%\bin\cygwin-console-helper.exe" cygwin-console-helper.exe.old
|
||||||
|
ren "%installdir%\bin\mintty.exe" mintty.exe.old
|
||||||
|
ren "%installdir%\bin\wslbridge.exe" wslbridge.exe.old
|
||||||
|
ren "%installdir%\bin\wslbridge-backend" wslbridge-backend.old
|
||||||
|
del /Q "%installdir%\bin\*.old"
|
||||||
|
|
||||||
|
:instbin
|
||||||
mkdir "%installdir%\bin"
|
mkdir "%installdir%\bin"
|
||||||
copy cygwin1.dll "%installdir%\bin"
|
copy cygwin1.dll "%installdir%\bin"
|
||||||
copy cygwin-console-helper.exe "%installdir%\bin"
|
copy cygwin-console-helper.exe "%installdir%\bin"
|
||||||
copy dash.exe "%installdir%\bin"
|
|
||||||
copy regtool.exe "%installdir%\bin"
|
|
||||||
copy mintty.exe "%installdir%\bin"
|
copy mintty.exe "%installdir%\bin"
|
||||||
copy zoo.exe "%installdir%\bin"
|
|
||||||
copy wslbridge.exe "%installdir%\bin"
|
copy wslbridge.exe "%installdir%\bin"
|
||||||
copy wslbridge-backend "%installdir%\bin"
|
copy wslbridge-backend "%installdir%\bin"
|
||||||
|
|
||||||
|
copy dash.exe "%installdir%\bin"
|
||||||
|
copy regtool.exe "%installdir%\bin"
|
||||||
|
copy zoo.exe "%installdir%\bin"
|
||||||
|
|
||||||
rem create system config directory and copy config archive
|
rem create system config directory and copy config archive
|
||||||
mkdir "%installdir%\usr\share\mintty\lang"
|
mkdir "%installdir%\usr\share\mintty\lang"
|
||||||
copy po.zoo "%installdir%\usr\share\mintty\lang"
|
copy lang.zoo "%installdir%\usr\share\mintty\lang"
|
||||||
|
mkdir "%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 wsl.ico "%installdir%\usr\share\mintty\icon"
|
||||||
|
|
||||||
|
|
||||||
rem create Start Menu Folder
|
rem create Start Menu Folder
|
||||||
@@ -57,12 +77,16 @@ 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%"
|
||||||
|
copy "WSL Terminal.lnk" "%smf%"
|
||||||
|
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"
|
||||||
|
|
||||||
rem unpack config files in system config directory
|
rem unpack config files in system config directory
|
||||||
cd /D "%installdir%\usr\share\mintty\lang"
|
cd /D "%installdir%\usr\share\mintty\lang"
|
||||||
"%installdir%\bin\zoo" xO po
|
"%installdir%\bin\zoo" xO lang
|
||||||
|
cd /D "%installdir%\usr\share\mintty\themes"
|
||||||
|
"%installdir%\bin\zoo" xO themes
|
||||||
|
|
||||||
|
|
||||||
:migrate configuration
|
:migrate configuration
|
||||||
|
|||||||
160
makefile
160
makefile
@@ -2,35 +2,64 @@
|
|||||||
# 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
|
||||||
|
|
||||||
all: check pkg
|
|
||||||
|
|
||||||
# wsltty release
|
# wsltty release
|
||||||
ver=1.8.1
|
ver=1.9.5
|
||||||
|
|
||||||
|
# wsltty appx release - must have 4 parts!
|
||||||
|
verx=1.9.5.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.1
|
minttyver=2.9.5
|
||||||
|
|
||||||
|
# or mintty branch or commit version
|
||||||
#minttyver=master
|
#minttyver=master
|
||||||
|
|
||||||
# wslbridge backend version
|
##############################
|
||||||
|
# wslbridge binary package; may be overridden below
|
||||||
|
wslbridge=wslbridge-package
|
||||||
wslbridgever=0.2.4
|
wslbridgever=0.2.4
|
||||||
|
|
||||||
# wslbridge frontend version
|
# or wslbridge branch or commit to build from source;
|
||||||
# release 0.2.0 does not have cygwin_internal(CW_SYNC_WINENV) yet;
|
# also set wslbridge-commit
|
||||||
# therefore using "master" below
|
wslbridge=wslbridge-frontend wslbridge-backend
|
||||||
#wslbridge-frontend=wslbridge-frontend
|
|
||||||
# release 0.2.1 is updated and complete, no separate frontend build needed:
|
# release 0.2.0 does not have cygwin_internal(CW_SYNC_WINENV) yet:
|
||||||
wslbridge-frontend=
|
#wslbridge-commit=master
|
||||||
# only used if wslbridge-frontend non-empty:
|
|
||||||
wslbridge-commit=master
|
|
||||||
|
|
||||||
# use --distro-guid option (merged into 0.2.4):
|
# use --distro-guid option (merged into 0.2.4):
|
||||||
#wslbridge-frontend=wslbridge-frontend
|
|
||||||
#wslbridge-commit=cb22e3f6f989cefe5b6599d3c04422ded74db664
|
#wslbridge-commit=cb22e3f6f989cefe5b6599d3c04422ded74db664
|
||||||
|
|
||||||
|
# after 0.2.4, from branch login-mode:
|
||||||
|
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
|
||||||
|
|
||||||
|
all: all-$(notdir $(CURDIR))
|
||||||
|
|
||||||
|
all-wsltty: check pkg
|
||||||
|
|
||||||
|
all-wsltty.appx: appx
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
# target checking and some defs
|
# target checking and some defs
|
||||||
|
|
||||||
@@ -52,56 +81,103 @@ 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
|
||||||
|
|
||||||
wslbridge: wslbridge-backend $(wslbridge-frontend)
|
wslbridge: $(wslbridge)
|
||||||
|
|
||||||
wslbridge-backend:
|
wslbridge-package:
|
||||||
$(wget) https://github.com/rprichard/wslbridge/releases/download/$(wslbridgever)/wslbridge-$(wslbridgever)-$(sys).tar.gz
|
$(wget) https://github.com/rprichard/wslbridge/releases/download/$(wslbridgever)/wslbridge-$(wslbridgever)-$(sys).tar.gz
|
||||||
tar xvzf wslbridge-$(wslbridgever)-$(sys).tar.gz
|
tar xvzf wslbridge-$(wslbridgever)-$(sys).tar.gz
|
||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
cp wslbridge-$(wslbridgever)-$(sys)/wslbridge* bin/
|
cp wslbridge-$(wslbridgever)-$(sys)/wslbridge* bin/
|
||||||
tr -d '\015' < wslbridge-$(wslbridgever)-$(sys)/LICENSE.txt > LICENSE.wslbridge
|
tr -d '\015' < wslbridge-$(wslbridgever)-$(sys)/LICENSE.txt > LICENSE.wslbridge
|
||||||
|
|
||||||
wslbridge-frontend:
|
wslbridge-source: wslbridge-$(wslbridge-commit).zip
|
||||||
$(wgeto) https://github.com/rprichard/wslbridge/archive/$(wslbridge-commit).zip -o wslbridge-$(wslbridge-commit).zip
|
|
||||||
unzip -o wslbridge-$(wslbridge-commit).zip
|
unzip -o wslbridge-$(wslbridge-commit).zip
|
||||||
|
tr -d '\015' < wslbridge-$(wslbridge-commit)/LICENSE.txt > LICENSE.wslbridge
|
||||||
|
|
||||||
|
wslbridge-$(wslbridge-commit).zip:
|
||||||
|
$(wgeto) https://github.com/rprichard/wslbridge/archive/$(wslbridge-commit).zip -o wslbridge-$(wslbridge-commit).zip
|
||||||
|
|
||||||
|
wslbridge-frontend: wslbridge-source
|
||||||
cd wslbridge-$(wslbridge-commit)/frontend; make
|
cd wslbridge-$(wslbridge-commit)/frontend; make
|
||||||
strip wslbridge-$(wslbridge-commit)/out/wslbridge.exe
|
strip wslbridge-$(wslbridge-commit)/out/wslbridge.exe
|
||||||
mkdir -p bin
|
mkdir -p bin
|
||||||
cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/
|
cp wslbridge-$(wslbridge-commit)/out/wslbridge.exe bin/
|
||||||
tr -d '\015' < wslbridge-$(wslbridge-commit)/LICENSE.txt > LICENSE.wslbridge
|
|
||||||
|
|
||||||
mintty: mintty-get mintty-build
|
wslbridge-backend: wslbridge-source
|
||||||
|
cd wslbridge-$(wslbridge-commit)/backend; if uname -m | grep x86_64; then cmd /C wsl make; else wslbridge make; fi
|
||||||
|
mkdir -p bin
|
||||||
|
cp wslbridge-$(wslbridge-commit)/out/wslbridge-backend bin/
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
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/
|
||||||
|
|
||||||
|
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/
|
||||||
|
|
||||||
|
mintty-pkg:
|
||||||
cp mintty-$(minttyver)/LICENSE LICENSE.mintty
|
cp mintty-$(minttyver)/LICENSE LICENSE.mintty
|
||||||
cd mintty-$(minttyver)/lang; zoo a po *.po; mv po.zoo ../../
|
cd mintty-$(minttyver)/lang; zoo a lang *.po; mv lang.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
|
||||||
@@ -111,6 +187,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
|
||||||
@@ -121,7 +202,9 @@ cop: ver
|
|||||||
cp bin/regtool.exe rel/
|
cp bin/regtool.exe rel/
|
||||||
cp bin/mintty.exe rel/
|
cp bin/mintty.exe rel/
|
||||||
cp bin/zoo.exe rel/
|
cp bin/zoo.exe rel/
|
||||||
cp po.zoo rel/
|
cp lang.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/
|
||||||
@@ -144,9 +227,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
|
||||||
|
|||||||
12
makewinx.cfg
12
makewinx.cfg
@@ -41,7 +41,7 @@ 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"
|
||||||
@@ -53,7 +53,11 @@ FILE17="add default to context menu.lnk"
|
|||||||
FILE18="remove from context menu.lnk"
|
FILE18="remove from context menu.lnk"
|
||||||
FILE19="wsltty home & help.url"
|
FILE19="wsltty home & help.url"
|
||||||
FILE20="zoo.exe"
|
FILE20="zoo.exe"
|
||||||
FILE21="po.zoo"
|
FILE21="lang.zoo"
|
||||||
|
FILE22="themes.zoo"
|
||||||
|
FILE23="WSL Terminal %.lnk"
|
||||||
|
FILE24="WSL Terminal.lnk"
|
||||||
|
FILE25="mkshortcut.vbs"
|
||||||
|
|
||||||
[SourceFiles]
|
[SourceFiles]
|
||||||
SourceFiles0=.
|
SourceFiles0=.
|
||||||
@@ -81,4 +85,8 @@ SourceFiles0=.
|
|||||||
%FILE19%=
|
%FILE19%=
|
||||||
%FILE20%=
|
%FILE20%=
|
||||||
%FILE21%=
|
%FILE21%=
|
||||||
|
%FILE22%=
|
||||||
|
%FILE23%=
|
||||||
|
%FILE24%=
|
||||||
|
%FILE25%=
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
rem cscript mkshortcut.vbs [/param:arg] /target:link
|
rem cscript mkshortcut.vbs [/param:arg] /target:link
|
||||||
|
|
||||||
rem %
|
|
||||||
rem /arguments:--wsl -h err -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash
|
|
||||||
rem ~
|
|
||||||
rem /arguments:--wsl -h err -o Locale=C -o Charset=UTF-8 /bin/wslbridge -C~ -t /bin/bash
|
|
||||||
rem -l
|
|
||||||
rem /arguments:--wsl -h err -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash -l
|
|
||||||
rem /target:%LOCALAPPDATA%\wsltty\bin\mintty.exe
|
rem /target:%LOCALAPPDATA%\wsltty\bin\mintty.exe
|
||||||
rem /workingdir:%USERPROFILE%
|
rem /workingdir:%USERPROFILE%
|
||||||
rem rem /icon:%LOCALAPPDATA%\lxss\bash.ico
|
|
||||||
rem /icon:%LOCALAPPDATA%\wsltty\wsl.ico
|
rem /icon:%LOCALAPPDATA%\wsltty\wsl.ico
|
||||||
|
rem deprecated: /icon:%LOCALAPPDATA%\lxss\bash.ico
|
||||||
|
rem deprecated: %
|
||||||
|
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash
|
||||||
|
rem deprecated: ~
|
||||||
|
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -C~ -t /bin/bash
|
||||||
|
rem deprecated: -l
|
||||||
|
rem /arguments:--wsl -o Locale=C -o Charset=UTF-8 /bin/wslbridge -t /bin/bash -l
|
||||||
|
|
||||||
rem General - Name:
|
rem General - Name:
|
||||||
name = Wscript.Arguments.Named("name") & ".lnk"
|
name = Wscript.Arguments.Named("name") & ".lnk"
|
||||||
|
|||||||
0
wsl.ico
Executable file → Normal file
0
wsl.ico
Executable file → Normal file
|
Before Width: | Height: | Size: 472 KiB After Width: | Height: | Size: 472 KiB |
BIN
wsltty.png
BIN
wsltty.png
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user