This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
wiki:development:build-howto-mswin:x2goclient [2018/06/07 06:18] ionic Rephrase Qt-SSL statement a bit. |
wiki:development:build-howto-mswin:x2goclient [2023/05/08 22:20] (current) orion [Copying the nxproxy binaries] Use nxproxy\src\.libs\nxproxy.exe |
||
---|---|---|---|
Line 16: | Line 16: | ||
- | * [[wiki: | + | * [[wiki: |
- | * [[wiki: | + | * [[wiki: |
* [[wiki: | * [[wiki: | ||
- | * [[wiki: | + | * [[wiki: |
+ | |||
+ | * [[wiki: | ||
* [[wiki: | * [[wiki: | ||
Line 85: | Line 87: | ||
It is recommended to configure Qt to build statically linked applications. | It is recommended to configure Qt to build statically linked applications. | ||
- | This is how official X2Go Client builds are done | + | This is how official X2Go Client builds are done. |
It will take some time to reconfigure Qt for static builds. You surely can skip this step, but in this case you must provide Qt libraries with your X2Go Client binary. | It will take some time to reconfigure Qt for static builds. You surely can skip this step, but in this case you must provide Qt libraries with your X2Go Client binary. | ||
Line 116: | Line 118: | ||
$ make -j3 sub-src | $ make -j3 sub-src | ||
</ | </ | ||
+ | |||
==== Installing libssh ==== | ==== Installing libssh ==== | ||
You need libssh to build X2Go Client. | You need libssh to build X2Go Client. | ||
- | X2Go Client 4.0.4.0 and later use libssh 0.7.x with pageant support. | + | X2Go Client 4.1.2.2 and later use libssh 0.9.x with pageant support. |
+ | |||
+ | === Pre-built Binaries === | ||
Get the **library** package built with MinGW 4.8.x (currently 4.8.2) from [[http:// | Get the **library** package built with MinGW 4.8.x (currently 4.8.2) from [[http:// | ||
Line 137: | Line 142: | ||
x2goclient-contrib\libssh\0.6.3-762055b-pageant-support-mingw482_bin\lib\*.* -> d: | x2goclient-contrib\libssh\0.6.3-762055b-pageant-support-mingw482_bin\lib\*.* -> d: | ||
</ | </ | ||
+ | |||
+ | === Building From Source === | ||
+ | |||
+ | If you want to rebuild the library (e.g., to backport fixes) or update it as part of the release process, follow these steps. | ||
+ | |||
+ | == Preparation == | ||
+ | |||
+ | Download the tarball from [[https:// | ||
+ | |||
+ | Unpack it as usually. The X2Go Project keeps libssh source code at '' | ||
+ | |||
+ | Adapt any required patches so that they apply cleanup, build and work correctly. | ||
+ | |||
+ | We currently patch libssh to include support for PuTTY' | ||
+ | |||
+ | To rebase patches, the X2Go Project uses the private git repository at '' | ||
+ | * update the repository: < | ||
+ | * check out new release tag (or branch or whatever you intend to build later on): < | ||
+ | * create new branch based on the tag/ | ||
+ | * cherry-pick specific X2Go-related commits from older branches, one '' | ||
+ | * fix any merge conflicts, pull in other upstream code etc. | ||
+ | * update the commit message! | ||
+ | * when done, create patch files: < | ||
+ | |||
+ | Move the patches to the respective source directory and apply them in order. | ||
+ | |||
+ | If needed, install or update '' | ||
+ | |||
+ | == Configuration == | ||
+ | |||
+ | Open a terminal window. Crucially, this must **not** be a '' | ||
+ | |||
+ | Make sure that the MinGW toolchain that was used to build Qt (and will be used to build X2Go CLient later on) is part of the %PATH% variable. On the X2Go Windows Builder, a session spawned via '' | ||
+ | |||
+ | Go to the unpacked source directory: < | ||
+ | |||
+ | Create and switch to a build subdirectory: | ||
+ | |||
+ | The pre-built libssh versions in '' | ||
+ | |||
+ | Call '' | ||
+ | |||
+ | == Build == | ||
+ | |||
+ | Build the software like any other, append '' | ||
+ | |||
+ | < | ||
+ | |||
+ | == Install == | ||
+ | |||
+ | It's recommended to make sure that the install staging area is clean (fully deleted or at least empty) before installing/ | ||
+ | |||
+ | This ensures that old/removed files won't linger around and that changes will not remain undetected. | ||
+ | |||
+ | < | ||
+ | " | ||
+ | |||
+ | Afterwards, clean and install the newly built files into the MinGW prefix: | ||
+ | |||
+ | Header files: | ||
+ | |||
+ | < | ||
+ | rm -rf " | ||
+ | cp -av " | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | As such, it is important to keep these static DLL import libraries around on Windows, even if library is supposed to be used in a dynamically-linked fashion.</ | ||
+ | |||
+ | |||
+ | Library files: | ||
+ | |||
+ | < | ||
+ | for /R " | ||
+ | D: | ||
+ | cd " | ||
+ | for %I in (libssh*) do cp -av " | ||
+ | </ | ||
+ | |||
+ | Afterwards, optionally bundle the new libssh source and binaries in x2goclient-contrib. Explicitly document the command line invocation in a file named '' | ||
===== Build X2Go Client ===== | ===== Build X2Go Client ===== | ||
Line 151: | Line 237: | ||
< | < | ||
$ copy debian\changelog txt\ | $ copy debian\changelog txt\ | ||
- | git --no-pager log --since "2 years ago" --format=" | + | $ git --no-pager log --since "2 years ago" --format=" |
$ copy ChangeLog.gitlog txt\git-info | $ copy ChangeLog.gitlog txt\git-info | ||
- | |||
</ | </ | ||
Line 170: | Line 255: | ||
X2Go Client binaries (x2goclient.exe & x2gohelper.exe) are in d: | X2Go Client binaries (x2goclient.exe & x2gohelper.exe) are in d: | ||
+ | |||
==== Build X2Go Client from source (debug build) ==== | ==== Build X2Go Client from source (debug build) ==== | ||
Repeat the instructions for "Build X2Go Client from source", | Repeat the instructions for "Build X2Go Client from source", | ||
Line 176: | Line 262: | ||
- Edit nsis\x2goclient.nsi so that the following lines: | - Edit nsis\x2goclient.nsi so that the following lines: | ||
- | * CreateShortCut " | + | < |
- | | + | |
- | | + | CreateShortCut " |
+ | CreateShortCut " | ||
+ | </ | ||
Are replaced with the following: | Are replaced with the following: | ||
- | * CreateShortCut " | + | < |
- | | + | |
- | | + | CreateShortCut " |
+ | CreateShortCut " | ||
+ | </ | ||
==== Copy the X2Go Client binaries to the desired folder ==== | ==== Copy the X2Go Client binaries to the desired folder ==== | ||
Line 189: | Line 280: | ||
The 2 binaries to copy are: | The 2 binaries to copy are: | ||
- | - x2goclient.exe (from the '' | + | - '' |
- | - x2gohelper.exe (from the '' | + | - '' |
However, you must decide where you wish to copy them. | However, you must decide where you wish to copy them. | ||
- | - If you wish to run x2goclient from a folder without creating and running the NSIS installer , copy them to the '' | + | - If you wish to run x2goclient from a folder without creating and running the NSIS installer, copy them to the '' |
- | - If you wish to create an x2goclient NSIS installer, create the '' | + | - If you wish to create an x2goclient NSIS installer, create the '' |
==== Pack/ | ==== Pack/ | ||
- | You may want to pack X2Go Client to reduce it size. You can do it with [[http://upx.sourceforge.net/|upx]], which is available for Windows, Linux and Cygwin. | + | You may want to pack X2Go Client to reduce it size. You can do it with [[https://upx.github.io/|upx]], which is available for Windows, Linux and Cygwin. |
- | Official regular builds of X2Go Client are packed. Official debug builds of X2Go Client are not. | + | Official regular builds of X2Go Client are packed. Official debug builds of X2Go Client are not. There is no difference between nightly and release versions - both pack the release binary, while not packing the debug binary. |
It is available in [[http:// | It is available in [[http:// | ||
< | < | ||
- | x2goclient-contrib\upx\3.91_bin\upx.exe | + | x2goclient-contrib\upx\3.95_bin\upx.exe |
</ | </ | ||
The 2 files to pack are: | The 2 files to pack are: | ||
- | - x2goclient.exe | + | - '' |
- | - x2gohelper.exe | + | - '' |
===== Building nxproxy & OpenSSH (Optional) ===== | ===== Building nxproxy & OpenSSH (Optional) ===== | ||
Line 217: | Line 309: | ||
Official X2Go project builds usually rebuild nxproxy and OpenSSH if there are desired updates to those components, or if the cygwin libraries have been updated. | Official X2Go project builds usually rebuild nxproxy and OpenSSH if there are desired updates to those components, or if the cygwin libraries have been updated. | ||
- | Official X2Go project builds are kept under the x2goclient-contrib git repository under a folder like " | + | Official X2Go project builds are kept under the x2goclient-contrib git repository under a folder like " |
==== Installing Cygwin ==== | ==== Installing Cygwin ==== | ||
- | Download and start the [[https:// | + | Download and start the [[https:// |
- | Choose your cygwin | + | Choose your Cygwin |
For the X2Go-WinBuilder VM, install to D: | For the X2Go-WinBuilder VM, install to D: | ||
Line 229: | Line 322: | ||
< | < | ||
- | setup-x86.exe -P " | + | $ setup-x86.exe -P " |
</ | </ | ||
- | on installer page " | + | on installer page " |
* '' | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
Line 242: | Line 335: | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
Line 249: | Line 342: | ||
* '' | * '' | ||
- | <note tip>By installing the '' | + | <note tip>By installing the '' |
- | For building of OpenSSH Server, you will also need:: | + | For building of OpenSSH Server, you will also need: |
- | *libedit-devel | + | * '' |
- | *libncurses-devel | + | * '' |
- | *openssl-devel | + | * '' |
- | *patch | + | * '' |
- | For openssh | + | For OpenSSH |
If you are updating the X2Go Windows build VM, X2Go-WinBuilder, | If you are updating the X2Go Windows build VM, X2Go-WinBuilder, | ||
Line 282: | Line 375: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
+ | * '' | ||
If you are doing official builds, install these **source** packages for both nxproxy and openssh: | If you are doing official builds, install these **source** packages for both nxproxy and openssh: | ||
- | * dash | + | * '' |
- | * cygwin | + | * '' |
- | * gcc (select source for: gcc-core) | + | * '' |
- | * libedit (select source for: libedit0) | + | * '' |
- | * libjpeg-turbo (select source for: libjpeg-devel) | + | * '' |
- | * libpng15 (select source for: libpng-devel) (X2Go Client 4.0.3.x) | + | * '' |
- | * libpng (select source for: libpng-devel) (X2Go Client 4.0.4.x | + | * '' |
- | * ncurses (select source for: libncurses-devel) | + | * '' |
- | * openssh (source, but not binary) | + | * '' |
- | * openssl | + | * '' |
- | * zlib (select source for: zlib-devel) | + | * '' |
==== Building nxproxy 3.5 ==== | ==== Building nxproxy 3.5 ==== | ||
X2Go Client for Windows is currently built with nxproxy 3.5. | X2Go Client for Windows is currently built with nxproxy 3.5. | ||
- | * Open a cygwin shell and change to your build directory. In this example | + | * Open a cygwin shell and change to your build directory. In this example |
< | < | ||
$ cd / | $ cd / | ||
</ | </ | ||
- | * Download and extract the latest nx-libs-lite tarball from http:// | + | * Download and extract the latest nx-libs-lite tarball from [[http:// |
<note warning> | <note warning> | ||
Line 382: | Line 478: | ||
==== Building nxproxy 3.6 ==== | ==== Building nxproxy 3.6 ==== | ||
- | <note tip>X2Go Client for Windows is currently | + | <note tip>X2Go Client for Windows is currently |
- | </ | + | <note important> |
- | <note important> | + | |
- | </ | + | |
- | * Open a cygwin | + | * Open a Cygwin |
< | < | ||
$ cd / | $ cd / | ||
Line 420: | Line 514: | ||
Now the nxproxy binary (nxproxy.exe) is ready. You can copy it into the program packaging folder ('' | Now the nxproxy binary (nxproxy.exe) is ready. You can copy it into the program packaging folder ('' | ||
- | - nx-libs 3.5: From nxproxy directory (d: | + | - nx-libs 3.5: From '' |
- | - nx-libs 3.5: From nxcomp directory (d: | + | - nx-libs 3.5: From '' |
- | - nx-libs 3.6: From nxproxy\src directory (d: | + | - nx-libs 3.6: From '' |
- | - nx-libs 3.5: From nxcomp\src\.libs directory (d: | + | - nx-libs 3.6: From '' |
You must also copy required libraries into that folder. | You must also copy required libraries into that folder. | ||
- | - From cygwin directory (c: | + | - From cygwin directory ('' |
* '' | * '' | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
* '' | * '' | ||
* '' | * '' | ||
Line 436: | Line 531: | ||
If you wish to facilitate debugging, or if you are updating x2goclient-contrib, | If you wish to facilitate debugging, or if you are updating x2goclient-contrib, | ||
- | - nx-libs 3.5: From nxproxy directory (d: | + | - nx-libs 3.5: From '' |
- | - nx-libs 3.5 :From nxcomp directory (d: | + | - nx-libs 3.5: From '' |
* '' | * '' | ||
* '' | * '' | ||
- | - nx-libs 3.6: From nxproxy\src directory (d: | + | - nx-libs 3.6: From '' |
- | - nx-libs 3.5 :From nxcomp\src\.libs directory (d: | + | - nx-libs 3.6: From '' |
* '' | * '' | ||
* '' | * '' | ||
+ | |||
+ | |||
==== Building OpenSSH Server ==== | ==== Building OpenSSH Server ==== | ||
- | Copy the source folder (downloaded and extracted from a tarball by cygwin) to your build directory. In this example | + | Copy the source folder (downloaded and extracted from a tarball by Cygwin) to your build directory. In this example |
< | < | ||
- | $cp -pr / | + | $ cp -pr / |
</ | </ | ||
- | cd to the openssh source directory, extract the upstream (openssh.com) tarball within, and cd to the lower-level source directory | + | '' |
< | < | ||
- | $cd / | + | $ cd / |
- | $tar -xzvf openssh-6.6p1.tar.gz | + | $ tar -xzvf openssh-6.6p1.tar.gz |
- | $cd openssh-6.6p1 | + | $ cd openssh-6.6p1 |
</ | </ | ||
- | Apply any patches that cygwin | + | Apply any patches that Cygwin |
< | < | ||
- | $patch < ../ | + | $ patch < ../ |
</ | </ | ||
Get and apply the X2Go patch, which enables use of the Open SSH Server with X2Go Client | Get and apply the X2Go patch, which enables use of the Open SSH Server with X2Go Client | ||
< | < | ||
- | $wget http:// | + | $ wget http:// |
- | $patch.exe < ../ | + | $ patch.exe < ../ |
</ | </ | ||
Build Open SSH Server | Build Open SSH Server | ||
< | < | ||
- | $./ | + | $ ./configure --libexecdir=/ |
- | $make | + | $ make |
- | $strip *.exe | + | $ strip *.exe |
</ | </ | ||
- | < | + | < |
+ | |||
+ | < | ||
+ | |||
+ | < | ||
- | < | ||
- | < | ||
==== Copying OpenSSH Server binaries ==== | ==== Copying OpenSSH Server binaries ==== | ||
- | Open SSH Server binaries are ready. You can copy it into the program packaging folder (dist/ or nsis/ | + | Open SSH Server binaries are ready. You can copy it into the program packaging folder ('' |
- | *sftp.exe | + | * '' |
- | *sftp-server.exe | + | * '' |
- | *ssh-keygen.exe | + | * '' |
- | *sshd.exe | + | * '' |
For example: | For example: | ||
< | < | ||
- | cp --preserve=time sftp.exe sftp-server.exe ssh-keygen.exe sshd.exe / | + | $ cp --preserve=time sftp.exe sftp-server.exe ssh-keygen.exe sshd.exe / |
</ | </ | ||
- | To be able to run Open SSH Server you should also copy needed programs and libraries from cygwin | + | To be able to run Open SSH Server you should also copy needed programs and libraries from the Cygwin |
- | 1st, copy these files over without changing their filenames. | + | First, copy these files over without changing their filenames. |
- | *cygcrypto-1.0.0.dll | + | * '' |
- | *cygedit-0.dll | + | * '' |
- | *cyggcc_s-1.dll | + | * '' |
- | *cygncursesw-10.dll | + | * '' |
- | *cygssp-0.dll | + | * '' |
- | *cygwin1.dll | + | * '' |
- | *cygz.dll | + | * '' |
For example: | For example: | ||
< | < | ||
- | cd /bin | + | $ cd /bin |
- | cp --preserve=time cygcrypto-1.0.0.dll cygedit-0.dll cyggcc_s-1.dll cygncursesw-10.dll cygssp-0.dll cygwin1.dll cygz.dll / | + | $ cp --preserve=time cygcrypto-1.0.0.dll cygedit-0.dll cyggcc_s-1.dll cygncursesw-10.dll cygssp-0.dll cygwin1.dll cygz.dll / |
</ | </ | ||
- | 2nd, copy the Dash executable over and rename it: | + | Then, copy the dash executable over and rename it: |
< | < | ||
ash.exe -> sh.exe | ash.exe -> sh.exe | ||
Line 519: | Line 617: | ||
For example: | For example: | ||
< | < | ||
- | cp --preserve=time ash.exe / | + | $ cp --preserve=time ash.exe / |
</ | </ | ||
Line 547: | Line 645: | ||
You can then install all of them by using the '' | You can then install all of them by using the '' | ||
- | 1st, clone [[http:// | + | First, clone [[http:// |
Now run the script with the following arguments. In this example: | Now run the script with the following arguments. In this example: | ||
- | * ..\x2goclient-contrib is the path to the x2goclient-contrib git repo | + | * '' |
- | * D: | + | * '' |
- | * "dist" | + | * '' |
< | < | ||
- | cd x2goclient | + | $ cd x2goclient |
- | copy-deps-win32.bat ..\x2goclient-contrib D: | + | $ copy-deps-win32.bat ..\x2goclient-contrib D: |
</ | </ | ||
or to the '' | or to the '' | ||
< | < | ||
- | cd x2goclient | + | $ cd x2goclient |
- | copy-deps-win32.bat nsis\x2goclient | + | $ copy-deps-win32.bat nsis\x2goclient |
</ | </ | ||
Line 569: | Line 667: | ||
However, at the end: | However, at the end: | ||
- | - View the copy-deps-win32.bat file to determine the location of the cygwin | + | - View the '' |
- | - From the cygwin | + | - From the Cygwin |
- Replace nxproxy.exe with nxproxy.exe.unstripped | - Replace nxproxy.exe with nxproxy.exe.unstripped | ||
Line 577: | Line 675: | ||
=== Libraries === | === Libraries === | ||
- | - Add MinGW 4.8' | + | - Add MinGW 4.8' |
* '' | * '' | ||
- | * '' | + | * '' |
- | * libwinpthread-1.dll | + | * '' |
- Add OpenSSL libraries (copy from your OpenSSL installation directory) | - Add OpenSSL libraries (copy from your OpenSSL installation directory) | ||
* '' | * '' | ||
Line 586: | Line 684: | ||
- libssh library ([[wiki: | - libssh library ([[wiki: | ||
* '' | * '' | ||
- | | + | - zlib library for libssh (available [[http:// |
- | * '' | + | |
- | - zlib library for libzip (available [[http:// | + | |
- | * '' | + | |
- | | + | |
* '' | * '' | ||
- | - If you want to use X2Go Client on older versions of Windows, you should put the " | + | - If you want to use X2Go Client on older versions of Windows, you should put the " |
* '' | * '' | ||
* '' | * '' | ||
Line 600: | Line 694: | ||
=== nxproxy === | === nxproxy === | ||
- | The latest version is available in [[http:// | + | The latest version is available in [[http:// |
You can download older versions, including their libraries, from here [[http:// | You can download older versions, including their libraries, from here [[http:// | ||
Line 612: | Line 706: | ||
Older builds do not have nxproxy.exe.unstripped; | Older builds do not have nxproxy.exe.unstripped; | ||
- | === OpenSSH | + | === OpenSSH |
X2Go Client for Windows uses a modified Cygwin OpenSSH Server for file sharing. | X2Go Client for Windows uses a modified Cygwin OpenSSH Server for file sharing. | ||
- | The latest version is available in [[http:// | + | The latest version is available in [[http:// |
You can download older versions from [[http:// | You can download older versions from [[http:// | ||
Line 630: | Line 724: | ||
Note that the files must be installed to the '' | Note that the files must be installed to the '' | ||
- | Even older Windows builds are available from [[http:// | + | Even older Windows builds are available from [[http:// |
=== VcXsrv - XP Compatible === | === VcXsrv - XP Compatible === | ||
Line 640: | Line 734: | ||
Note that the files must be installed to the '' | Note that the files must be installed to the '' | ||
- | Building VcXsrv from source is not the part of this Howto. However, it is documented | + | Building VcXsrv from source is not the part of this howto. However, it is documented |
All official X2Go Project builds use the 32-bit builds of VcXsrv. 64-bit builds are probably compatible with the 32-bit X2Go Client, but have not been tested. Furthermore, | All official X2Go Project builds use the 32-bit builds of VcXsrv. 64-bit builds are probably compatible with the 32-bit X2Go Client, but have not been tested. Furthermore, | ||
Line 649: | Line 743: | ||
Also, if you are doing an official X2Go Project build, remove these files that X2Go Client does not need and would take up extra space: | Also, if you are doing an official X2Go Project build, remove these files that X2Go Client does not need and would take up extra space: | ||
- | *iconv.dll | + | * '' |
- | *libgcc-s-sjlj-1.dll | + | * '' |
- | *libiconv-2.dll | + | * '' |
- | *libwinpthread-1.dll | + | * '' |
- | *libxml2.dll | + | * '' |
- | *libxml2-2.dll | + | * '' |
- | *plink.exe | + | * '' |
- | *uninstall.exe | + | * '' |
- | *xauth.exe | + | * '' |
- | *XCalc | + | * '' |
- | *xcalc.exe | + | * '' |
- | *XCalc-color | + | * '' |
- | *XClock | + | * '' |
- | *xclock.exe | + | * '' |
- | *XClock-color | + | * '' |
- | *xhost.exe | + | * '' |
- | *xlaunch.exe | + | * '' |
- | *xrdb.exe | + | * '' |
- | *xwininfo.exe | + | * '' |
- | Also, if you are doing an official X2Go Project build, before importing it into x2goclient-contrib, | + | Also, if you are doing an official X2Go Project build, before importing it into x2goclient-contrib, |
- | Using debian's strip-nondeterminism (a perl script that calls a perl library, both of which can be extracted from their deb's & run fine under Cygwin): | + | Using Debian's strip-nondeterminism (a perl script that calls a perl library, both of which can be extracted from their deb's & run fine under Cygwin): |
< | < | ||
- | cd / | + | $ cd / |
- | find . -name *.gz | xargs strip-nondeterminism | + | $ find . -iname '*.gz' -exec strip-nondeterminism |
</ | </ | ||
If you are doing an official X2Go Project build, create this file in the VcXsrv folder: | If you are doing an official X2Go Project build, create this file in the VcXsrv folder: | ||
- | *vcxsrv-version.txt | + | * '' |
- | And specify the version string of VcXsrv in it. The version string should be the only contents | + | And specify the version string of VcXsrv in it. The version string should be the only content |
1.15.2.3+xp-vc2013+x2go1 | 1.15.2.3+xp-vc2013+x2go1 | ||
If you are doing an official X2Go Project build, copy the project' | If you are doing an official X2Go Project build, copy the project' | ||
- | *COPYING.txt | + | * '' |
+ | |||
+ | === x3270-fonts ==== | ||
+ | |||
+ | For IBM x3270 compatibility, | ||
+ | |||
+ | Note that versions prior to 3.6 are classified non-free by major distributions due to their custom, restrictive license. Do **not** use and (re-)distribute older versions than 3.6 with X2Go Client. | ||
+ | |||
+ | ==== Updating x3270 Fonts Package ==== | ||
+ | |||
+ | * Check the current licensing situation. Do **not** update the package if it becomes non-free again. | ||
+ | * Build the x3270 package, download a complete precompiled one or just fetch a binary fonts package. Debian conveniently offers one named [[https:// | ||
+ | * Create a new versioned subdirectory in the '' | ||
+ | * Extract the binary fonts. | ||
+ | * Make sure that all binary font files are located in one single directory called '' | ||
+ | * Get copyright and licensing information and place them into a file called '' | ||
+ | * Use Debian' | ||
+ | < | ||
+ | $ find misc -iname ' | ||
+ | </ | ||
+ | * For official builds, create timestamps script: | ||
+ | < | ||
+ | $ cd .. | ||
+ | $ ../ | ||
+ | </ | ||
+ | * For official builds, call the timestamps script in x2goclient-contrib' | ||
+ | * For official builds, update the [[https:// | ||
=== PuTTY === | === PuTTY === | ||
- | you can download PuTTY for Windows from [[http:// | + | You can download PuTTY for Windows from [[https:// |
These are the only binaries you need from PuTTY. Copy them directly into the '' | These are the only binaries you need from PuTTY. Copy them directly into the '' | ||
- | *plink.exe | + | * '' |
- | *pscp.exe | + | * '' |
+ | |||
+ | Out of courtesy, we also ship the following additional, not strictly needed binaries: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
===== Creating an NSIS Installer ===== | ===== Creating an NSIS Installer ===== | ||
- | Install NSIS Unicode | + | Install NSIS (currently, |
+ | |||
+ | Previously, we used NSIS Unicode, but this project is stale and NSIS 3.x nowadays supports Unicode. | ||
- | Then, edit nsis/ | + | Then, edit '' |
- | Then, open nsis\x2goclient.nsi with NSIS Unicode. It will build an installer (*-setup.exe) | + | Then, open '' |
If you wish to build via the command-line, | If you wish to build via the command-line, | ||
< | < | ||
- | " | + | $ " |
</ | </ | ||
(Adjust path if on 32-bit Windows.) | (Adjust path if on 32-bit Windows.) |