Missing pack3d, pdeploy, ppackage, pmerge and ppatcher

Hi,

I am using the latest panda3d sdk (ubuntu 64 bits), now compiled from sources. I found tha packpanda utility, but the manual has a long description of other utilities used for packing and deploying applications. However, I was unable to find them. These are the utilities I am referring to:

packp3d, pdeploy, ppackage, pmerge, ppatcher.

From what I could understand, the packpanda is a great easy-to-use utility that permits to build an installer for specific platforms.

The packp3d and pdeploy, together with ppackage, pmerge and ppatcher seem to offer a variety of ways to pack, deploy and follow the deployment of patches of an application. pdeploy also seem to be cross-OS according to what I understood from the manual.

Where can I find these utilities? And, did I understand correctly that with pdeploy, ppatcher and ppackage you can achieve a more advanced degree of control over the produced packages than you can get with packpanda?

Thanks in advance

The tools are themselves .p3d files and are only included in official SDK releases. They can be downloaded from here:
runtime.panda3d.org/

packpanda is deprecated, and is indeed limited in use.

Oook, thanks!

Mmm ok, where should I place them? Because I get an error and I am not sure how it works.

I put the files in the parent directory of the application and called them with panda3d. They seem to work and download staff. Then an error occurr. I could not find anything similar on the forum.

$ panda3d ../packp3d.p3d -o myTest.p3d
:AppRunner: Total Panda3D disk space used: 210 MB
:AppRunner: Configured max usage is: 2048 MB
:Packager(warning): No such file: /home/parisia/workdir/p3dapp/p3d_info.xml
Traceback (most recent call last):
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 424, in __taskChainDispatch
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 482, in __dispatch
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/p3d/AppRunner.py", line 748, in __startIfReady
  File "VFSImporter", line 153, in load_module
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/packp3d.py", line 225, in <module>
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/packp3d.py", line 215, in makePackedApp
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/Packager.py", line 2744, in endPackage
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/Packager.py", line 444, in close
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/Packager.py", line 546, in installMultifile
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showutil/FreezeTool.py", line 869, in done
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showutil/FreezeTool.py", line 959, in __loadModule
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showutil/FreezeTool.py", line 1411, in load_module
  File "/usr/local/lib/python2.7/modulefinder.py", line 305, in load_module
  File "/usr/local/lib/python2.7/modulefinder.py", line 414, in scan_code
  File "/usr/local/lib/python2.7/modulefinder.py", line 323, in _safe_import_hook
  File "/usr/local/lib/python2.7/modulefinder.py", line 125, in import_hook
  File "/usr/local/lib/python2.7/modulefinder.py", line 162, in determine_parent
KeyError: 'test'
:task(error): Exception occurred in PythonTask Messenger-default
Traceback (most recent call last):
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/p3d/AppRunner.py", line 638, in run
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/task/Task.py", line 502, in run
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/task/Task.py", line 460, in step
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 424, in __taskChainDispatch
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showbase/Messenger.py", line 482, in __dispatch
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/p3d/AppRunner.py", line 748, in __startIfReady
  File "VFSImporter", line 153, in load_module
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/packp3d.py", line 225, in <module>
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/packp3d.py", line 215, in makePackedApp
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/Packager.py", line 2744, in endPackage
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/Packager.py", line 444, in close
  File "/Users/buildbot/slave/release_rtdist_osx/build/panda3d/built_cmu/direct/p3d/Packager.py", line 546, in installMultifile
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showutil/FreezeTool.py", line 869, in done
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showutil/FreezeTool.py", line 959, in __loadModule
  File "/home/buildbot/slave/release_rtdist_linux_amd64/build/panda3d/built_cmu/direct/showutil/FreezeTool.py", line 1411, in load_module
  File "/usr/local/lib/python2.7/modulefinder.py", line 305, in load_module
  File "/usr/local/lib/python2.7/modulefinder.py", line 414, in scan_code
  File "/usr/local/lib/python2.7/modulefinder.py", line 323, in _safe_import_hook
  File "/usr/local/lib/python2.7/modulefinder.py", line 125, in import_hook
  File "/usr/local/lib/python2.7/modulefinder.py", line 162, in determine_parent
KeyError: 'test'
Successfully joined thread: 0
Failure on startup.

It doesn’t matter where you place them; it looks like you are invoking them correctly. (You can also chmod +x them, remove the .p3d extension and put them on your PATH, since they are executable directly.)

However, there is a bug in the 1.8 version of those tools that happens with certain directory structures. Do you happen to have a “test” directory with Python files but without an init.py? It might be better to move it out of the way if packp3d has an issue with it.

Aaaahhh I see, ok! Sure, the ‘test’ directory is not a package. Moved out of the way and it works!
Thanks!