Pandora PNDManager


Shouldn't git submodule update --init --recursive take care of the jansson dep?

So:

Code:
git clone https://github.com/bzar/panorama.git
cd panorama
git submodule update --init --recursive
mkdir build && cd build
cmake -DPANDORA=ON -DCMAKE_INSTALL_PREFIX=install ..
make install
cd install
 
However, if you build jansson as dynamic lib first. PNDManager won't statically link against it (same for libpndman).
 
The one mentioned above? If you want to use system jansson, build and install it first. If you want to bundle it in the pndmanager plugin, don't.
 
Last edited by a moderator:
Installed and running.

So the settings.cfg is in the user's folder, not in some ~/.config/pndmanager , which is kinda annoying.

[panorama]
dataDirectory=/usr/bin
uiDirectory=interfaces
ui=PNDManager
fullscreen=false

[PNDManager]
showSplashScreen=false
showHints=true
mouseCursorVisible=false
lastInstallDevice=
lastInstallLocation=
loggingVerbosity=5
maxDownloads=4
username=
apiKey=
customDevices=

I tried to fill lastInstallLocation= with /pandora/menu , but it didn't work.
 
try customDevices=/

That should get your /pandora stuff added.

The settings.cfg goes to the user home as the monolithic (-DPANDORA) build is made for the PND build, which stores the settings to appdata (eg. $PWD). Your use case actually looks more like a normal install without setting the install prefix nor -DPANDORA. Haven't tried that in ages though :p
 
I used:

export CFLAGS="-DPANDORA -O2 -pipe -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -ffast-math"
export CXXFLAGS="-DPANDORA -O2 -pipe -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -fPIC -ffast-math"
 

I'll try without.
 
$ panorama
Settings are saved in "/home/me/.config/panorama/core.conf"
QPndman::Repository::update
QPndman::Repository::update
PNDManager::pNDManager
updateDevices()
QPndman::Repository::update
Crawling
QPndman::Repository::update
Found 0 new installed packages
PNDManager::updatePackages
0 installed packages
Total 0 packages
QPndman::Repository::update
updateDevices()
Adding custom device "/"
@FILE device.c             @LINE 379  >> _pndman_device_add
Can't access: /
Invalid custom device "/"
QPndman::Repository::update
Crawling
QPndman::Repository::update
Found 0 new installed packages
PNDManager::updatePackages
0 installed packages
Total 0 packages
Loaded UI PNDManager created by B-ZaR.
Description:
PND Manager application
Crawling
QPndman::Repository::update
Found 0 new installed packages
PNDManager::updatePackages
0 installed packages
Total 0 packages
@FILE pndman.c             @LINE 67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE 223  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/masterlist?bzip=true
@FILE curl.c               @LINE 313  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Sun, 23 Feb 2014 21:56:43 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u7
Cache-Control: public
Etag: 1393116658
Last-Modified: Sun, 23 Feb 2014 00:50:58 GMT
Content-Length: 349862
Connection: close
Content-Type: application/x-bzip2


@FILE curl.c               @LINE 319  >> _pndman_curl_msg
BZh41AY&SY(\ufffd\ufffd!

@FILE pndman.c             @LINE 67   >> _pndman_get_tmp_file
Created temporary file.
QPndman::Repository::update
QPndman::Repository::update
Crawling
QPndman::Repository::update
Found 0 new installed packages
PNDManager::updatePackages
0 installed packages
Total 1183 packages
@FILE pndman.c             @LINE 67   >> _pndman_get_tmp_file
Created temporary file.
@FILE curl.c               @LINE 223  >> _pndman_curl_handle_perform
url: http://repo.openpandora.org/client/comment
@FILE curl.c               @LINE 230  >> _pndman_curl_handle_perform
POST: id=DraStic&pull=true
file:///usr/share/panorama/interfaces/PNDManager/PackageView.qml:158: TypeError: Result of expression 'pndManager.getDeviceByMount(pnd.mount)' [null] is not an object.
@FILE curl.c               @LINE 313  >> _pndman_curl_msg
HTTP/1.1 200 OK
Date: Sun, 23 Feb 2014 21:57:18 GMT
Server: Apache
X-Powered-By: PHP/5.4.4-14+deb7u7
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json


file:///usr/share/panorama/interfaces/PNDManager/InstallLocationDialog.qml:195: TypeError: Result of expression 'deviceList.currentItem' [null] is not an object.
file:///usr/share/panorama/interfaces/PNDManager/InstallLocationDialog.qml:14: TypeError: Result of expression 'deviceList.currentItem' [null] is not an object.
file:///usr/share/panorama/interfaces/PNDManager/InstallLocationDialog.qml:14: TypeError: Result of expression 'deviceList.currentItem' [null] is not an object.
file:///usr/share/panorama/interfaces/PNDManager/InstallLocationDialog.qml:14: TypeError: Result of expression 'deviceList.currentItem' [null] is not an object.
file:///usr/share/panorama/interfaces/PNDManager/InstallLocationDialog.qml:14: TypeError: Result of expression 'deviceList.currentItem' [null] is not an object.
file:///usr/share/panorama/interfaces/PNDManager/InstallLocationDialog.qml:14: TypeError: Result of expression 'deviceList.currentItem' [null] is not an object.
file:///usr/share/panorama/interfaces/PNDManager/InstallLocationDialog.qml:14: TypeError: Result of expression 'deviceList.currentItem' [null] is not an object.
@FILE device.c             @LINE 646  >> pndman_device_free_all
-!- Bad usage of function: device is NULL


I did customDevices=/

When i push on install in menu (created the /pandora/menu and /pandora/appdata folders with permissions) I got the last repetitive error messages. Nothing installs.

Also, sync is not saved.
 
Last edited by a moderator:
Okay... That all stems from this part


Adding custom device "/"
@FILE device.c @LINE 379 >> _pndman_device_add
Can't access: /
Invalid custom device "/"

Which fails here. Seems libpndman wants write permissions not only to the pandora directory, but its parent directory as well, probably to be able to create the pandora directory tree if necessary. This could probably be changed to alternatively check if the pandora directory exists and is writable. Typically you have permissions to the parent directory as well, but in case of / that of course doesn't hold.
 
Seems libpndman wants write permissions not only to the pandora directory, but its parent directory as well, probably to be able to create the pandora directory tree if necessary.
This is the exact reasoning. Typically / is bad place to set custom device.

/ is root and it's systemwide, you should really set some user specific location instead.
 
My idea was to use the Slackware card as OS with pnd support on /pandora/menu + pnd card for Zaxxon.
 
I guess, I can make it pass the check if there exists writable pandora subdirectory on the device.

I'll do that tomorrow.
 
Just tried the latest update and it works great. Doesn't let you install if it detects too little space. Disk space updates on start of the PND.

One suggestion I would give for the disk space detection is to update more often. At the moment it only seems to update when you open PNDManager. If possible, as soon as you select to install a PND, it might be nice if it would subtract the size of the PND from the variable you are using for free space.

A more accurate, but more complex reading would be to refresh the free disk space variable each time you reach the install disk selection screen, and subtract the amount of space left on each current download to that card (Unless the correct amount of space is already reserved on the card as soon as the download is started, then this calculation is unnecessary and all you would need to do is refresh your free space reading). This would take into account someone unzipping a file or some such on another desktop and then returning to PNDManager while waiting for a large PND to download.
 
I actually just forgot to add the updating :D

I'll add it and get Cloudef's libpndman changes and release. Seems to work well enough :)
 
Back
Top