v3.11.0 (#211)
- PHP 7.4 support - Improved Webp images support with Cloudflare (Issue [#95](https://github.com/WordOps/WordOps/issues/95)). Nginx will not serve webp images alternative with Cloudflare IP ranges. - Stack upgrade for adminer - Check acme.sh installation and setup acme.sh if needed before issuing certificate - Add `--ufw` to `wo stack status` - Add Nginx directive `gzip_static on;` to serve precompressed assets with Cache-Enabler or WP-Rocket. (Issue [#207](https://github.com/WordOps/WordOps/issues/207)) - Previous `--php73` & `--php73=off` flags are replaced by `--php72`, `--php73`, `--php74` to switch site's php version - phpMyAdmin updated to v4.9.2 - Adminer updated to v4.7.5 - Replace dot and dashes by underscores in database names (Issue [#206](https://github.com/WordOps/WordOps/issues/206)) - Increased database name length to 32 characters from domain name + 8 random characters - typo error in motd-news script (Issue [#204](https://github.com/WordOps/WordOps/issues/204)) - Install Nginx before ngxblocker - WordOps install/update script text color - Issue with MySQL stack on Raspbian 9/10 - Typo error (PR [#205](https://github.com/WordOps/WordOps/pull/205)) - php version in `wo debug` (PR [#209](https://github.com/WordOps/WordOps/pull/209)) - SSL certificates expiration display with shared wildcard certificates
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
"""WordOps package installation using apt-get module."""
|
||||
import subprocess
|
||||
import sys
|
||||
import os
|
||||
|
||||
from sh import ErrorReturnCode, apt_get
|
||||
|
||||
@@ -222,6 +223,29 @@ class WOAptGet():
|
||||
# apt_cache.close()
|
||||
return False
|
||||
|
||||
def is_exec(self, package_name):
|
||||
"""
|
||||
Check if package is available by looking
|
||||
for an executable or a systemd service related
|
||||
to this package
|
||||
"""
|
||||
exec_path = ["/bin", "/usr/bin", "/usr/local/bin",
|
||||
"/usr/sbin", "/usr/local/sbin"]
|
||||
for path in exec_path:
|
||||
if os.path.exists('{0}/{1}'.format(path, package_name)):
|
||||
return True
|
||||
return False
|
||||
|
||||
def is_selected(self, package_name, packages_list):
|
||||
"""
|
||||
Check if package is selected for install/removal/purge
|
||||
in packages_list
|
||||
"""
|
||||
for package in packages_list:
|
||||
if package_name == package[2]:
|
||||
return True
|
||||
return False
|
||||
|
||||
def download_only(self, package_name, repo_url=None, repo_key=None):
|
||||
"""
|
||||
Similar to `apt-get install --download-only PACKAGE_NAME`
|
||||
|
||||
Reference in New Issue
Block a user