I recently got myself a Samsung Gear S3 to play with, primarily because i wanted to see if Tizen is a nice development platform. I am old enough to have fond memories of the Enlightenment desktop environment, which made my Linux desktop look it came from a dark cyberspace future, to the great envy of my friends running Windows 98.
Tizen is Linux, and has a promising looking SDK and even a somewhat nice-looking IDE. Unfortunately it is based on Eclipse, but I suppose you can't have everything :).
Anyway, when I actually tried to get started, things were not so easy, as the SDK doesn't even install properly on my current Linux desktop of choice, Arch linux. The installer thinks it is running under Ubuntu, and doesn't understand that I actually have all the dependencies I need installed.
I checked out the binary, which turned out to be a shell script that extracts into a JAR file, that is then run in Java. Unfortunately, the dependency checking was done in the Java code, so it was not just a matter of editing, sigh.
I disassembled the JAR files for the installer using JD-GUI and after some digging I found this nice snippet of Java:
String cmd = String.format("dpkg -l %s | grep ^ii", new Object[] { requiredPkg });
ProcessBuilder pb = new ProcessBuilder(new String[] { "/bin/sh", "-c", cmd });
Since I'm running Arch, I don't have dpkg, so this won't work. But as with many problems, the fix to that is but a short shell script away. Here is what I did to trick the installer into allowing me to anstall the SDK.
Instructions
Make sure you have actually installed all the required dependencies. On Arch that is something like
pacman -S webkitgtk extractrpm cpio gettext make python2 gettext sdl
Stick this into a file named
dpkg
:#!/bin/sh echo ii libwebkitgtk-1.0-0 echo ii rpm2cpio echo ii cpio echo ii libcurl3-gnutls echo ii libglib2.0-0 echo ii libsdl1.2debian echo ii gettext echo ii make echo ii libpython2.7
Make the file executable:
chmod +x dpkg
Copy dpkg to
/usr/local/bin
sudo cp dpkg /usr/local/bin
Run the Tizen SDK installer
./tizen-web-ide_TizenSDK_2.4.0_Rev8_ubuntu-64.bin
Profit