This program should not be SUID root. If you need it's services, just
run
sudo dtprintinfo -populate
TODO: dtprintinfo should only create it's actions (if ever) in a
user's .dt/types/ directory and not in any system-wide dirs. No need
for root access at all.
Localization seems to work. The main help viewer dies though. Other
parts of help seem to work. Index causes a crash too.
Crash:
*** Error in `/usr/dt/bin/dthelpview': malloc(): memory corruption (fast): 0x00000000021fefb0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f61814917e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x82651)[0x7f618149c651]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x54)[0x7f618149e184]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(+0xc2ab)[0x7f617f71d2ab]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(+0x9ed1)[0x7f617f71aed1]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(+0xa31d)[0x7f617f71b31d]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(xcb_writev+0x45)[0x7f617f71b3a5]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XSend+0x19e)[0x7f6181b2a54e]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XReply+0x82)[0x7f6181b2aa42]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XSync+0x4d)[0x7f6181b2652d]
/usr/lib/x86_64-linux-gnu/libXm.so.4(XmUpdateDisplay+0x49)[0x7f61821c1d89]
/usr/dt/lib/libDtHelp.so.2(+0x2cf1d)[0x7f6182ae8f1d]
/usr/dt/lib/libDtHelp.so.2(+0x2d66d)[0x7f6182ae966d]
/usr/dt/lib/libDtHelp.so.2(_DtHelpGlobSrchDisplayDialog+0x2205)[0x7f6182aebca5]
/usr/dt/lib/libDtHelp.so.2(_DtHelpDisplayIndexCB+0x26)[0x7f6182af07e6]
/usr/lib/x86_64-linux-gnu/libXm.so.4(+0xde9d5)[0x7f618216e9d5]
/usr/lib/x86_64-linux-gnu/libXm.so.4(+0xdf0c5)[0x7f618216f0c5]
/usr/lib/x86_64-linux-gnu/libXm.so.4(_XmDispatchGadgetInput+0x113)[0x7f6182140683]
/usr/lib/x86_64-linux-gnu/libXm.so.4(_XmGadgetActivate+0x22)[0x7f61821ef0b2]
/usr/lib/x86_64-linux-gnu/libXt.so.6(+0x48965)[0x7f6181e6f965]
/usr/lib/x86_64-linux-gnu/libXt.so.6(_XtTranslateEvent+0x31a)[0x7f6181e7090a]
/usr/lib/x86_64-linux-gnu/libXt.so.6(XtDispatchEventToWidget+0x4cb)[0x7f6181e4921b]
/usr/lib/x86_64-linux-gnu/libXt.so.6(+0x228dd)[0x7f6181e498dd]
/usr/lib/x86_64-linux-gnu/libXt.so.6(XtDispatchEvent+0xc9)[0x7f6181e499b9]
/usr/lib/x86_64-linux-gnu/libXt.so.6(XtAppProcessEvent+0x1d7)[0x7f6181e555d7]
/usr/lib/x86_64-linux-gnu/libXt.so.6(XtAppMainLoop+0x2d)[0x7f6181e49d9d]
/usr/dt/bin/dthelpview[0x401b77]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f618143a830]
/usr/dt/bin/dthelpview[0x401c89]
In addition:
- moved video type detection into a separate file: videoTypes.dt out
of datatypes.dt. Also, removed all actions from Antonis' dt files,
as these are handled by the new actions (listed below).
Image, postscript, and PDF types definitions are still located in
datatypes.dt.src
- supports most image files, PDFs, postscript files, and video files
via dtapp now.
- Added new actions:
- DisplayImage
- DisplayVideo
- DisplayPDF
- DisplayPS
All of these call the dtapp_* helpers to locate an appropriate
program to handle the task.
- Added a camera icon
- standardized the icons used to display the various types - all
images use the Dtimage icon now, as an example.
- moved the new *.dt files to their proper place in programs/types,
rather than programs/localized/C/types (my bad).
Please add any further video types into videoTypes.dt, and everything
else (for now) into datatypes.dt.
In the future, we should probably separate these out into
type-specific .dt files. Also, something should be done about playing
audio files too (maybe DisplayVideo.dt can handle all those too?)
This script is located in /usr/dt/bin/dtapp, and is then symlinked to
various helpers that can be used in DT actions to run programs.
The various helpers currently installed are:
dtapp_vimage - view an image file, override with DTAPP_VIMAGE.
Defaults to xv, display, and gimp, in that order.
dtapp_vpdf - view a PDF file, override with DTAPP_VPDF. Defaults to
okular, xpdf
dtapp_vps - view a postscript file, override with DTAPP_VPS. Defaults
to mgv, gv
dtapp_vvideo - view a video file, override with DTAPP_VVIDEO.
Defaults to vlc, ffplay.
When a request is made to view one of these files, the list of viewers
will be tried, in order, until one is found. If none are found, an
error message will be displayed. Add overrides to your ~/.dtprofile
file.
We can add more dtapp commands and defaults for them as needed.
This is in preparation for integrating Antonis Tsolomitis' extended
actions and icon files, coming up in future commits.
This software has a variety of problems, like including renamed X11
header files, and other nuttery.
These programs also have a very limited use, I doubt most people even
know what they are for or will miss them.
This commit prevents them from being built and installed. If no-one
volunteers to get these into decent shape after the next release, they
will be removed from the repository.
The symbol hp-ux is used to tag files for installation on HP machines
in the UDB databases. To ensure the correct release streams are
defined, these symbols (hp-ux, linux, freebsd, etc) are undef'd so
that they are not evaluated in the context of db file generation by
the preprocessor.
A change in the FreeBSD 10 patch disabled this, possibly due to
'hp-ux' being an invalid cpp symbol on FreeBSD 10 machines, which now
use clang by default.
Undefining these cpp symbols is actually required, otherwise linux,
for example, is defined as a '1' in the generated databases, which
will not match the release stream name 'linux', therefore all of the
files tagged as 'linux' are never installed.
To fix this, revert the change made in the FreeBSD 10 patch, and
rename all occurances of 'hp-ux' to 'hpux' in the UDB files to avoid
the potential for cpp trouble when hp-ux is specified.
As a result of this change, 'hpux' is now the name of the release
stream for hp machines, not 'hp-ux'.