On ubuntu/fedora, when I double click on a deb/rpm file, it automatically download/install all the required dependencies from the repositories.
Am missing the same feature in OpenSUSE where it throws an error:
xxx is needed by yyy
Is there any tool in openSUSE that automatically handles the above?
It would depend on where you got the rpm and the repos you have configured. If you’ve not done so yet then add packman, with Oss,Non-Oss and update between those you should solve most dependencies.
As Feather said, there are a few repositories that you should add to the list, which will resolve a large majority of the dependencies that you will come across. You don’t want to add a whole host of repositories that you don’t need, because it is unneeded to have a repository to keep a single file up to date (as long as the current version works, one of the repositories below should have the most current stable version of it). Plus, adding too many repositories becomes messy, so there are a few basic ones that you should add. Try the following:
- openSUSE-11.1-Oss
- openSUSE-11.1-Non-Oss
- openSUSE-11.1-Update
- Packman Repository
There are many others that you may want to add, depending on what applications you may use (for example, there is a repository to keep OpenOffice up-to-date), but these are the basic ones that should be added on a new system. You can find a list of official OpenSUSE repositories by clicking here. Adding the repositories mentioned above is easy because they are considered community repositories. The easiest method to adding them is the following:
-
Open YaST
-
Enter root password when prompted
-
Select Software Repositories
under the Software heading
-
Click the Add
button
-
Select Community Repositories
-
Click Next
to proceed
-
Check the boxes of the repositories listed above (identical names)
-
Press OK
to proceed
-
Import any GnuPG Public keys if requested
-
Press OK
to finish
Now when you install a program, most of the common dependencies will automatically be resolved.
Hope this helps! 
Thanks for the response.
I’ve the following repositories:
$ zypper lr
- openSUSE 11.1-0
- openSUSE-11.1-Non-Oss
- openSUSE-11.1-Oss
- openSUSE-11.1-Update
Here are the list of dependencies of my testpackage:
$ rpm --qf "%{REQUIRES}
" -qp testpackage-1.0.0-0.i586.rpm
gnome-terminal
Am running openSUSE 11.1 KDE4 and don’t have gnome-terminal.
$ sudo zypper in gnome-terminal
The following NEW packages are going to be installed:
gnome-terminal vte
However, when I double click on the testpackage rpm file, the following command runs in the background ( I also tried $ xdg-open rpmfilepath ## that also invoked the same command ).
$ /usr/bin/package-manager --install /home/user/testpackage-1.0.0-0.i586.rpm
that elevates and invokes
$ /sbin/yast2 --install /home/adobe/testpackage-1.0.0-0.i586.rpm
which fails with an error message:
gnome-terminal is needed by testpackage-1.0.0-0.i586
Is there any package management tool on openSUSE that while installing the rpm file, also download/install the required dependencies from the repositories?
Zypper does resolves the dependencies but doesn’t provide any option to install a rpm file from the filesystem.
Thanks!
I’ve installed RPMs from zypper. It’s usually just a matter of typing:
zypper install [path/to/rpm]
After that, zypper will handle the rpm as if it just downloaded it, and it will also resolve the dependencies. Whenever I type the path to the RPM, I usually use the tab completion to make sure I get the exact package name (getting it off will result in zypper either 1)erroring out or 2)attempting to download a package with a similar name from the repos.
At least, that’s my experience with it (I always update VirtualBox this way), but if anyone else sees this incorrect feel free to correct me. 
I’m not quite sure I see the problem.
If you do zypper in testpackage as long as it can find the require on your repo configuration it should work fine.(Though how exact the naming should be or version specific I cant say) mmm further reading Index of /man so yast2 --install isn’t doing dep testing. But I presume as Zypper/Usage/11.1 - openSUSE that zypper is have you tested it, as in zypper in testpackage.rpm?
Then the other thing is you can use a local directory as a repo.