Beta Pndstore


That must mean it crashed somewhere in the process. First make sure you have the absolute latest version (clear your browser's cache or use a different browser to be sure), then if it still crashes, please copy and paste /tmp/pndrun_pndstore.out.
 
new output
Code:
[------------------------------]{ App start }[---------------------------------]
/home/issue/.gtkrc-2.0:1: error: unexpected string constant "xfdesktop-icon-view", expected character `='
/usr/share/themes/Shiki-Wise/gtk-2.0/gtkrc:126: Murrine configuration option "gradients" is no longer supported and will be ignored.
/home/issue/.gtkrc-2.0:1: error: unexpected string constant "xfdesktop-icon-view", expected character `='
/usr/share/themes/Shiki-Wise/gtk-2.0/gtkrc:126: Murrine configuration option "gradients" is no longer supported and will be ignored.
Traceback (most recent call last):
  File "./PNDstore", line 27, in <module>
    database_update.update_local()
  File "/mnt/utmp/pndstore/pndstore/database_update.py", line 441, in update_local
    update_local_file(libpnd.box_get_key(node))
  File "/mnt/utmp/pndstore/pndstore/database_update.py", line 267, in update_local_file
    pxml = etree.XML(pxml_buffer.value[:-6])
  File "<string>", line 85, in XML
SyntaxError: mismatched tag: line 31, column 4
[-------------------------------]{ App end }[----------------------------------]
 
That looks like another bad PND file. I've now changed the way it handles bad ones, so it won't make the whole thing crash; it'll just skip the bad one, print its path and error, and keep going. So you should now be able to get all the way through, but check the output afterwards to see what files are bad, and let me know.

I also added a tray icon so you know whether it's crashed or just slow.
 
Tempel said:
That looks like another bad PND file. I've now changed the way it handles bad ones, so it won't make the whole thing crash; it'll just skip the bad one, print its path and error, and keep going. So you should now be able to get all the way through, but check the output afterwards to see what files are bad, and let me know.
It would be nice if, after it checked for updates, it would give you a rundown of what it did (not in the output file, but in a window visible to the average user). For example:

1234.pnd has been updated to version xxx
5678.pnd has an error, and could not be checked for updates
 
Last edited by a moderator:
If updates are available, it will let you know and ask for confirmation to update. Listing ones that fail is a good idea too, but I'd first like to look at some of these bad ones and see if I can work around whatever problems they have. Of course, I can't work around every bad PND individually, so I'll have to add that feedback at some point.
 
maybe you should triage with the PND creators, Tempel.... efforts could lead to PND standardization efforts that work out for everybody. Then software like yours could have standards that others could build from if they want a different interface/design for their own version of your program and it would help significantly cut down on bad PNDs (be it by incorrect coding or general sloppiness where the PND works fine for the dev, but not many others)... This concept has probably already been mentioned/discussed, but I'd rather say something and repeat someone else than keep the idea to myself if it happens to not be out there yet. In the end, PNDstore is a package manager and PNDs are packages, so I'm essentially thinking like a "standard Linux user" with this.
 
here we go again
Code:
[------------------------------]{ App start }[---------------------------------]
/home/issue/.gtkrc-2.0:1: error: unexpected string constant "xfdesktop-icon-view", expected character `='
/usr/share/themes/Shiki-Wise/gtk-2.0/gtkrc:126: Murrine configuration option "gradients" is no longer supported and will be ignored.
/home/issue/.gtkrc-2.0:1: error: unexpected string constant "xfdesktop-icon-view", expected character `='
/usr/share/themes/Shiki-Wise/gtk-2.0/gtkrc:126: Murrine configuration option "gradients" is no longer supported and will be ignored.
/home/issue/.gtkrc-2.0:1: error: unexpected string constant "xfdesktop-icon-view", expected character `='
/usr/share/themes/Shiki-Wise/gtk-2.0/gtkrc:126: Murrine configuration option "gradients" is no longer supported and will be ignored.
/home/issue/.gtkrc-2.0:1: error: unexpected string constant "xfdesktop-icon-view", expected character `='
/usr/share/themes/Shiki-Wise/gtk-2.0/gtkrc:126: Murrine configuration option "gradients" is no longer supported and will be ignored.
/home/issue/.gtkrc-2.0:1: error: unexpected string constant "xfdesktop-icon-view", expected character `='
/usr/share/themes/Shiki-Wise/gtk-2.0/gtkrc:126: Murrine configuration option "gradients" is no longer supported and will be ignored.
Could not process /media/BIG/pandora/menu/snes9x4p_20110213.pnd mismatched tag: line 31, column 4
Could not process /media/BIG/pandora/menu/scummvm-op.pnd not well-formed (invalid token): line 16, column 37
Could not process /media/BIG/pandora/menu/lightweight2.pnd not well-formed (invalid token): line 6, column 108
Could not process /media/BIG/pandora/menu/Hexen2.pnd not well-formed (invalid token): line 7, column 96
Could not process /media/BIG/pandora/menu/frogatto.pnd not well-formed (invalid token): line 8, column 39
Could not process /media/BIG/pandora/menu/Chromium-Dev.pnd You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
[-------------------------------]{ App end }[----------------------------------]
It ran through fine this time, told me that i have an update for Hexagon and told me "Update completed" in the end
Btw, here is a list of all my pnds
Code:
kiwidora:/media/BIG/pandora/menu$ ls 
Chromium-Dev.pnd  PNDstore-0.1.pnd         firefox-4b10-0.pnd  gparted.pnd        numptyphysics-b2.pnd   transmission.pnd
Conky.pnd         PanPlayer.pnd            frogatto.pnd        gpfce-gp2x.pnd     pandorapanic.pnd       uae4all9.pnd
CorsixTH.pnd      PicoDrive_180_beta1.pnd  gemrb062.pnd        hexahop.pnd        pcsx_rearmed_r7.pnd    wesnoth-1.8.5-1.pnd
Dosbox74.pnd      audiorace-v1.5.pnd       ginge_pnd_r3.pnd    lightweight2.pnd   psx4pandora10b4.pnd    zquake.pnd
Fennec.pnd        bejeweled.pnd            gngeo_0.8b2.pnd     minitube.pnd       sandora-0.1.1.pnd
Hatari140a.pnd    dega-1.16-5.pnd          gnuboy.pnd          mupen64.pnd        scummvm-op.pnd
Hexen2.pnd        eduke32SDL.pnd           gpSP.pnd            mypaint-0.9.0.pnd  snes9x4p_20110213.pnd
kiwidora:/media/BIG/pandora/menu$

for example I know that r8 of pcsx_rearmed is available but PNDstore did not prompt for an update
 
I think I get your idea CPU, but I don't think rigorous validation is something for my software to do. There are PND standards, but they're not always followed exactly. Even libpnd is deliberately lenient on the standards because users just want to run software, not have it complain about minor errors.

Enforcing PND standards is really where milkshake's site comes in. The site will not allow developers to upload if the PND isn't up to standard. The site can get away with being rigid because only devs see the errors, and the devs can (and should) fix them. My program here needs to be lenient like libpnd, since it's for end users who don't care whether all PNDs they have are up to spec. So I have to make it fail gracefully rather than complain loudly. And to do that, I'll need to find a few examples of not-up-to-spec PNDs.
 
IsSuE: That's great! By "Hexagon", I'm guessing you mean Hex-A-Hop. I'm glad that updating is working properly. The killer bugs might finally be over!

And that listed of failed PNDs is larger than I thought. I'll look over them all soon.

Thanks once more for all your help.

EDIT: It didn't update PCSX because notaz hasn't uploaded it to milkshake's site. This app can only download and update from milkshake's site since his is the only one to implement the repository spec. As more devs start using milkshake's site, you'll be able to get automatic updates for more of your PNDs.
 
Tempel said:
IsSuE: That's great! By "Hexagon", I'm guessing you mean Hex-A-Hop. I'm glad that updating is working properly. The killer bugs might finally be over!

And that listed of failed PNDs is larger than I thought. I'll look over them all soon.

Thanks once more for all your help.
eww balls, sure i meant hex-a-hop :)
If you need any further testing done, I am eagerly waiting :)

edit: just read your edit; notaz newest version actually is in milkshakes repo
see here: http://repo.openpandora.org/?page=detail&app=package.pcsx_rearmed.notaz.r8
 
Last edited by a moderator:
hi

still can't get it to launch, and no output file in /tmp?

cheers
 
IsSuE said:
edit: just read your edit; notaz newest version actually is in milkshakes repo
see here: http://repo.openpandora.org/?page=detail&app=package.pcsx_rearmed.notaz.r8
Oh, you're right, and I see what the problem is. Every PND has package and application IDs, which is how this program knows which packages are which. When looking for updates, it checks the repository list for another package with the same ID but a newer version. The problem here is that package ID for PCSX is "package.pcsx_rearmed.notaz.r8". So notaz put the release number in the ID, which means that it has a different ID from the previous version. As a result, the updater has no idea that the two packages are related. Unfortunately, there's not much I can do about that; you'll just have to bug notaz to use a consistent ID scheme.

peelie: I don't know what to tell you! All I can suggest is to clear your browser cache or use a different browser, then download again. It's detected and appears in your menu/desktop, right? If it is, I know of no reason that it wouldn't at least produce an output file after running it.
 
Last edited by a moderator:
IsSuE said:
Tempel said:
IsSuE: That's great! By "Hexagon", I'm guessing you mean Hex-A-Hop. I'm glad that updating is working properly. The killer bugs might finally be over!

And that listed of failed PNDs is larger than I thought. I'll look over them all soon.

Thanks once more for all your help.
eww balls, sure i meant hex-a-hop :)
If you need any further testing done, I am eagerly waiting :)

edit: just read your edit; notaz newest version actually is in milkshakes repo
see here: http://repo.openpandora.org/?page=detail&app=package.pcsx_rearmed.notaz.r8
Looks like he made a separape page for r8. I think notaz wants people to have access to previous versions, not just the latest one, in case the latest one has some bugs. Does milkshake's repo allow the user or developer to choose between different versions of a program? If not, we might have a problem, if more devs decide to follow notaz's lead.

It would be a good thing to add to the repo, if it's not in there yet. Then your program, Tempel, could allow the option of downgrading as well as upgrading a program (to a previous version).
 
Last edited by a moderator:
Tempel said:
Oh, you're right, and I see what the problem is. Every PND has package and application IDs, which is how this program knows which packages are which. When looking for updates, it checks the repository list for another package with the same ID but a newer version. The problem here is that package ID for PCSX is "package.pcsx_rearmed.notaz.r8". So notaz put the release number in the ID, which means that it has a different ID from the previous version. As a result, the updater has no idea that the two packages are related. Unfortunately, there's not much I can do about that; you'll just have to bug notaz to use a consistent ID scheme.
I do that too. But when i'm doing this I keep the appdata directory the same. You might want to use that as id instead of the PND id that should be uniq on the pandora thuss have to change for every PND (even update) as per PXML spec.
 
Last edited by a moderator:
yep it appears under system.

do i need to go to milkshakes repo to use it?
 
sebt3 said:
I do that too. But when i'm doing this I keep the appdata directory the same. You might want to use that as id instead of the PND id that should be uniq on the pandora thuss have to change for every PND (even update) as per PXML spec.
Change application IDs if you must, but identifying package series is exactly what the package ID is for. From the PXML spec:
A good unique-id is the application name, developer name, and some key. The use of this ID is to allow repositories and package managers to differ between packages and recognize packages that require an update. So you should only update/change the ID of the package if you want an old one *not* replaced by the new/changed one.

libpnd doesn't even read the package element, so you can have multiple versions of a package without conflict, as long as each application field has a different ID. I hadn't considered a user wanting to have two versions of the same package, so it's not supported in my code, but it could be eventually.

Regarding the appdata, consider that every package can have multiple applications, each with different appdata directories, and that multiple applications from different packages can share appdatas. There's no clean way to make that work, which is why we added the package element to the PXML spec in the first place. Please use it as it was intended.

Esn: keeping old versions on hand would certainly be a cool feature for the site, but I have a feeling that would require some major recoding on milkshake's part since everything is indexed by package ID. But suggest it to him, and maybe it can appear in the future.

peelie: I don't know if I can help you :( . It works for other people, so if you're not even getting an output file, then maybe something is broken on your system. You don't have to go to milkshake's site to use it. All I can suggest is reflashing, but maybe someone who knows more about how PNDs run can help you.
 
Last edited by a moderator:
yes seems something broken on my system( which runns off sd) just tried with untouched system which runs off nand and the app seems to work.

only change between sdcard and nand system is sebt beta pnd script?
 
I sucessfully ran it after using the latest version. It updated gnuboy :D
But I wish it would give me some statistics... like how many pnds it found. How many are found on server and up to date or out of date. It's just very hard to tell if it's doing anything at all. (the icon helps though)
 
Another slightly improved version is up. The parsing failures reported by IsSuE should be fixed now, so you should see updates come in for snes9x and lightweight2 most likely. For the curious, the problem with Chromium was related to Unicode characters that I wasn't handling correctly, while all the others had invalid PXML (typically an unescaped &).

HackModford: Better output will be coming with a better interface :D It seems like the underlying code has stabilized, so I can get to that soon I hope.
 
Back
Top