osc-easy-install is a simple script that uses zenity
to provide a GUI frontend to search for packages using the osc
package on openSUSE. The goal is to provide similar functionality as the "1 Click Install" from https://software.opensuse.org/search without needing to rely on using that website.
osc-easy-install should provide the same search results as the openSUSE Software site. The osc
package is used to get information about available packages from the openSUSE Build Service. Getting search results using osc
is usually a little faster than loading up the Software site.
The dependencies for osc-easy-install are pretty light. Most things required should be present on a normal openSUSE install.
Dependencies:
osc, zenity (or qarma, a zenity replacement), xterm, zypper, rpm, xdg-su
To install osc-easy-install, just clone this repo and run make install
as shown below:
git clone https://github.com/simoniz0r/osc-easy-install.git
cd ./osc-easy-install
sudo make install
To uninstall osc-easy-install, just cd
back into the directory where you cloned the Github repo to and run the following:
sudo make uninstall
Before running osc-easy-install please make sure to run the osc
command in a terminal and login. osc-easy-install currently does not detect whether or not the user has logged in to osc
, so please make sure to do this before running osc-easy-install.
After installation, either launch osc-easy-install from your menu or run osc-easy-install
from your terminal/launcher. Usage should be pretty straight forward. The first screen that is shown asks for a package to search for and allows for the openSUSE release to be selected. A search can also be ran for packages on any distribution, but it will probably not work to add repositories to zypper's list that do not match the current release.
After entering a package to search for, osc-easy-install uses osc
to search for packages and a couple of grep
s to make sure we get packages matching the chosen release and the user's current achitecture. Results are outputted in Project/Release/Package format to a list which allows the user to select which project repository to add to zypper's list and which package version to install.
After a Project/Release/Package selection is made, a prompt is shown to confirm the selection. If the selected package version is already installed, the user will be shown an error telling them to first uninstall that package before attempting to install it with osc-easy-install. If the selected repository is not in zypper's repo list, it will be added.
If the user choses to install the selected package, xterm
is opened (hopefully somewhere near the center of the screen), sudo zypper addrepo
is ran if the repository isn't already present in zypper's list, sudo zypper refresh
is ran to make sure the repo lists are up to date, and sudo zypper install package-version
is ran to ensure that the selected package version is installed.
After xterm
closes, osc-easy-install runs rpm -qa | grep 'package-version'
to make sure the install was successful. The user is told whether the package installed successfully and is then asked whether or not they would like to keep the repository used for installing the package in zypper's list. If no is chosen, SUDO_ASKPASS="$RUNNING_DIR/osc-easy-install-askpass" sudo -A zypper rr repo_alias
will be ran to remove the repository from zypper's list.
If there is an issue with osc-easy-install, debug mode can be enabled by running osc-easy-install --debug
in a terminal. This enables set -x
and set -v
which will output each command as it is ran and the result of each command. If this information does not help solve the problem, feel free to post an issue here containing the output of osc-easy-install --debug
.