MCPcopy Create free account
hub / github.com/dedsec1121fk/DedSec / _mk_cmds

Function _mk_cmds

Scripts/Developer Base/Mobile Desktop.py:267–347  ·  view source on GitHub ↗

Build install/remove commands per distro family. Provide either package list/string or an override command for a family.

(pkgs_deb=None, pkgs_arch=None, pkgs_alpine=None, pkgs_fedora=None, pkgs_suse=None, pkgs_void=None,
             deb_override=None, arch_override=None, alpine_override=None, fedora_override=None, suse_override=None, void_override=None)

Source from the content-addressed store, hash-verified

265]
266
267def _mk_cmds(pkgs_deb=None, pkgs_arch=None, pkgs_alpine=None, pkgs_fedora=None, pkgs_suse=None, pkgs_void=None,
268 deb_override=None, arch_override=None, alpine_override=None, fedora_override=None, suse_override=None, void_override=None):
269 """Build install/remove commands per distro family.
270 Provide either package list/string or an override command for a family.
271 """
272 def _pkgs(x):
273 if x is None:
274 return None
275 if isinstance(x, (list, tuple)):
276 return " ".join(x)
277 return str(x).strip()
278
279 cmd = {}
280
281 # Debian/Ubuntu
282 if deb_override:
283 cmd["debian"] = {"install": deb_override, "remove": "true"}
284 else:
285 pk = _pkgs(pkgs_deb)
286 if pk:
287 cmd["debian"] = {
288 "install": f"export DEBIAN_FRONTEND=noninteractive; apt-get update -y && apt-get install -y {pk}",
289 "remove": f"apt-get remove -y {pk} || true && apt-get autoremove -y || true",
290 }
291
292 # Arch
293 if arch_override:
294 cmd["arch"] = {"install": arch_override, "remove": "true"}
295 else:
296 pk = _pkgs(pkgs_arch)
297 if pk:
298 cmd["arch"] = {
299 "install": f"pacman -Syu --noconfirm || true; pacman -S --noconfirm {pk}",
300 "remove": f"pacman -Rns --noconfirm {pk} || true",
301 }
302
303 # Alpine
304 if alpine_override:
305 cmd["alpine"] = {"install": alpine_override, "remove": "true"}
306 else:
307 pk = _pkgs(pkgs_alpine)
308 if pk:
309 cmd["alpine"] = {
310 "install": f"apk update && apk add {pk}",
311 "remove": f"apk del {pk} || true",
312 }
313
314 # Fedora
315 if fedora_override:
316 cmd["fedora"] = {"install": fedora_override, "remove": "true"}
317 else:
318 pk = _pkgs(pkgs_fedora)
319 if pk:
320 cmd["fedora"] = {
321 "install": f"dnf -y upgrade || true; dnf -y install {pk}",
322 "remove": f"dnf -y remove {pk} || true",
323 }
324

Callers 1

_add_progFunction · 0.70

Calls 1

_pkgsFunction · 0.70

Tested by

no test coverage detected