Packaging off device

We need a way to package “channels” that doesn’t involve doing it from the Roku device. Is this possible?

While I have strong doubts that this is a possibility, can you PM me a use-case?

  • Joel

Page 8 of the Channel Packaging and Publishing Guidelines (in beta 3.0 sdk) says:

There are a few simple steps required to package your application before uploading to the Roku Channel Store. This process creates a secure version of your application suitable for general release. The packaging process uses cryptographic hardware on the player during the process, so it requires you to have a player set up for development access.So unless you can duplicate the functionality of the crypto chip, I don’t think it’s possible. I’m curious as to the use case as well, but I understand if you don’t want to discuss it publicly.

It occurs to me (completely unverified however) that you might be able to use cURL and do your packaging on the device, using an HTTP post from a bash script.
That way, if you want to do some “assembly line” style packaging of channels, you just need a few devices and your script could queue them up and batch-job package them, en masse.

  • Joel

“RokuJoel” wrote:
It occurs to me (completely unverified however) that you might be able to use cURL and do your packaging on the device, using an HTTP post from a bash script.
That way, if you want to do some “assembly line” style packaging of channels, you just need a few devices and your script could queue them up and batch-job package them, en masse.

  • Joel
    Definitely possible. I have both a Windows batch file and a Makefile that will do this, including re-keying the box before packaging. Unfortunately, they’re both pretty specific to my dev environment, and they don’t yet work with the Roku 2 (because they changed the packaging page), but the basic curl command to do the packaging looks like this, replacing the %variables% with the appropriate values:
curl -s -S -F "mysubmit=Package" -F "passwd=%key%" -F "app_name=%appName%" -F "pkg_time=%epoch%" http://%ip%/plugin_package

Downloading the package automatically is a bit more involved and requires parsing the resultant HTML from the above command. If you need to do this regularly, it may be worth investing in writing a little app to do it that will give you a bit more control than make/bat. Either way, all three methods require a physical Roku to use, which it sounds like isn’t an option in this case, for some reason.