I want to install sqldeveloper from Oracle on Arch Linux. The only Linux download option is RPM. I am not interested in using arch repositories to install sqldeveloper. I can only use what the vendor provides.
Jasonwryan (as per usual) was right on the mark with his initial comment.
Arch's packages are supposed to be as close to "vanilla" as possible. Now, while you could use
alien, there isn't really a good reason to do so. What you should do is create a
PKGBUILD that uses the RPM as the source file and then installs everything that's needed where it should be in the
package() function. If you are unsure of how to do this, take a look at some packages on the ArchLinux User Repository; there are plenty that do similar things.
bsdtar (the default extractor used on source files by
makepkg) supports extracting RPMs without issue, there is no reason to use
rpmextract—it adds a makedependency without adding any real functionality.
Some related reading from the wiki:
The Arch-specific tool is rpmextract. https://www.archlinux.org/packages/extra/any/rpmextract/
There's a tool called
alien that can (attempt) to build a
deb from the
rpm. Sometimes it works; other times it makes a mess... it's an imperfect process at best.
alien can be used to simply unpack the
rpm into a
deb format directory (i.e. do everything but build the
deb) where you can manually install (copy) everything.
The other option is to install the rpm tools under arch and force installation of the
rpm. This will get it installed, but not being a native
rpm distro, it will have no knowledge of the
deb packages on the system. Meeting the dependencies will, thus, be up to you. Also, any
rc scripts it installs will have to be converted to
I'm not sure if these would work for everyone, but its the fastest way if you don't care what it may or may not do
I did these to get skype working on arch, basically open the .rpm file, then see if you can find a file named "." If you do then copy the files within the "." file to your root directory (AKA "/")
I do not recommend these unless you know exactly what you're doing