Hi. Altlinux uses rpm files which are packed with lzma. For example download[1] src.rpm and try to rpm2targz it - that fail. I've found inside lzma-4.32.7.tar.bz2 code to check if that's lzma archive:
int find_lzma_header(unsigned char *buf) { return (buf[0] < 0xE1 && buf[0] == 0x5d && buf[4] < 0x20 && (memcmp (buf + 10 , "\x00\x00\x00", 3) == 0 || (memcmp (buf + 5, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 8) == 0))); }
and patched rpmoffset.c to check for lzma too (patch follows). Now it works, but it makes code not such nice as it was before... Patch follows.
[1] http://sisyphus.ru/ru/srpm/Sisyphus/man-pages-ru/get [2] lzma-4.32.7/extra/scanlzma/scanlzma.c
Hi. Altlinux uses rpm files which are packed with lzma. For example download[1] src.rpm and try to rpm2targz it - that fail. I've found inside lzma-4.32.7.tar.bz2 code to check if that's lzma archive:
int find_lzma_ header( unsigned char *buf) { xFF\xFF\ xFF\xFF\ xFF\xFF" , 8) == 0)));
return (buf[0] < 0xE1
&& buf[0] == 0x5d
&& buf[4] < 0x20
&& (memcmp (buf + 10 , "\x00\x00\x00", 3) == 0
|| (memcmp (buf + 5, "\xFF\xFF\
}
and patched rpmoffset.c to check for lzma too (patch follows). Now it works, but it makes code not such nice as it was before... Patch follows.
[1] http:// sisyphus. ru/ru/srpm/ Sisyphus/ man-pages- ru/get 32.7/extra/ scanlzma/ scanlzma. c
[2] lzma-4.