Bug 30594 - doesn't support .deb with .tar.xz
Summary: doesn't support .deb with .tar.xz
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: alien (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL: http://ftp.de.debian.org/debian/pool/...
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-23 17:29 MSK by Ivan Zakharyaschev
Modified: 2017-08-06 23:41 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2014-12-23 17:29:20 MSK
alien-8.86-alt3

$ alien -r ../deb/noweb_2.11b-8_i386.deb 
Warning: alien is not running as root!
Warning: Ownerships of files in the generated packages will probably be wrong.
в архиве нет пункта data.tar.gz

gzip: stdin: unexpected end of file
tar: Это не похоже на tar-архив
tar: Завершение работы с состоянием неисправности с из-за возникших ошибок
Error executing "ar -p '../deb/noweb_2.11b-8_i386.deb' data.tar.gz | gzip -dc | tar tf -":  at /usr/share/perl5/Alien/Package.pm line 481.
$ 

What's inside noweb_2.11b-8_i386.deb :

   Mode    User/Group   Size        Date       Filename
--------- -----/-----  ------ ---------------- ----------------
rw-r--r--     0/0           4 2014-09-12 21:02 debian-binary
rw-r--r--     0/0        4074 2014-09-12 21:02 control.tar.gz
rw-r--r--     0/0      663012 2014-09-12 21:02 data.tar.xz
--------- -----/-----  ------ ---------------- ----------------

So the problem is unsupported .tar.xz
Comment 1 Ivan Zakharyaschev 2014-12-23 17:31:32 MSK
It was a package from Debian: http://ftp.de.debian.org/debian/pool/main/n/noweb/noweb_2.11b-8_i386.deb .
Comment 2 Vitaly Lipatov 2017-08-06 22:52:12 MSK
В слабенькй апстрим кто-то смог сообщить о проблеме на форум.
Завёл им тикет, может, увидят и сделают:
https://sourceforge.net/p/alien-pkg-convert/tickets/2/

Вот проблемные куски кода. Если кто-то поможет переписать, я готов принять отправить патч.
<------><------>@filelist=map { chomp; s:\./::; "/$_" }
<------><------><------>  $this->runpipe(0, "ar -p '$file' data.tar.gz | gzip -dc | tar tf -");

<------><------>$this->do("ar -p $file data.tar.gz | gzip -dc | (cd ".$this->unpacked_tree."; tar xpf -)")
<------><------><------>or die "Unpacking of '$file' failed: $!";
Comment 3 Vitaly Lipatov 2017-08-06 23:19:34 MSK
Отправил сборку с неким хаком на тему tar.gz/tar.xz
https://github.com/vitlav/alien/commit/6075900fa4daa6f6c7690115ea92c2d29e49b34d

Но вообще всё просто: вы должны установить пакет dpkg — тогда будет используется dpkg-deb -x для распаковки, поддерживающий новый формат.
Comment 4 Vitaly Lipatov 2017-08-06 23:41:26 MSK
Хак был с ошибкой. Исправил.

https://github.com/vitlav/alien/commit/9f3b62e3e11c6d146daab87cbca4863536759b73#diff-b4d5eaa4a02ecb2ec3281f5197162cdd