diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-06-12 02:41:32 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-06-12 02:41:32 +0100 |
commit | bc02c657543a7d2be99ffbec9d002d698941f56f (patch) | |
tree | 14c405f483dd8eeec607505fae5713b9a3b6788c | |
parent | 8551f92e8f3f0cb51162635004e7b5ef86fb3e3e (diff) |
merge epkg into sisyphus : from now on sisyphus-cli will be the CLI frontend (old epkg) && sisyphus-gui will be the GUI frontend ;; the backend libsisyphus.sh will be ported to python as well
-rwxr-xr-x | backend/libsisyphus.sh | 177 | ||||
-rwxr-xr-x | desktop/sisyphus.desktop | 7 | ||||
-rwxr-xr-x | frontend/cli/sisyphus-cli | 116 | ||||
-rw-r--r-- | frontend/gui/Makefile (renamed from Makefile) | 22 | ||||
-rwxr-xr-x | frontend/gui/accesories.py (renamed from accesories.py) | 8 | ||||
-rwxr-xr-x | frontend/gui/desktop/sisyphus-gui.desktop | 7 | ||||
-rw-r--r-- | frontend/gui/desktop/sisyphus-gui.png (renamed from desktop/sisyphus.png) | bin | 74727 -> 74727 bytes | |||
-rwxr-xr-x | frontend/gui/development.py (renamed from development.py) | 8 | ||||
-rwxr-xr-x | frontend/gui/everything.py (renamed from everything.py) | 8 | ||||
-rwxr-xr-x | frontend/gui/games.py (renamed from games.py) | 8 | ||||
-rwxr-xr-x | frontend/gui/graphics.py (renamed from graphics.py) | 8 | ||||
-rw-r--r-- | frontend/gui/icon/category_accessories.png (renamed from icon/category_accessories.png) | bin | 10321 -> 10321 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_all.png (renamed from icon/category_all.png) | bin | 16629 -> 16629 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_development.png (renamed from icon/category_development.png) | bin | 6675 -> 6675 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_games.png (renamed from icon/category_games.png) | bin | 3165 -> 3165 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_graphics.png (renamed from icon/category_graphics.png) | bin | 31803 -> 31803 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_internet.png (renamed from icon/category_internet.png) | bin | 7535 -> 7535 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_local.png (renamed from icon/category_local.png) | bin | 5384 -> 5384 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_multimedia.png (renamed from icon/category_multimedia.png) | bin | 5276 -> 5276 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_office.png (renamed from icon/category_office.png) | bin | 5638 -> 5638 bytes | |||
-rw-r--r-- | frontend/gui/icon/category_system.png (renamed from icon/category_system.png) | bin | 9621 -> 9621 bytes | |||
-rw-r--r-- | frontend/gui/icon/package_install.png (renamed from icon/package_install.png) | bin | 498 -> 498 bytes | |||
-rw-r--r-- | frontend/gui/icon/package_search.png (renamed from icon/package_search.png) | bin | 2959 -> 2959 bytes | |||
-rw-r--r-- | frontend/gui/icon/package_uninstall.png (renamed from icon/package_uninstall.png) | bin | 250 -> 250 bytes | |||
-rw-r--r-- | frontend/gui/icon/remove_orphans.png (renamed from icon/remove_orphans.png) | bin | 354 -> 354 bytes | |||
-rw-r--r-- | frontend/gui/icon/system_upgrade.png (renamed from icon/system_upgrade.png) | bin | 1089 -> 1089 bytes | |||
-rw-r--r-- | frontend/gui/icon/window_close.png (renamed from icon/window_close.png) | bin | 971 -> 971 bytes | |||
-rw-r--r-- | frontend/gui/icon/window_icon.png (renamed from icon/window_icon.png) | bin | 2691 -> 2691 bytes | |||
-rwxr-xr-x | frontend/gui/internet.py (renamed from internet.py) | 11 | ||||
-rwxr-xr-x | frontend/gui/local.py (renamed from local.py) | 8 | ||||
-rwxr-xr-x | frontend/gui/multimedia.py (renamed from multimedia.py) | 8 | ||||
-rwxr-xr-x | frontend/gui/office.py (renamed from office.py) | 8 | ||||
-rw-r--r-- | frontend/gui/org.redcorelinux.sisyphus-gui.policy (renamed from org.redcorelinux.sisyphus.policy) | 2 | ||||
-rwxr-xr-x | frontend/gui/sisyphus-gui | 12 | ||||
-rwxr-xr-x | frontend/gui/sisyphus-gui-pkexec | 2 | ||||
-rwxr-xr-x | frontend/gui/sisyphus-gui.py (renamed from sisyphus.py) | 12 | ||||
-rwxr-xr-x | frontend/gui/system.py (renamed from system.py) | 8 | ||||
-rw-r--r-- | frontend/gui/ui/accesories.ui (renamed from ui/accesories.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/development.ui (renamed from ui/development.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/everything.ui (renamed from ui/everything.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/games.ui (renamed from ui/games.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/graphics.ui (renamed from ui/graphics.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/internet.ui (renamed from ui/internet.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/local.ui (renamed from ui/local.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/multimedia.ui (renamed from ui/multimedia.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/office.ui (renamed from ui/office.ui) | 0 | ||||
-rw-r--r-- | frontend/gui/ui/sisyphus-gui.ui (renamed from ui/sisyphus.ui) | 2 | ||||
-rw-r--r-- | frontend/gui/ui/system.ui (renamed from ui/system.ui) | 0 | ||||
-rwxr-xr-x | sisyphus | 12 | ||||
-rwxr-xr-x | sisyphus-pkexec | 2 |
50 files changed, 375 insertions, 81 deletions
diff --git a/backend/libsisyphus.sh b/backend/libsisyphus.sh new file mode 100755 index 0000000..644d824 --- /dev/null +++ b/backend/libsisyphus.sh @@ -0,0 +1,177 @@ +#!/usr/bin/env bash + +# import gentoo functions +source /lib/gentoo/functions.sh + +checkroot () { + if [[ "$(whoami)" != root ]] ; then + eerror "You're not root?...No cookies for you, go away !!!" + exit 1 + fi +} + +checksystemmode() { + if [[ "$(readlink -f "/etc/portage/make.conf")" = /opt/redcore-build/conf/intel/portage/make.conf.amd64-srcmode ]] ; then + eerror "The system is set to srcmode (full Gentoo mode), cowardly refusing to run!" + exit 1 + fi +} + +checkportageconfig () { + pushd /opt/redcore-build > /dev/null 2>&1 + git remote update > /dev/null 2>&1 + export local confhash=$(git rev-parse @) + export local rconfhash=$(git rev-parse @{u}) + if [ $confhash != $rconfhash ] ; then + eerror "Portage config is out-of-date, run "sisyphus update" first" + exit 1 + fi + popd > /dev/null 2>&1 +} + +checkportagetree () { + pushd /usr/portage > /dev/null 2>&1 + git remote update > /dev/null 2>&1 + export local treehash=$(git rev-parse @) + export local rtreehash=$(git rev-parse @{u}) + if [ $treehash != $rtreehash ] ; then + eerror "Portage tree is out-of-date, run "sisyphus update" first" + exit 1 + fi + popd > /dev/null 2>&1 +} + +checkredcoreoverlay () { + pushd /var/lib/layman/redcore-desktop > /dev/null 2>&1 + git remote update > /dev/null 2>&1 + export local overlayhash=$(git rev-parse @) + export local roverlayhash=$(git rev-parse @{u}) + if [ $overlayhash != $roverlayhash ] ; then + eerror "Redcore Desktop overlay is out-of-date, run "sisyphus update" first" + exit 1 + fi +} + +remotedbcsvget () { + if [[ ! -f /var/lib/sisyphus/csv/remote_preinst.csv ]] ; then + pushd /var/lib/sisyphus/csv > /dev/null 2>&1 + touch remote_preinst.csv + wget -c http://mirror.math.princeton.edu/pub/redcorelinux/csv/remote_preinst.csv -O remote_postinst.csv > /dev/null 2>&1 + popd > /dev/null 2>&1 + elif [[ -f /var/lib/sisyphus/csv/remote_preinst.csv ]] ; then + pushd /var/lib/sisyphus/csv > /dev/null 2>&1 + wget -c http://mirror.math.princeton.edu/pub/redcorelinux/csv/remote_preinst.csv -O remote_postinst.csv > /dev/null 2>&1 + popd > /dev/null 2>&1 + fi +} + +remotedbcsvcheck () { + if ! cmp /var/lib/sisyphus/csv/remote_preinst.csv /var/lib/sisyphus/csv/remote_postinst.csv > /dev/null 2>&1 ; then + eerror "SisyphusDB : "remote_packages" table is out-of-date, run "sisyphus update" first" + rm -rf /var/lib/sisyphus/csv/remote_postinst.csv + exit 1 + elif cmp /var/lib/sisyphus/csv/remote_preinst.csv /var/lib/sisyphus/csv/remote_postinst.csv > /dev/null 2>&1 ; then + rm -rf /var/lib/sisyphus/csv/remote_postinst.csv + fi +} + +checkremotedb () { + remotedbcsvget + remotedbcsvcheck +} + +checksync () { + checkroot + checkportagetree + checkredcoreoverlay + checkportageconfig + checkremotedb +} + +syncrepos () { + emerge --sync +} + +syncportageconfig () { + pushd /opt/redcore-build > /dev/null 2>&1 + echo ">>> Syncing 'portage config' into '/etc/portage'..." + echo "/usr/bin/git pull" + git pull + echo "=== Sync completed for 'portage config'" + popd > /dev/null 2>&1 +} + +remotedbcsvsync () { + if ! cmp /var/lib/sisyphus/csv/remote_preinst.csv /var/lib/sisyphus/csv/remote_postinst.csv > /dev/null 2>&1 ; then + echo ">>> SisyphusDB :: syncing 'remote_packages' table" + echo "/usr/bin/sqlite3 /var/lib/sisyphus/db/sisyphus.db" + pushd /var/lib/sisyphus/db > /dev/null 2>&1 + sqlite3 sisyphus.db<<-EXIT_HERE + drop table if exists remote_packages; + create table remote_packages (category TEXT,name TEXT,version TEXT,slot TEXT,description TEXT); + .mode csv + .import /var/lib/sisyphus/csv/remote_postinst.csv remote_packages + EXIT_HERE + popd > /dev/null 2>&1 + echo "=== SisyphusDB :: sync completed for 'remote_packages' table" + elif cmp /var/lib/sisyphus/csv/remote_preinst.csv /var/lib/sisyphus/csv/remote_postinst.csv > /dev/null 2>&1 ; then + echo ">>> SisyphusDB :: syncing 'remote_packages' table" + echo "/usr/bin/sqlite3 /var/lib/sisyphus/db/sisyphus.db" + echo "Already up-to-date." + echo "=== SisyphusDB :: Sync completed for 'remote_packages' table" + fi + mv /var/lib/sisyphus/csv/remote_postinst.csv /var/lib/sisyphus/csv/remote_preinst.csv +} + +syncremotedb() { + remotedbcsvget + remotedbcsvsync +} + +redcoresync () { + checkroot + syncrepos + syncportageconfig + syncremotedb +} + +localdbcsvpre () { + if [[ ! -f /var/lib/sisyphus/csv/local_preinst.csv ]] ; then + for i in $(qlist -ICv); do + pushd /var/db/pkg/$i > /dev/null 2>&1 + echo "$(<CATEGORY),$(sed -re "s/-([0-9])/,\1/" <PF),$(<SLOT),$(sed -e "s/\"//g" -e "s/\'//g" -e "s/\,//g" <DESCRIPTION)" >> /var/lib/sisyphus/csv/local_preinst.csv + popd > /dev/null 2>&1 + done + fi +} + +localdbcsvpost () { + for i in $(qlist -ICv); do + pushd /var/db/pkg/$i > /dev/null 2>&1 + echo "$(<CATEGORY),$(sed -re "s/-([0-9])/,\1/" <PF),$(<SLOT),$(sed -e "s/\"//g" -e "s/\'//g" -e "s/\,//g" <DESCRIPTION)" >> /var/lib/sisyphus/csv/local_postinst.csv + popd > /dev/null 2>&1 + done +} + +localdbcsvsync () { + if cmp /var/lib/sisyphus/csv/local_preinst.csv /var/lib/sisyphus/csv/local_postinst.csv > /dev/null 2>&1 ; then + einfo "PortageDB unchanged :: SisyphusDB >>> no change(s) to commit..." + else + einfo "PortageDB changed :: SisyphusDB >>> commit change(s)..." + pushd /var/lib/sisyphus/db > /dev/null 2>&1 + sqlite3 sisyphus.db<<-EXIT_HERE + drop table if exists local_packages; + create table local_packages (category TEXT,name TEXT,version TEXT,slot TEXT,description TEXT); + .mode csv + .import /var/lib/sisyphus/csv/local_postinst.csv local_packages + EXIT_HERE + popd > /dev/null 2>&1 + fi + mv /var/lib/sisyphus/csv/local_postinst.csv /var/lib/sisyphus/csv/local_preinst.csv +} + +updatelocaldb () { + checkroot + localdbcsvpost + localdbcsvsync +} diff --git a/desktop/sisyphus.desktop b/desktop/sisyphus.desktop deleted file mode 100755 index 9e9796d..0000000 --- a/desktop/sisyphus.desktop +++ /dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Name=Sisyphus -Type=Application -Comment=Epkg Graphical User Interface -Exec=sisyphus-pkexec -Icon=sisyphus -Categories=System; diff --git a/frontend/cli/sisyphus-cli b/frontend/cli/sisyphus-cli new file mode 100755 index 0000000..18a5bb8 --- /dev/null +++ b/frontend/cli/sisyphus-cli @@ -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 + ;; + remove) + checksync + localdbcsvpre + emerge --depclean -a "$@" + updatelocaldb + ;; + forceremove) + checksync + localdbcsvpre + emerge --unmerge -a "$@" + updatelocaldb + ;; + clean) + checksync + localdbcsvpre + emerge --depclean -a + updatelocaldb + ;; + upgrade) + checksync + localdbcsvpre + emerge -uDaN --with-bdeps=y @system @world "$@" + updatelocaldb + ;; + autoinstall) + redcoresync + localdbcsvpre + emerge "$@" + updatelocaldb + ;; + autoremove) + redcoresync + localdbcsvpre + emerge --depclean "$@" + updatelocaldb + ;; + autoforceremove) + redcoresync + localdbcsvpre + emerge --unmerge "$@" + updatelocaldb + ;; + autoclean) + redcoresync + localdbcsvpre + emerge --depclean -q + updatelocaldb + ;; + autoupgrade) + 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 + remove - Remove packages safely + forceremove - *Unsafely* remove packages + clean - Remove packages that are no longer needed + upgrade - Upgrade system + autoinstall - Install new packages (no confirmation) + autoremove - Remove packages safely (no confirmation) + autoforceremove - *Unsafely* remove packages (no confirmation) + autoclean - Remove packages that are no longer needed (no confirmation) + autoupgrade - 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 ATOM + files - List all files installed by package + sysinfo - Display information about installed core packages and portage configuration + EOH + ;; +esac diff --git a/Makefile b/frontend/gui/Makefile index fbcd684..67236e1 100644 --- a/Makefile +++ b/frontend/gui/Makefile @@ -3,7 +3,7 @@ DESTDIR = UBINDIR ?= /usr/bin DESKTOPDIR ?= /usr/share/applications PIXMAPDIR ?= /usr/share/pixmaps -SISYPHUSDATADIR ?= /usr/share/sisyphus +SISYPHUSDATADIR ?= /usr/share/sisyphus-gui POLKITDIR ?= /usr/share/polkit-1/actions all: @@ -16,8 +16,8 @@ install: for d in $(SUBDIRS); do $(MAKE) -C $$d install; done install -d $(DESTDIR)$(UBINDIR) - install -m 0755 sisyphus $(DESTDIR)$(UBINDIR)/ - install -m 0755 sisyphus-pkexec $(DESTDIR)$(UBINDIR)/ + install -m 0755 sisyphus-gui $(DESTDIR)$(UBINDIR)/ + install -m 0755 sisyphus-gui-pkexec $(DESTDIR)$(UBINDIR)/ install -d $(DESTDIR)$(SISYPHUSDATADIR) install -d $(DESTDIR)$(SISYPHUSDATADIR)/icon install -d $(DESTDIR)$(SISYPHUSDATADIR)/ui @@ -25,16 +25,16 @@ install: install -m 0755 icon/* $(DESTDIR)$(SISYPHUSDATADIR)/icon/ install -m 0755 ui/* $(DESTDIR)$(SISYPHUSDATADIR)/ui/ install -d $(DESTDIR)$(DESKTOPDIR) - install -m 0755 desktop/sisyphus.desktop $(DESTDIR)$(DESKTOPDIR)/ + install -m 0755 desktop/sisyphus-gui.desktop $(DESTDIR)$(DESKTOPDIR)/ install -d $(DESTDIR)$(PIXMAPDIR) - install -m 0644 desktop/sisyphus.png $(DESTDIR)$(PIXMAPDIR) + install -m 0644 desktop/sisyphus-gui.png $(DESTDIR)$(PIXMAPDIR) install -d $(DESTDIR)$(POLKITDIR) - install -m 0644 org.redcorelinux.sisyphus.policy $(DESTDIR)$(POLKITDIR)/ + install -m 0644 org.redcorelinux.sisyphus-gui.policy $(DESTDIR)$(POLKITDIR)/ uninstall: - rm -rf $(DESTDIR)$(UBINDIR)/sisyphus - rm -rf $(DESTDIR)$(UBINDIR)/sisyphus-pkexec - rm -rf $(DESTDIR)$(DESKTOPDIR)/sisyphus.desktop - rm -rf $(DESTDIR)$(PIXMAPDIR)/sisyphus.png - rm -rf $(DESTDIR)$(POLKITDIR)/org.redcorelinux.sisyphus.policy + rm -rf $(DESTDIR)$(UBINDIR)/sisyphus-gui + rm -rf $(DESTDIR)$(UBINDIR)/sisyphus-gui-pkexec + rm -rf $(DESTDIR)$(DESKTOPDIR)/sisyphus-gui.desktop + rm -rf $(DESTDIR)$(PIXMAPDIR)/sisyphus-gui.png + rm -rf $(DESTDIR)$(POLKITDIR)/org.redcorelinux.sisyphus-gui.policy rm -rf $(DESTDIR)$(SISYPHUSDATADIR) diff --git a/accesories.py b/frontend/gui/accesories.py index 70bebba..530886f 100755 --- a/accesories.py +++ b/frontend/gui/accesories.py @@ -22,20 +22,20 @@ class Accesories(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_accesories.item(self.table_accesories.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_accesories.item(self.table_accesories.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT * from remote_packages''') rows = cursor.fetchall() diff --git a/frontend/gui/desktop/sisyphus-gui.desktop b/frontend/gui/desktop/sisyphus-gui.desktop new file mode 100755 index 0000000..c4ff12b --- /dev/null +++ b/frontend/gui/desktop/sisyphus-gui.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Name=Sisyphus GUI +Type=Application +Comment=Sisyphus Package Manager (GUI) +Exec=sisyphus-gui-pkexec +Icon=sisyphus-gui +Categories=System; diff --git a/desktop/sisyphus.png b/frontend/gui/desktop/sisyphus-gui.png Binary files differindex d36d93b..d36d93b 100644 --- a/desktop/sisyphus.png +++ b/frontend/gui/desktop/sisyphus-gui.png diff --git a/development.py b/frontend/gui/development.py index 50bdafe..0f1221f 100755 --- a/development.py +++ b/frontend/gui/development.py @@ -22,20 +22,20 @@ class Development(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_development.item(self.table_development.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_development.item(self.table_development.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT * from remote_packages''') rows = cursor.fetchall() diff --git a/everything.py b/frontend/gui/everything.py index 2137525..e6b874b 100755 --- a/everything.py +++ b/frontend/gui/everything.py @@ -22,20 +22,20 @@ class Everything(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_everything.item(self.table_everything.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_everything.item(self.table_everything.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT a.category AS cat, diff --git a/games.py b/frontend/gui/games.py index 05e02b0..052e606 100755 --- a/games.py +++ b/frontend/gui/games.py @@ -22,20 +22,20 @@ class Games(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_games.item(self.table_games.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_games.item(self.table_games.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT a.category AS cat, diff --git a/graphics.py b/frontend/gui/graphics.py index 36c6ab9..270b8cf 100755 --- a/graphics.py +++ b/frontend/gui/graphics.py @@ -22,20 +22,20 @@ class Graphics(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_graphics.item(self.table_graphics.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_graphics.item(self.table_graphics.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT * from remote_packages''') rows = cursor.fetchall() diff --git a/icon/category_accessories.png b/frontend/gui/icon/category_accessories.png Binary files differindex becbfc9..becbfc9 100644 --- a/icon/category_accessories.png +++ b/frontend/gui/icon/category_accessories.png diff --git a/icon/category_all.png b/frontend/gui/icon/category_all.png Binary files differindex 462c97c..462c97c 100644 --- a/icon/category_all.png +++ b/frontend/gui/icon/category_all.png diff --git a/icon/category_development.png b/frontend/gui/icon/category_development.png Binary files differindex b2c160e..b2c160e 100644 --- a/icon/category_development.png +++ b/frontend/gui/icon/category_development.png diff --git a/icon/category_games.png b/frontend/gui/icon/category_games.png Binary files differindex b128490..b128490 100644 --- a/icon/category_games.png +++ b/frontend/gui/icon/category_games.png diff --git a/icon/category_graphics.png b/frontend/gui/icon/category_graphics.png Binary files differindex 63c7c5e..63c7c5e 100644 --- a/icon/category_graphics.png +++ b/frontend/gui/icon/category_graphics.png diff --git a/icon/category_internet.png b/frontend/gui/icon/category_internet.png Binary files differindex 9f630cd..9f630cd 100644 --- a/icon/category_internet.png +++ b/frontend/gui/icon/category_internet.png diff --git a/icon/category_local.png b/frontend/gui/icon/category_local.png Binary files differindex 561d218..561d218 100644 --- a/icon/category_local.png +++ b/frontend/gui/icon/category_local.png diff --git a/icon/category_multimedia.png b/frontend/gui/icon/category_multimedia.png Binary files differindex e6414e6..e6414e6 100644 --- a/icon/category_multimedia.png +++ b/frontend/gui/icon/category_multimedia.png diff --git a/icon/category_office.png b/frontend/gui/icon/category_office.png Binary files differindex 78af8a4..78af8a4 100644 --- a/icon/category_office.png +++ b/frontend/gui/icon/category_office.png diff --git a/icon/category_system.png b/frontend/gui/icon/category_system.png Binary files differindex 2a360bd..2a360bd 100644 --- a/icon/category_system.png +++ b/frontend/gui/icon/category_system.png diff --git a/icon/package_install.png b/frontend/gui/icon/package_install.png Binary files differindex 736cddf..736cddf 100644 --- a/icon/package_install.png +++ b/frontend/gui/icon/package_install.png diff --git a/icon/package_search.png b/frontend/gui/icon/package_search.png Binary files differindex 5f50a53..5f50a53 100644 --- a/icon/package_search.png +++ b/frontend/gui/icon/package_search.png diff --git a/icon/package_uninstall.png b/frontend/gui/icon/package_uninstall.png Binary files differindex 187ce04..187ce04 100644 --- a/icon/package_uninstall.png +++ b/frontend/gui/icon/package_uninstall.png diff --git a/icon/remove_orphans.png b/frontend/gui/icon/remove_orphans.png Binary files differindex b165bf7..b165bf7 100644 --- a/icon/remove_orphans.png +++ b/frontend/gui/icon/remove_orphans.png diff --git a/icon/system_upgrade.png b/frontend/gui/icon/system_upgrade.png Binary files differindex 4443cb7..4443cb7 100644 --- a/icon/system_upgrade.png +++ b/frontend/gui/icon/system_upgrade.png diff --git a/icon/window_close.png b/frontend/gui/icon/window_close.png Binary files differindex 35dbf35..35dbf35 100644 --- a/icon/window_close.png +++ b/frontend/gui/icon/window_close.png diff --git a/icon/window_icon.png b/frontend/gui/icon/window_icon.png Binary files differindex da169ba..da169ba 100644 --- a/icon/window_icon.png +++ b/frontend/gui/icon/window_icon.png diff --git a/internet.py b/frontend/gui/internet.py index 57ecb29..c7c7400 100755 --- a/internet.py +++ b/frontend/gui/internet.py @@ -22,20 +22,20 @@ class Internet(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_internet.item(self.table_internet.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_internet.item(self.table_internet.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT a.category AS cat, @@ -85,7 +85,8 @@ class Internet(QtWidgets.QMainWindow): 'wmail', 'trojita', 'aircrack-ng', - 'wavemon') + 'wavemon', + 'messengerfordesktop') ''') rows = cursor.fetchall() diff --git a/local.py b/frontend/gui/local.py index aa32a8d..60c835a 100755 --- a/local.py +++ b/frontend/gui/local.py @@ -22,20 +22,20 @@ class Local(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_local.item(self.table_local.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_local.item(self.table_local.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT * from local_packages''') rows = cursor.fetchall() diff --git a/multimedia.py b/frontend/gui/multimedia.py index 1f273ae..48d9bfb 100755 --- a/multimedia.py +++ b/frontend/gui/multimedia.py @@ -22,20 +22,20 @@ class Multimedia(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_multimedia.item(self.table_multimedia.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_multimedia.item(self.table_multimedia.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT * from remote_packages''') rows = cursor.fetchall() diff --git a/office.py b/frontend/gui/office.py index 4b3f8ec..e030486 100755 --- a/office.py +++ b/frontend/gui/office.py @@ -22,20 +22,20 @@ class Office(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_office.item(self.table_office.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_office.item(self.table_office.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT a.category AS cat, diff --git a/org.redcorelinux.sisyphus.policy b/frontend/gui/org.redcorelinux.sisyphus-gui.policy index b99bd6d..811c348 100644 --- a/org.redcorelinux.sisyphus.policy +++ b/frontend/gui/org.redcorelinux.sisyphus-gui.policy @@ -16,7 +16,7 @@ <allow_inactive>no</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> - <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/sisyphus</annotate> + <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/sisyphus-gui</annotate> <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> </action> </policyconfig> diff --git a/frontend/gui/sisyphus-gui b/frontend/gui/sisyphus-gui new file mode 100755 index 0000000..1e29d08 --- /dev/null +++ b/frontend/gui/sisyphus-gui @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Sisyphus is a simple GUI for sisyphus, the portage wrapper +# Main Author : Ghiunhan Mamut @ Redcore Linux Project + +main() { + pushd /usr/share/sisyphus-gui + python3 sisyphus-gui.py + popd +} + +main diff --git a/frontend/gui/sisyphus-gui-pkexec b/frontend/gui/sisyphus-gui-pkexec new file mode 100755 index 0000000..4a1b496 --- /dev/null +++ b/frontend/gui/sisyphus-gui-pkexec @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +pkexec /usr/bin/sisyphus-gui diff --git a/sisyphus.py b/frontend/gui/sisyphus-gui.py index b3b0f1f..244a9af 100755 --- a/sisyphus.py +++ b/frontend/gui/sisyphus-gui.py @@ -16,7 +16,7 @@ from everything import Everything class Sisyphus(QtWidgets.QMainWindow): def __init__(self): super(Sisyphus, self).__init__() - uic.loadUi('ui/sisyphus.ui', self) + uic.loadUi('ui/sisyphus-gui.ui', self) self.centerOnScreen() self.show() @@ -44,21 +44,21 @@ class Sisyphus(QtWidgets.QMainWindow): def search_package(self): pkgname = self.input.text() - subprocess.Popen(['xterm', '-hold', '-e', 'epkg', 'search'] + pkgname.split()) + subprocess.Popen(['xterm', '-hold', '-e', 'sisyphus', 'search'] + pkgname.split()) def install_package(self): pkgname = self.input.text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.input.text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def upgrade_system(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoupgrade']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoupgrade']) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def accesories_category(self): self.window = Accesories() diff --git a/system.py b/frontend/gui/system.py index 628446a..c9942e0 100755 --- a/system.py +++ b/frontend/gui/system.py @@ -22,20 +22,20 @@ class System(QtWidgets.QMainWindow): def install_package(self): pkgname = self.table_system.item(self.table_system.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoinstall'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoinstall'] + pkgname.split()) def uninstall_package(self): pkgname = self.table_system.item(self.table_system.currentRow(), 1).text() - subprocess.Popen(['xterm', '-e', 'epkg', 'autoremove'] + pkgname.split()) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoremove'] + pkgname.split()) def remove_orphans(self): - subprocess.Popen(['xterm', '-e', 'epkg', 'autoclean']) + subprocess.Popen(['xterm', '-e', 'sisyphus', 'autoclean']) def exit_category(self): self.close() def load_packages(self): - with sqlite3.connect('/var/lib/epkg/db/epkg.db') as db: + with sqlite3.connect('/var/lib/sisyphus/db/sisyphus.db') as db: cursor=db.cursor() cursor.execute('''SELECT * from remote_packages''') rows = cursor.fetchall() diff --git a/ui/accesories.ui b/frontend/gui/ui/accesories.ui index ea9e495..ea9e495 100644 --- a/ui/accesories.ui +++ b/frontend/gui/ui/accesories.ui diff --git a/ui/development.ui b/frontend/gui/ui/development.ui index 4c102f1..4c102f1 100644 --- a/ui/development.ui +++ b/frontend/gui/ui/development.ui diff --git a/ui/everything.ui b/frontend/gui/ui/everything.ui index b609cee..b609cee 100644 --- a/ui/everything.ui +++ b/frontend/gui/ui/everything.ui diff --git a/ui/games.ui b/frontend/gui/ui/games.ui index 0bbc787..0bbc787 100644 --- a/ui/games.ui +++ b/frontend/gui/ui/games.ui diff --git a/ui/graphics.ui b/frontend/gui/ui/graphics.ui index e943b49..e943b49 100644 --- a/ui/graphics.ui +++ b/frontend/gui/ui/graphics.ui diff --git a/ui/internet.ui b/frontend/gui/ui/internet.ui index 810c065..810c065 100644 --- a/ui/internet.ui +++ b/frontend/gui/ui/internet.ui diff --git a/ui/local.ui b/frontend/gui/ui/local.ui index 46cd6f9..46cd6f9 100644 --- a/ui/local.ui +++ b/frontend/gui/ui/local.ui diff --git a/ui/multimedia.ui b/frontend/gui/ui/multimedia.ui index b2c4938..b2c4938 100644 --- a/ui/multimedia.ui +++ b/frontend/gui/ui/multimedia.ui diff --git a/ui/office.ui b/frontend/gui/ui/office.ui index d1d3bad..d1d3bad 100644 --- a/ui/office.ui +++ b/frontend/gui/ui/office.ui diff --git a/ui/sisyphus.ui b/frontend/gui/ui/sisyphus-gui.ui index 1c88de6..0d6749c 100644 --- a/ui/sisyphus.ui +++ b/frontend/gui/ui/sisyphus-gui.ui @@ -23,7 +23,7 @@ </size> </property> <property name="windowTitle"> - <string>Sisyphus : Epkg Graphical User Interface</string> + <string>Sisyphus : Graphical User Interface</string> </property> <property name="windowIcon"> <iconset> diff --git a/ui/system.ui b/frontend/gui/ui/system.ui index 59f1967..59f1967 100644 --- a/ui/system.ui +++ b/frontend/gui/ui/system.ui diff --git a/sisyphus b/sisyphus deleted file mode 100755 index a1ae20c..0000000 --- a/sisyphus +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash - -# Sisyphus is a simple GUI for epkg, the portage wrapper -# Main Author : Ghiunhan Mamut @ Redcore Linux Project - -main() { - pushd /usr/share/sisyphus - python3 sisyphus.py - popd -} - -main diff --git a/sisyphus-pkexec b/sisyphus-pkexec deleted file mode 100755 index a78d185..0000000 --- a/sisyphus-pkexec +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -pkexec /usr/bin/sisyphus |