-
Notifications
You must be signed in to change notification settings - Fork 0
/
create-windows-setup-instructions
76 lines (38 loc) · 1.92 KB
/
create-windows-setup-instructions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# Alpha version - process is working, instructions not fully tested for minor details yet.
Instructions for creating a windows package for q:
The installation is based on a wine docker container.
mkdir -p dist/windows
pushd dist/windows
fetch all files from https://github.com/harelba/packages-for-q/tree/master/artifactory-for-packaging into that folder.
tar xvzf PyInstaller-2.1.tar.gz
Fix pyinstaller to work around a bug by running the following command (use gsed for osx or sed for linux):
gsed -i '1587s/^.*$/ if tpl[2] in ["BINARY", "DATA"]:/' ./PyInstaller-2.1/PyInstaller/build.py
popd
d=`pwd`
cid1=`docker run -d -v ${d}:/q -e VNC_PASSWORD=newPW -p 5900:5900 suchja/x11server`
cid2=`docker run -d --rm -i --link ${cid1}:xserver --volumes-from ${cid1} suchja/wine:latest /bin/bash`
sleep 1
function kill_container {
tmp=`docker kill ${cid1} ${cid2}`
}
trap kill_container EXIT
docker exec -it ${cid2} /bin/bash
inside the docker container prompt:
export DISPLAY=xserver:0
wine wineboot --init
cd ~/.wine/dosdevices/
ln -s /q "q:"
wine msiexec /i q:\\dist\\windows\\python-2.7.13.msi /q
wine q:\\dist\\windows\\pywin32-219.win32-py2.7.exe
mkdir ~/.wine/drive_c/q-build-environment
cp -r /q/dist/windows/PyInstaller-2.1 ~/.wine/drive_c/q-build-environment/
cd /q/dist
wine q:\\dist\\windows\\nsis-2.46-setup.exe - install to c:\q-build-environment\nsis
wine c:\\python27\\python.exe c:\\q-build-environment\\PyInstaller-2.1\\pyinstaller.py -F --distpath=win_output --workpath=win_build q:\\bin\\q
### Don't forget to change the version in the command below:
wine c:\\q-build-environment\\nsis\\makensis.exe -DVERSION=1.6.2.0 q:\\dist\\q-TextAsData-with-path.nsi
run the installation file and check that the install works properly:
wine setup.exe
move the installation to the packages folder:
mv /q/dist/setup.exe /q/packages/setup-q-<version>.exe
exit from the docker container