Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 52304 - New ebuild: app-misc/dataworkshop - binary file editor
Summary: New ebuild: app-misc/dataworkshop - binary file editor
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Default Assignee for New Packages
URL:
Whiteboard:
Keywords: EBUILD
Depends on:
Blocks:
 
Reported: 2004-05-28 15:20 UTC by CJ Kucera
Modified: 2007-02-03 13:50 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
dataworkshop-1.1.ebuild (dataworkshop-1.1.ebuild,753 bytes, text/plain)
2004-05-28 15:24 UTC, CJ Kucera
Details
dataworkshop (wrapper script) (dataworkshop,319 bytes, text/plain)
2004-05-28 15:32 UTC, CJ Kucera
Details
LICENSE (LICENSE,987 bytes, text/plain)
2004-05-28 15:36 UTC, CJ Kucera
Details

Note You need to log in before you can comment on or make changes to this bug.
Description CJ Kucera 2004-05-28 15:20:31 UTC
From the website:

----------------------------
DataWorkshop is an editor to view and modify binary data. The editor provides different views which can be used to edit, analyze and export the binary data.
A simple hex view can be used to simulate a standard hexeditor but more complex dynamic views are possible to comfortable edit binary structure like executables or captured network traffic.
The editor provides powerful search and diff functionality and user defined transformations to modify the binary data.
Views can be filtered using the XPath query language (e.g. selecting several IP packets in a network traffic capture file)
Views can be exported as in various formats for further processing. This can be used to convert old binary formats into modern xml tagged data.
----------------------------

It's a pretty groovy app.  There's a couple of weird things about how it works and how the ebuild is put together, which I'll describe momentarily as I attach files.

Reproducible: Always
Steps to Reproduce:
Comment 1 CJ Kucera 2004-05-28 15:24:33 UTC
Created attachment 32219 [details]
dataworkshop-1.1.ebuild

Here's the ebuild.  Some things to note:

1) There's no LICENSE specified.  That's because they've got a rather freeform
"Freeware" license specified on the site which, being homebrew, isn't available
in /usr/portage/licenses.  I'll attach a text version of the license they use
momentarily.

2) No src_compile...  This is a binary Java app, which'll be going into /opt,
so there's nothing there.

3) The program expects its entire tree, including docs, to be present at the
level where the main Jar file is, so in addition to "dodoc"ing and "dohtml"ing
the docs, they're also present under the installation root.  (Obviously feel
free to change at will)

4) There's a wrapper script there, which'll essentially execute "java -jar
DataWorkshop.jar."  There are some other issues going on there, but I'll get to
those as soon as I attach the wrapper script itself.
Comment 2 CJ Kucera 2004-05-28 15:32:38 UTC
Created attachment 32220 [details]
dataworkshop (wrapper script)

Here's the "dataworkshop" script which'll theoretically live in /usr/bin.  It's
a bit funky, you'll probably end up completely changing it around, but this one
works at least.

Some things to note about how the program runs:

1) As far as I can tell, you *have* to run the program from the same dir as
DataWorkshop.jar.  It seems to try to open files directly, so simply adding in
/opt/DataWorkshop (or /opt/DataWorkshop/DataWorkshop.jar) to $CLASSPATH doesn't
seem to do anything.  This brings us to the second point:

2) The program stores its XML preferences files in the same dir it was started
under.	This means that we can't just run the java command from
/opt/DataWorkshop, because your average user isn't going to have write
permission to that directory.  So, the way I solved that problem was to create
a ~/.DataWorkshop and then symlink everything over so that there was a little
sandbox to play with.

Now, the weirdest part of all this:

3) You'll note I create a .javaSystemRoot dir under .DataWorkshop, and then
reference it with a -Djava.util.prefs.systemRoot setting.  The reason why is
thus described in more detail that I'd be able to muster:
  http://www.allaboutbalance.com/disableprefs/index.html
Essentially, due to some weirdness in Java 1.4, anyone attempting to run this
app on their Linux/Unix/Whatever machines will end up with the process trying
to write files into /etc/.java, despite the fact that this app doesn't even use
that preferences system to store its preferences (it uses the XML files stored
at the base dir).  The website listed several possibilities for dealing with
this behavior, and I felt that simply redefining the system dir to something
under ~/.DataWorkshop was an acceptable solution since the app doesn't even use
that framework.

So that's what that's all about.
Comment 3 CJ Kucera 2004-05-28 15:36:10 UTC
Created attachment 32221 [details]
LICENSE

This is the license, available on the website or in about.html in the included
docs/ directory.  Nothing special here.
Comment 4 CJ Kucera 2004-05-28 15:46:14 UTC
One other thing, if you're testing this out for usability and notice that there's some funky stuff going on with saving preferences (NullPointer errors and miscellaneous SAX reader errors), that seems to be a bug in the software itself, and doesn't have anything to do with the symlink sandbox I had set up.  I've seen the same problems on an ordinary just-unzipped-and-running-it-with-write-permissions-and-everything install.

Obviously I think the program's cool enough to warrant me slogging through all this stuff to get it ebuilded, though.  :)  Anyway, there it is.
Comment 5 CJ Kucera 2005-07-01 07:46:38 UTC
Looks like there's a 1.1.1 version of this which is under a more usual
opensource license.  I'll take a look at it later today and bring the ebuild up
to date.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2007-02-03 13:50:42 UTC
We are not adding binary java stuff to the tree any more. Feel free to reopen with a source ebuild if the thing is still alive upstream.

WONTFIX.