#!/usr/bin/python3 def show(): print("\n" + "Usage : sisyphus command [package(s)] || [file(s)]" + "\n") print("Sisyphus is a simple python wrapper around portage, gentoolkit, and portage-utils which provides") print("an apt-get/yum-alike interface to these commands, to assist newcomer people transitioning from") print("Debian/RedHat-based systems to Gentoo." + "\n") print("Commands :" + "\n") print("--install") print("* Install binary and/or ebuild (source) packages" + "\n") print("--uninstall") print("* Uninstall packages *SAFELY* by checking for reverse dependencies") print("* If reverse dependencies exist, the package(s) will NOT be uninstalled to prevent the possible breakage of the system") print("* If you really want to uninstall the package, make sure you uninstall all reverse dependencies as well") print("* This will not allways be possible, as the reverse dependency chain may be way to long and require you to uninstall critical system packages" + "\n") print("--force-uninstall") print("* Uninstall packages *UNSAFELY* by ignoring reverse dependencies") print("* This may break your system if you uninstall critical system packages") print("* It will try the best it can to preserve the libraries required by other packages to prevent such a breakage") print("* Upgrading the system may pull the packages back in, to fix the reverse dependency chain" + "\n") print("--remove-orphans") print("* Uninstall packages that are no longer needed") print("* When you uninstall a package without it's reverse dependencies, those dependencies will become orphans if nothing else requires them") print("* In addition, a package may no longer depend on another one, so that other package becomes orphan as well if nothing else requires it") print("* Use this option to check the whole dependency chain for such packages, and uninstall them" + "\n") print("--update") print("* Update the Portage tree, the Redcore Overlay(s), Portage configs && Sisyphus's package database" + "\n") print("--upgrade") print("* Upgrade the system using binary and/or ebuild (source) packages" + "\n") print("--search") print("* Search for binary and/or ebuild (source) packages" + "\n") print("--spmsync") print("* Sync Sisyphus's package database with Portage's package database") print("* When you install something with Portage directly (emerge), Sisyphus is not aware of that package, and it doesn't track it in it's database") print("* Use this option to synchronize Sisyphus's package database with Portage's package database" + "\n") print("--rescue") print("* Resurrect Sisyphus's package database if lost or corrupted") print("* If for some reason Sisyphus's package database is lost or corrupted, it can be resurrected using Portage's package database") print("* If Portage's package database is corrupted (in this case you're screwed anyway :D), only a partial resurrection will be possible") print("* If Portage's package database is intact, full resurrection will be possible" + "\n") print("--mirror --list") print("* List available binary package repository mirrors (the active one is marked with *)" + "\n") print("--mirror --set 'INDEX'") print("* Change the binary package repository to the selected mirror" + "\n") print("--branch='BRANCH' --remote='REMOTE'") print("* Pull the branch 'BRANCH' of the Portage tree, Redcore overlay && Portage configs. Use 'REMOTE' git repositories.") print("* 'BRANCH' can be one of the following : master, next") print("* 'REMOTE' can be one of the following : gitlab, pagure") print("*") print("* Examples: ") print("* '--branch=master --remote=gitlab' will pull the branch 'master' from gitlab.com") print("* '--branch=next --remote=pagure' will pull the branch 'next' from pagure.io") print("*") print("* !!! WARNING !!!") print("* Once you changed the branch, you must pair the branch 'BRANCH' with the correct binary repository") print("* Branch 'master' must be paired with the stable binary repository (odd numbers in 'sisyphus --mirror --list'). Examples : 'sisyphus --mirror --set 1' or 'sisyphus --mirror --set 5' ") print("* Branch 'next' must be paired with the testing binary repository (even numbers in 'sisyphus --mirror --list'). Examples : 'sisyphus --mirror --set 2' or 'sisyphus --mirror --set 8'" + "\n") print("--sysinfo") print("* Display information about installed core packages and portage configuration" + "\n") print("--help") print("* Display this help information" + "\n")