11{% extends "base.html" %} {% block title %}Bootstrapping instructions{% endblock
22%} {% block content %}
33< h1 > Bootstrapping instructions</ h1 >
4- < h2 > Installing a Linux Environment</ h2 >
5- < h3 > Installing Cygwin</ h3 >
4+ < h2 > 1. Setting Up a POSIX Environment</ h2 >
5+ < h3 > Option 1: Installing Cygwin</ h3 >
66< p >
7- If you already have a Cygwin install that you would like to preserve, rename
8- it so that it doesn't get overwritten (something like "cygwin64-old").
7+ Cygwin is a lightweight POSIX environment that provides the minimum
8+ requirements needed for a Windows client PC to efficiently transfer files to a
9+ Unix storage server. However, it currently does not support building and
10+ installing packages which have been written in Rust, which many modern Python
11+ packages, including Murfey's dependencies, now make use of. Nevertheless,
12+ older versions of Murfey will still work with it.
913</ p >
1014< p >
11- Download the Cygwin setup executable using this
15+ To install, download the Cygwin setup executable using this
1216 < a href ="{{ proxy_path }}/cygwin/setup-x86_64.exe "> mirror</ a > , and then run
1317 the following from a terminal (both Command Prompt and Windows Powershell
14- work)
18+ work):
1519</ p >
1620< pre style ="font-family: monospace ">
1721 $ setup-x86_64.exe -O -R C:\cygwin64 -s {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/cygwin -P curl,python3,rsync -q
@@ -21,38 +25,43 @@ <h3>Installing Cygwin</h3>
2125 Cygwin install command will occasionally hang after completion. In such an
2226 event, just hit Enter to return to a normal command prompt window.
2327</ p >
28+ < p >
29+ If you already have a Cygwin install that you would like to preserve, rename
30+ it so that it doesn't get overwritten (something like "cygwin64-old") before
31+ running the command line above.
32+ </ p >
2433
25- < h3 > Installing MSYS2</ h3 >
34+ < h3 > Option 2: Installing MSYS2</ h3 >
2635< p >
27- MSYS2 is a lightweight Linux environment which provides compiler support for
36+ MSYS2 is a lightweight POSIX environment which provides compiler support for
2837 the more modern programming languages used by Murfey's package dependencies.
2938</ p >
3039< p >
31- The Murfey server supports the forwarding of download requests to client PCs
32- that cannot access the wider internet. Download the MSYS2 setup executable
40+ The Murfey server supports the forwarding of download requests to
41+ network-restricted client PCs. To install MSYS2, download the setup executable
3342 using this
34- < a href ="{{ proxy_path }}/msys2/distrib/msys2-x86_64-latest.exe "> mirror</ a > ,
35- and run the executable using the default settings. This will install it to
43+ < a href ="{{ proxy_path }}/msys2/repo/distrib/msys2-x86_64-latest.exe "
44+ > mirror</ a
45+ > , then run it using the default settings. This will install MSYS2 to
3646 C:\msys64.
3747</ p >
48+ < h4 > A. Setting Up the Package Manager (If Network-Restricted)</ h4 >
3849< p >
3950 By default, MSYS2 comes with preset lists of mirrors and servers that it
40- installs its packages from. These will need to be disabled, and replaced with
41- URLs of the same format that point to the Murfey server the client PC is
42- connected to.
51+ installs its packages from. On a network-restricted PC, these will need to be
52+ replaced with files that point to the Murfey server instead. They can be
53+ downloaded via this
54+ < a href ="{{ proxy_path }}/msys2/config/pacman.d.zip "> link</ a > .
4355</ p >
4456< p >
45- These lists can be found in the following folder, if the default installation
46- options were chosen:
57+ Once downloaded, extract the files to
58+ < span style ="font-family: monospace "> %MSYS64%\etc\pacman.d</ span > . If MSYS2
59+ was installed at the default location, this will be:
4760</ p >
4861< pre style ="font-family: monospace ">
49- C:\msys64\etc\pacman.d\mirrorlist.{environment}
50- </ pre >
51- < p > This is an example of how the URL to the Murfey server should look like:</ p >
52- < pre style ="font-family: monospace ">
53- Server = https://repo.msys2.org/mingw/x86_64/ # Original URL
54- Server = {{ request.url.scheme }}://{{ netloc }}{{ proxy_path }}/msys2/mingw/x86_64/ # Murfey URL
62+ C:\msys64\etc\pacman.d
5563</ pre >
64+ < h4 > B. Installing Dependencies</ h4 >
5665< p >
5766 MSYS2 comes with multiple environments, but UCRT64 is the most modern one. In
5867 order for the Murfey client to be able to install and run its dependencies
@@ -70,12 +79,44 @@ <h3>Installing MSYS2</h3>
7079 < span style ="font-family: monospace "> vim</ span > can also be installed by
7180 running
7281 < span style ="font-family: monospace "> pacman -S <package-name></ span > .
73- You can browse the other packages supported by
74- < span style =" font-family: monospace " > pacman </ span > by searching the repo using
82+ You can browse the other packages available on MSYS2 by searching the repo
83+ using
7584 < span style ="font-family: monospace "> pacman -Ss <package-name></ span >
7685</ p >
86+ < h4 > C. Configuring the Rust Package Manager (If Network-Restricted)</ h4 >
87+ < p >
88+ Many newer Python packages now have dependencies written in Rust that allow
89+ them to operate more efficiently. MSYS2 supports the compilation and
90+ installation of such packages, and is thus our recommended POSIX environment
91+ to use Murfey with.
92+ </ p >
93+ < p >
94+ Rust packages and their associated metadata are, by default, stored in
95+ < span style ="font-family: monospace "> https://crates.io</ span > . Package
96+ download and installation is in turn conducted by the package manager
97+ < span style ="font-family: monospace "> cargo</ span > . For network-restricted
98+ client PCs, Murfey also supports mirroring
99+ < span style ="font-family: monospace "> https://crates.io</ span > to facilitate
100+ the installation of Rust packages.
101+ </ p >
102+ < p >
103+ To configure < span style ="font-family: monospace "> cargo</ span > , simply
104+ download the pre-configured
105+ < span style ="font-family: monospace "> config.toml</ span > file via this
106+ < a href ="{{ proxy_path }}/rust/cargo/config.toml "> link</ a > . This file should
107+ then be pasted in a < span style ="font-family: monospace "> .cargo</ span > folder,
108+ which, by default, shold be located in your User Profile homespace:
109+ </ p >
110+ < pre style ="font-family: monospace "> %USERPROFILE%\.cargo</ pre >
111+ < p > For a user named Murfey, for example, this would take the form:</ p >
112+ < pre style ="font-family: monospace "> C:\Users\Murfey\.cargo</ pre >
113+ < p >
114+ With this file configured,
115+ < span style ="font-family: monospace "> cargo</ span > will know to look for
116+ package metadata and files via the Murfey mirror instead.
117+ </ p >
77118
78- < h2 > Setting Up Python</ h2 >
119+ < h2 > 2. Setting Up Python</ h2 >
79120< p >
80121 Once Python and pip are installed in the terminal, you have the option to
81122 install Murfey in either the base environment or a virtual environment. The
0 commit comments