ndev-stack 0.3.5__tar.gz → 0.3.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/PKG-INFO +1 -1
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/__init__.py +1 -1
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/upgrade.py +4 -4
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/upgrade.py +9 -15
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev_stack.egg-info/PKG-INFO +1 -1
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/pyproject.toml +1 -1
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/README.md +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/__main__.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/cli.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/__init__.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/config.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/constants.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/distro.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/github.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/logger.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/manifest.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/__init__.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/base.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/mailpit/manifest.json +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/mailpit/module.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/mongodb/manifest.json +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/mongodb/module.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/postgres/manifest.json +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/postgres/module.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/redis/manifest.json +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/builtin/redis/module.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/modules/manager.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/common/utils.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/__init__.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/chroot/manager.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/chroot/packages.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/chroot/shell.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/cli.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/available.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/clean.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/ctl.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/current.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/db.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/doctor.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/grok.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/install.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/list.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/logs.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/mailpit.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/modules.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/mongodb.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/postgres.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/reload.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/restart.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/setup.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/start.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/status.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/stop.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/uninstall.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/update.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/use.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/commands/vhost.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/php/builder.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/php/downloader.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/php/extensions.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/php/installer.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/php/resolver.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/php/templates.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/fpm.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/mailpit.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/nginx_helper.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/pma.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/process.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/services.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/runtime/sockets.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/linux/tui.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/main.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/tui.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/__init__.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/bin/shim.exe +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/cli.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/commands/__init__.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/__init__.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/db.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/elevate.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/ext.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/fcgi.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/grok.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/logs.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/mailpit.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/mkcert.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/paths.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/php.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/pma.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/redis_core.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/services.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/setup.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/shim.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/upgrade.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/core/vhost.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/templates/vhost.conf.tmpl +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/templates/vhost_ssl.conf.tmpl +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev/win/tui.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev_stack.egg-info/SOURCES.txt +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev_stack.egg-info/dependency_links.txt +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev_stack.egg-info/entry_points.txt +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev_stack.egg-info/requires.txt +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/ndev_stack.egg-info/top_level.txt +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/setup.cfg +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/tests/test_opensuse_compat.py +0 -0
- {ndev_stack-0.3.5 → ndev_stack-0.3.6}/tests/test_shim.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ndev-stack
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.6
|
|
4
4
|
Summary: Cross-platform developer stack manager for PHP, FastCGI/PHP-FPM, MariaDB, Redis, PostgreSQL, MongoDB, Nginx, SSL, and Mailpit on Linux and Windows
|
|
5
5
|
Author-email: Ankit Karan <ankit.karan99@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/ankitkaran99/ndev
|
|
@@ -71,11 +71,11 @@ def main(
|
|
|
71
71
|
console.print(f"\n[bold blue]Upgrading {len(targets)} component(s): {', '.join(targets)}...[/bold blue]\n")
|
|
72
72
|
|
|
73
73
|
for target in targets:
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
console.print(f"[bold cyan]Upgrading {target}...[/bold cyan]")
|
|
75
|
+
ok, msg = upgrade_rt.upgrade_component(target)
|
|
76
76
|
if ok:
|
|
77
|
-
console.print(f"[bold green]✓ {msg}[/bold green]")
|
|
77
|
+
console.print(f"[bold green]✓ {msg}[/bold green]\n")
|
|
78
78
|
else:
|
|
79
|
-
console.print(f"[bold red]✗ {msg}[/bold red]")
|
|
79
|
+
console.print(f"[bold red]✗ {msg}[/bold red]\n")
|
|
80
80
|
|
|
81
81
|
console.print("\n[bold green]Upgrade process complete![/bold green]")
|
|
@@ -392,31 +392,25 @@ def _download_latest_mkcert() -> tuple[bool, str]:
|
|
|
392
392
|
except Exception:
|
|
393
393
|
pass
|
|
394
394
|
|
|
395
|
+
# Attempt -install if passwordless sudo or root is available; don't block on password prompt
|
|
395
396
|
try:
|
|
396
|
-
|
|
397
|
+
can_elevate = (os.geteuid() == 0)
|
|
398
|
+
if not can_elevate and shutil.which("sudo"):
|
|
399
|
+
res = subprocess.run(["sudo", "-n", "true"], capture_output=True)
|
|
400
|
+
can_elevate = (res.returncode == 0)
|
|
401
|
+
if can_elevate:
|
|
402
|
+
subprocess.run([str(dest), "-install"], check=False, capture_output=True)
|
|
397
403
|
except Exception:
|
|
398
404
|
pass
|
|
399
405
|
|
|
400
406
|
info = get_mkcert_info()
|
|
401
|
-
return True, f"mkcert upgraded successfully ({info.current_version or target_ver})."
|
|
407
|
+
return True, f"mkcert installed/upgraded successfully ({info.current_version or target_ver})."
|
|
402
408
|
except Exception as e:
|
|
403
409
|
return False, f"mkcert binary download failed: {e}"
|
|
404
410
|
|
|
405
411
|
|
|
406
412
|
def upgrade_mkcert() -> tuple[bool, str]:
|
|
407
|
-
|
|
408
|
-
if shutil.which("zypper") or shutil.which("apt") or shutil.which("apt-get"):
|
|
409
|
-
_upgrade_system_packages(["mkcert"])
|
|
410
|
-
mkcert_bin = which_binary("mkcert")
|
|
411
|
-
if mkcert_bin:
|
|
412
|
-
try:
|
|
413
|
-
subprocess.run([mkcert_bin, "-install"], check=False)
|
|
414
|
-
except Exception:
|
|
415
|
-
pass
|
|
416
|
-
info = get_mkcert_info()
|
|
417
|
-
return True, f"mkcert upgraded successfully ({info.current_version})."
|
|
418
|
-
|
|
419
|
-
# 2. Fallback to direct prebuilt binary download
|
|
413
|
+
"""Download and set up latest standalone mkcert binary (unprivileged, zero sudo required)."""
|
|
420
414
|
return _download_latest_mkcert()
|
|
421
415
|
|
|
422
416
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ndev-stack
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.6
|
|
4
4
|
Summary: Cross-platform developer stack manager for PHP, FastCGI/PHP-FPM, MariaDB, Redis, PostgreSQL, MongoDB, Nginx, SSL, and Mailpit on Linux and Windows
|
|
5
5
|
Author-email: Ankit Karan <ankit.karan99@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/ankitkaran99/ndev
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ndev-stack"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.6"
|
|
8
8
|
description = "Cross-platform developer stack manager for PHP, FastCGI/PHP-FPM, MariaDB, Redis, PostgreSQL, MongoDB, Nginx, SSL, and Mailpit on Linux and Windows"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|