Re: Looking for pointers how to set up lzma stream using xz-devel

2010-01-05 Thread Bruno Wolff III
On Mon, Jan 04, 2010 at 13:37:17 -0800,
  John Reiser jrei...@bitwagon.com wrote:
 On 01/04/2010 10:18 AM, Bruno Wolff III wrote:
 On Mon, Jan 04, 2010 at 07:57:54 -0600,
Jon Cieslal...@jcomserv.net  wrote:
 I've actually come across this WRT UPX as well.
 
 https://bugzilla.redhat.com/show_bug.cgi?id=501636
 
 It seemed odd that the debian bug for this claimed that source from the SDK
 was needed. Presumably an appropriate library would work.  ...
 
 https://bugzilla.redhat.com/show_bug.cgi?id=501636#c6
 UPX cannot use a library, UPX must use source.  UPX requires total control
 during decompression (no malloc() allowed, etc.) and so far the library
 writers have not catered to such a restricted environment, AFAICT.

The alloc function in the LZMA SDK allows you to pass it a pointer to
your own allocater function. (I don't know whether or not the xz library works
like that.) Would that be enough for UPX?

-- 
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list


Re: Looking for pointers how to set up lzma stream using xz-devel

2010-01-04 Thread Jon Ciesla

Bruno Wolff III wrote:

I am working on getting squashfs-tools 4.1 in rawhide. It has wrapper
functions that are set up to use streaming compression/uncompression
from the LZMA SDK 4.65 library.

Currently the LZMA SDK 4.32 library is in Fedora, but is no longer supported
upstream and is not compatible with 4.65.

I think the xz-devel and xz-libs packages support a 4.65 compatible format
using the LZMA1 filter, but I am having trouble figuring out how to use
this library.

I don't think packaging the LZMA SDK 4.65 library is a good option. It would
be a third library doing essentially the same thing and would potentially
be confused with the 4.32 library that currently is used by some legacy lzma
tools that should probably eventually go away as xz provides the same
functions.

So far I have been looking through the include files, but they really aren't
organized in a way that makes figuring out what you need to do easy.
I haven't found any good API documentation yet. The xz source README says
there isn't any, but that it is a lot like zlib.

Possibly looking at the the code for the tools in the xz package will help.

I was hoping someone could point me to either some good documentation or some
good sample code to look at.

  

I've actually come across this WRT UPX as well.

https://bugzilla.redhat.com/show_bug.cgi?id=501636

From what I can tell. . .we may be stuck unless someone wants to write 
some docs.


-J

--
in your fear, seek only peace
in your fear, seek only love

-d. bowie

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list


Re: Looking for pointers how to set up lzma stream using xz-devel

2010-01-04 Thread Bruno Wolff III
On Mon, Jan 04, 2010 at 07:57:54 -0600,
  Jon Ciesla l...@jcomserv.net wrote:
 I've actually come across this WRT UPX as well.
 
 https://bugzilla.redhat.com/show_bug.cgi?id=501636
 
 From what I can tell. . .we may be stuck unless someone wants to
 write some docs.

I am going to get squashfs-tools working with lzma eventually. I am just hoping
it would be easier rather than harder.

Note that waiting for the lzma library isn't going to work. We need to either
package the SDK or switch to using xz. The lzma library is no longer being
developed upstream. (And is based on a version of the SDK that is too old
to be easily used in squashfs-tools.)

It looks like using xz will be a bit work setting up an equivalent wrapper
for squashfs-tools, but will avoid packaging a third version of lzma in
Fedora. The main issue for me is understanding what needs to be done. The
amount of code needed should be under 100 lines.

If other things in Fedora also need something need more lzma support, then it's
probably worth figuring out if we can use the same solution.

It seemed odd that the debian bug for this claimed that source from the SDK
was needed. Presumably an appropriate library would work. It may be that
lzma-devel here is different from what debian has. I didn't look at it too
carefully after seeing it was based on an old and incompatible version of the
SDK that I need for squashfs-tools and that upstream switched to xz.

I suspect that packaging the SDK without the extra lmza utils wouldn't be
too bad. We can probably drop those now that xz is packaged. I haven't looked
at this carefully though.

-- 
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list


Re: Looking for pointers how to set up lzma stream using xz-devel

2010-01-04 Thread John Reiser

On 01/04/2010 10:18 AM, Bruno Wolff III wrote:

On Mon, Jan 04, 2010 at 07:57:54 -0600,
   Jon Cieslal...@jcomserv.net  wrote:

I've actually come across this WRT UPX as well.

https://bugzilla.redhat.com/show_bug.cgi?id=501636



It seemed odd that the debian bug for this claimed that source from the SDK
was needed. Presumably an appropriate library would work.  ...


https://bugzilla.redhat.com/show_bug.cgi?id=501636#c6
UPX cannot use a library, UPX must use source.  UPX requires total control
during decompression (no malloc() allowed, etc.) and so far the library
writers have not catered to such a restricted environment, AFAICT.

--

--
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list


Looking for pointers how to set up lzma stream using xz-devel

2010-01-02 Thread Bruno Wolff III
I am working on getting squashfs-tools 4.1 in rawhide. It has wrapper
functions that are set up to use streaming compression/uncompression
from the LZMA SDK 4.65 library.

Currently the LZMA SDK 4.32 library is in Fedora, but is no longer supported
upstream and is not compatible with 4.65.

I think the xz-devel and xz-libs packages support a 4.65 compatible format
using the LZMA1 filter, but I am having trouble figuring out how to use
this library.

I don't think packaging the LZMA SDK 4.65 library is a good option. It would
be a third library doing essentially the same thing and would potentially
be confused with the 4.32 library that currently is used by some legacy lzma
tools that should probably eventually go away as xz provides the same
functions.

So far I have been looking through the include files, but they really aren't
organized in a way that makes figuring out what you need to do easy.
I haven't found any good API documentation yet. The xz source README says
there isn't any, but that it is a lot like zlib.

Possibly looking at the the code for the tools in the xz package will help.

I was hoping someone could point me to either some good documentation or some
good sample code to look at.

-- 
fedora-devel-list mailing list
fedora-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-list