From f7e54cc8a29e5fa319ce21d6ec268e210397740a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 24 Jun 2017 21:55:37 +0100 Subject: write a proper Makefile, rearrange source code a bit --- src/frontend/cli/sisyphus-cli.py | 33 +++++++++++ src/frontend/cli/sisyphus-cli.sh | 116 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 149 insertions(+) create mode 100755 src/frontend/cli/sisyphus-cli.py create mode 100755 src/frontend/cli/sisyphus-cli.sh (limited to 'src/frontend/cli') diff --git a/src/frontend/cli/sisyphus-cli.py b/src/frontend/cli/sisyphus-cli.py new file mode 100755 index 0000000..3d4fb3a --- /dev/null +++ b/src/frontend/cli/sisyphus-cli.py @@ -0,0 +1,33 @@ +#!/usr/bin/python3 + +import sys +import subprocess +from libsisyphus import * + +check_if_srcmode() + +if "__main__" == __name__: + if "install" in sys.argv[1:]: + sisyphus_pkg_install() + elif "uninstall" in sys.argv[1:]: + sisyphus_pkg_uninstall() + elif "force-uninstall" in sys.argv[1:]: + sisyphus_pkg_force_uninstall() + elif "remove-orphans" in sys.argv[1:]: + sisyphus_pkg_remove_orphans() + elif "upgrade" in sys.argv[1:]: + sisyphus_pkg_system_upgrade() + elif "auto-install" in sys.argv[1:]: + sisyphus_pkg_auto_install() + elif "auto-uninstall" in sys.argv[1:]: + sisyphus_pkg_auto_uninstall() + elif "auto-force-uninstall" in sys.argv[1:]: + sisyphus_pkg_auto_force_uninstall() + elif "auto-remove-orphans" in sys.argv[1:]: + sisyphus_pkg_auto_remove_orphans() + elif "auto-upgrade" in sys.argv[1:]: + sisyphus_pkg_auto_system_upgrade() + elif "search" in sys.argv[1:]: + sisyphus_pkg_search() + elif "update" in sys.argv[1:]: + sisyphus_pkg_system_update() diff --git a/src/frontend/cli/sisyphus-cli.sh b/src/frontend/cli/sisyphus-cli.sh new file mode 100755 index 0000000..79023aa --- /dev/null +++ b/src/frontend/cli/sisyphus-cli.sh @@ -0,0 +1,116 @@ +#!/usr/bin/env bash + +source /usr/lib/sisyphus/libsisyphus.sh + +checksystemmode + +action=$1 +shift + +case "$action" in + install) + checksync + localdbcsvpre + emerge -a "$@" + updatelocaldb + ;; + uninstall) + checksync + localdbcsvpre + emerge --depclean -a "$@" + updatelocaldb + ;; + force-uninstall) + checksync + localdbcsvpre + emerge --unmerge -a "$@" + updatelocaldb + ;; + remove-orphans) + checksync + localdbcsvpre + emerge --depclean -a + updatelocaldb + ;; + upgrade) + checksync + localdbcsvpre + emerge -uDaN --with-bdeps=y @system @world "$@" + updatelocaldb + ;; + auto-install) + redcoresync + localdbcsvpre + emerge "$@" + updatelocaldb + ;; + auto-uninstall) + redcoresync + localdbcsvpre + emerge --depclean "$@" + updatelocaldb + ;; + auto-force-uninstall) + redcoresync + localdbcsvpre + emerge --unmerge "$@" + updatelocaldb + ;; + auto-remove-orphans) + redcoresync + localdbcsvpre + emerge --depclean -q + updatelocaldb + ;; + auto-upgrade) + redcoresync + localdbcsvpre + emerge -uDN --with-bdeps=y @system @world "$@" + updatelocaldb + ;; + search) + emerge -s "$@" + ;; + update) + redcoresync + ;; + belongs) + equery belongs "$@" + ;; + depends) + equery depends "$@" + ;; + files) + equery files "$@" + ;; + sysinfo) + emerge --info + ;; + *) + cat <<-"EOH" + Usage: sisyphus command [package(s)] + + sisyphus is a simple wrapper around portage, gentoolkit, and portage-utils that provides an + apt-get/yum-alike interface to these commands, to assist people transitioning from + Debian/RedHat-based systems to Gentoo. + + Commands : + install - Install new packages + uninstall - Uninstall packages safely + force-uninstall - *Unsafely* uninstall packages + remove-orphans - Uninstall packages that are no longer needed + upgrade - Upgrade system + auto-install - Install new packages (no confirmation) + auto-uninstall - Uninstall packages safely (no confirmation) + auto-force-uninstall - *Unsafely* uninstall packages (no confirmation) + auto-remove-orphans - Uninstall packages that are no longer needed (no confirmation) + auto-upgrade - Upgrade system (no confirmation) + search - Search for packages + update - Resync portage tree, portage config && redcore overlay + belongs - List what package FILE(s) belong to + depends - List all packages directly depending on given package + files - List all files installed by package + sysinfo - Display information about installed core packages and portage configuration + EOH + ;; +esac -- cgit v1.2.3