Bug 30594

Summary: doesn't support .deb with .tar.xz
Product: Sisyphus Reporter: Ivan Zakharyaschev <imz>
Component: alienAssignee: Vitaly Lipatov <lav>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: cas, lav, ruslandh
Version: unstable   
Hardware: all   
OS: Linux   
URL: http://ftp.de.debian.org/debian/pool/main/n/noweb/noweb_2.11b-8_i386.deb

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