PND Store App for Win/Linux/Mac?


Mr Rob

Active Member
Joined
Apr 23, 2011
Messages
805
Age
37
Location
Fargo, North Dakota, USA.
Has anyone thought of making the PND Store application available on say, Windows, Mac, or Linux? Linux should be easy enough; just a recompile....


I may be the only one, but I think it would be useful to just take my SD Card to work, plug it into a machine, and sync all the updated applications. Or plug it into your home computer if you have a weak/no wireless access point.


So I have found use cases where it could be useful; is it on the list of things to be implemented in the future?
 
There was talk here about changes PNDs and a "PND Store". The thread seemed to tail off, and I'm not sure what's happening. Okay, it's not quite the same as a desktop version, but might be possible to combine.
 
Last edited by a moderator:
Tempel's PNDStore application is a python script which is mostly cross-platform already. The only part which would require porting there is libpnd which is utilized to discover locally installed PNDs (and parse their PMXL files).


I've also had some mixed experiences with GTK on windows in the past, but I expect that to function better these days.
 
Last edited by a moderator:
Caine summarizes it pretty well. PNDstore relies heavily on libpnd for detection and processing of local packages. libpnd can be made to work on desktop Linux systems, though I don't know if it will work on Windows or Mac. It's possible to rewrite PNDstore to not use libpnd (wouldn't even be that hard), but it's better for the Pandora version to stick with libpnd, so the rewrite would have to be a desktop-specific branch. Or maybe an intrepid soul could try getting libpnd to work cross-platform.


pmprog: The conclusion of that thread was that Craig is going to build his own means of updating PNDs, while the rest of us are going to keep working with the PND repository specification for clients and repositories. Craig hasn't said much about how his method would work, though no one's really asked. For now, the repo spec is the only way to automatically install and update PNDs; milkshake's repo is the only repository that produces it, while PNDstore and Milkyhelper/Milkynotify are the only clients that consume it.
 
Pheww... this is an old thread.

Is there a possibility now to install PND-Files on a x64 linux machine (e.g. Ubuntu) or on a Raspnerry Pi(1/2/3)?
 
Pheww... this is an old thread.

Is there a possibility now to install PND-Files on a x64 linux machine (e.g. Ubuntu) or on a Raspnerry Pi(1/2/3)?

Well, "Installation" of a PND is a simple matter of saving it to disk. You should be able to do that one pretty much anything. There's a lovely web interface to the main repo at http://www.repo.openpandora.org/

Running them (on anything other than a Pandora) is a different matter.
Most PNDs contain binary executables compiled for ARMv7, and may be specifically configured for Pandora hardware.

Very few (if any) PNDs will run on x86 Linux without an ARM emulator. On a Pi, (I think a Pi2 is most similar, CPU-wise) you might have more luck. Maybe.

That said, a good number of PNDs are open-source anyway, and already have ports for Linux on other architectures.
In fact, on other systems, the purpose of PND packages stops being valid.

The main point of a PND file is that it's a package that can be installed on a separate disk from the rest of the OS. This is needed because the Pandora's fast internal memory is only big enough for the core OS. PNDs allow games and applications to be stored on a hot-swappable SD card, and integrated into the UI as if they were installed in a more conventional manner.

Put simply:
Can you manage your PNDs on other systems? Yes, easily.
Can you run them on other systems? No, but why?
 
Last edited:
FWIW, you can also copy all the data out of a PND on any Linux system. Just create a folder and mount it to that, and the folder will appear to be populated with the contents of the PND, and from there you can inspect it or copy stuff out of it. I've done that a few times to debug PXML problems, or to inspect other bits and pieces.

e.g.
Code:
$ mkdir mountdir
$ sudo mount example.pnd mountdir
$ ls mountdir
and then when you're done:
Code:
$ sudo umount mountdir
 
Last edited:
Back
Top