Fixes some issues with Py3 not building
Brings the 2 build_env files more in line with each other
Fixes some typos in the build_env scripts
Removes the need for seperate req files for Py2 and Py3
Setup.py uses the windows req file on Windows
Removes the need to install pycrypto and pyyaml in setup.py. They are
now handled in the req.txt
Uses pypi resources instead of downloading .whl files and .exes for
dependencies
Updates nssm version to address the issue in #46192
Removes nssm from buildenv and downloads 32 and 64 bit versions of nssm
in build_pkg.bat
Removes the AppNoConsole=1 setting from the nsis script since it is not
needed with the new version of nssm
The configuration option max_open_files defaults to 100,000, but the
salt-master service is only started with a limit of 16,384 open files.
Therefore the higher limit cannot be applied and there will be a log
message:
Current values for max open files soft/hard setting: 16384/16384
The value for the 'max_open_files' setting, 100000, is higher than what
the user running salt is allowed to raise to, 16384. Defaulting to
16384.
This is related to #40173.
setup.py
- Remove PyCrypto install, that happens through req.txt
- Remove PyYAML install, that happens through req.txt
- Add PyWin32 install, that happens with downloaded .whl
- Detect if PyWin32 is already installed before installing
build_env_#.py
- Put PyWin32 dlls in Python root instead of site-packages\win32
- hide gen_py directory creation message
- Adds `/custom-config=` switch where you can pass the name of the
custom config file that resides in the same directory as the installer
or the full path to a custom config in another location
- Changes from using `/use-existing-config` to `/default-config` since
existing config is default anyway
- If you pass a minion or master setting, the default is to use the
default config
- Passing minion or master settins will modify the default config or the
custom config
- Changed from using a checkbox to denote existing config to a drop down
box to denote the type of config to use. Options are `Default Config`,
`Existing Config`, and `Custom Config`
- `Existing Config` is only added to the drop down if an existing config
is found on the system.
- Adds a file picker to the config dialog that allows you to browse to
the custom config. The file picker is only displayed when the config
type is `Custom Config`
- Improves the writing of multimaster settings to the default or custom
config. If multimaster is configured in the custom config and the user
passes multiple master settings those settings are written properly
- If there is an existing config and the config type is NOT `Existing
Config`, the existing config is backed up (given the .bak extension)
instead of deleted. This includes the `minion.d` directory.
- If "/custom-config` is passed from the command line but the specified
file does not exist, the installer just ends instead of uninstalling
salt. (This is for Silent installations)
- If the Config Specified in the GUI does not exist, the installer will
not continue until a valid file is specified.
- Changes the `/passive` switch in the vcredist installation to `/quiet`
for installation on headless systems.
Installation fails on headless machines if `/passive` is set, `/passive` will display an installation progress bar on windows desktop. `/quiet` suppresses the GUI and does not fail when there is no desktop session available. Fixes#45036.
Upgrade dependencies where available
Downloaded:
- libsodium to 1.0.15
- OpenSSL to 1.0.2n
- Python to 2.7.14
Pip:
- apache-libcloud to 2.2.1
- cffi to 1.11.2
- CherryPy to 13.0.0
- GitPython to 2.1.7
- idna to 2.6
- Jinja2 to 2.9.6
- pyasn1 to 0.4.2
- pyzmq to 17.0.0b3
- requests to 2.18.4
- six to 1.11.0
- tornado to 4.5.2
- cryptography to 2.1.4
- pyOpenSSL to 17.5.0
Update shasums for downloaded updates
Make the scripts self sudo themselves
Since we're forcing the script to run as sudo, remove individual sudo
calls
Move /opt/salt into variable $INSTALL_DIR in the build_env script
Allows you to pass a comma-delimited list of masters to the master combo
box or the /master command line switch
Parses the existing minion config file to get multimaster settings
Adds an checkbox to use the existing config in the minion config page
When the box is checked, show the existing config grayed out
When unchecked, show default values
Adss the /use-existing-config= command line switch for use from the
command line
Adds support for a help switch on the command line (/?) to display the
supported command line paramaters
Py3 installs to c:\python35
Quote the path to the python install directory
Fix spellings in comments
Move pywin32 dlls to site-packages/win32 instead of python root
Remove pywin32 postinstall and testing scripts
Add passive switch to py3 uninstall
Windows default for stopping a service is 30 seconds. This changes the
default timeouts for the salt-minion service to more closely resemble
how it is handled in Windows. This gives Python a chance to cleanly exit
before being forcibly closed.
Version 2.1.4+ requires git to be installed, usually in the form of xcode
command line tools. 2.1.3 has a memory leak problem, 2.1.2 is not
available. So that leaves 2.1.1.